Ir para o conteúdo do rodapé
USANDO O IRONPDF FOR JAVA

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java

Este tutorial explicará como criar arquivos PDF dinamicamente em aplicações Java e explorará exemplos de código para criar páginas PDF a partir de texto, URLs e páginas HTML. Em seguida, abordaremos a criação de um arquivo PDF protegido por senha a partir de uma nova instância de documento.

A biblioteca IronPDF for Java é ideal para essa finalidade porque é gratuita para desenvolvimento, mais segura, fornece todas as funcionalidades em uma única biblioteca com 100% de precisão e tem um desempenho excepcional.

Antes de prosseguirmos, vamos fazer uma breve introdução ao IronPDF.

IronPDF

A biblioteca Java IronPDF é a biblioteca Java para PDF mais popular, desenvolvida pela Iron Software , para criar PDFs, editar novos arquivos e manipular PDFs existentes. Ele foi projetado para ser compatível com uma ampla gama de linguagens JVM, incluindo Java, Scala e Kotlin, e pode ser executado em uma ampla variedade de plataformas, incluindo Windows, Linux, Docker, Azure e AWS. O IronPDF funciona com IDEs populares como o IntelliJ IDEA e o Eclipse.

As principais funcionalidades incluem a capacidade de criar um arquivo PDF a partir de documentos HTML , HTTP, JavaScript, CSS, XML e vários formatos de imagem. Além disso, o IronPDF oferece a possibilidade de adicionar cabeçalhos e rodapés , criar tabelas em PDF , adicionar assinaturas digitais , anexos, implementar senhas e recursos de segurança . Ele oferece suporte completo a multithreading e muito mais !

Vamos começar com os exemplos de código para criar documentos dinâmicos.

Primeiramente, crie um novo projeto de repositório Maven.

Criar um novo projeto Java

Para fins de demonstração, este tutorial usará o IntelliJ IDE. Você pode usar o IDE de sua preferência. Os passos para criar um novo projeto Java podem variar de um IDE para outro. Siga os passos abaixo:

  1. Inicie o IntelliJ IDE.
  2. Selecione Arquivo > Novo > Projeto .
  3. Insira o título do projeto.
  4. Escolha uma localização, um idioma, um sistema de compilação e um JDK.
  5. Clique no botão Criar .

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 1: Criar um projeto Criar um projeto

Dê um nome ao seu projeto, escolha uma localização, um idioma, um sistema de compilação e um JDK e, em seguida, selecione a opção do botão Criar . Um novo projeto será criado.

Agora, instale o IronPDF nesta aplicação Java de demonstração.

Instale a biblioteca Java IronPDF.

O próximo passo é adicionar uma dependência no arquivo pom.xml para instalar o IronPDF. Adicione o seguinte código-fonte XML no arquivo pom.xml conforme mostrado abaixo.


<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>INSERT_LATEST_VERSION_HERE</version>
</dependency>

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
XML

Substitua INSERT_LATEST_VERSION_HERE pela versão mais recente do IronPDF do repositório Maven .

Após adicionar a dependência, compile o projeto. O aplicativo instalará automaticamente a biblioteca a partir do repositório Maven.

Vamos começar com um exemplo simples de conversão de uma string HTML em um arquivo PDF.

Criar documentos PDF

Considere o seguinte exemplo:

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class HtmlToPdfExample {

    public static void main(String[] args) {
        // Define HTML content
        String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";

        // Convert HTML content to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("myPDF.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;

public class HtmlToPdfExample {

    public static void main(String[] args) {
        // Define HTML content
        String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";

        // Convert HTML content to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("myPDF.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA

Na função acima, o conteúdo HTML é atribuído a uma variável de string. O método renderHtmlAsPdf recebe uma string como argumento e converte o conteúdo HTML em uma instância de documento PDF. O [método saveAs](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.nio.file.Path) aceita o caminho do local como entrada e salva a instância do arquivo PDF no diretório selecionado.

O PDF gerado pelo código mencionado é mostrado abaixo.

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 2: Saída Saída

Gerar arquivo PDF a partir de arquivo HTML

O IronPDF também oferece a incrível funcionalidade de gerar arquivos PDF a partir de arquivos HTML.

O arquivo HTML de exemplo que será usado no exemplo é mostrado abaixo.

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 3: HTML renderizado com novo parágrafo HTML renderizado com novo parágrafo

Segue abaixo um exemplo de trecho de código para gerar PDFs:

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class HtmlFileToPdfExample {

    public static void main(String[] args) {
        // Convert HTML file to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("myPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class HtmlFileToPdfExample {

    public static void main(String[] args) {
        // Convert HTML file to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("myPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA

O [método renderHtmlFileAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String) aceita o caminho para o arquivo HTML como argumento e gera um documento PDF a partir do arquivo HTML. Este arquivo PDF é posteriormente salvo em uma unidade local usando o método saveAs.

O documento gerado por este programa em formato PDF é mostrado abaixo.

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 4: Saída em PDF Saída em PDF

O próximo passo é usar um documento HTML de tamanho considerável que contenha JavaScript e CSS e verificar a precisão e a consistência do design ao converter o HTML em PDF.

Gere arquivos PDF a partir de arquivos HTML.

A seguinte página HTML de exemplo será utilizada e inclui imagens, animações, estilos, jQuery e Bootstrap.

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 5: Exemplo de página HTML Página HTML de exemplo

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 6: Exemplo de HTML Exemplo de HTML

O documento HTML de exemplo mostra que possui formatação extensa e inclui elementos gráficos. Este arquivo HTML será convertido em um documento PDF, e a precisão do conteúdo e do estilo será avaliada.

Será utilizada a mesma linha de código do exemplo acima.

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class StyledHtmlToPdfExample {

    public static void main(String[] args) {
        // Convert HTML file with styling to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("styledPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class StyledHtmlToPdfExample {

    public static void main(String[] args) {
        // Convert HTML file with styling to PDF
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("styledPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA

O exemplo anterior já inclui uma explicação do código. O resto permanece inalterado;

Este é o arquivo PDF gerado:

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 7: HTML para PDF HTML para PDF

Usar o IronPDF para criar arquivos PDF é bastante simples. O formato e o conteúdo do documento original são consistentes.

Uma URL também pode ser usada para criar um arquivo PDF.

Converter URL em documento PDF

O exemplo de código a seguir irá gerar um arquivo PDF a partir de uma URL.

import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class UrlToPdfExample {

    public static void main(String[] args) {
        // Convert URL to PDF
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("urlPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;

public class UrlToPdfExample {

    public static void main(String[] args) {
        // Convert URL to PDF
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");

        // Save the PdfDocument to a file
        try {
            myPdf.saveAs("urlPDF.pdf");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA

A função renderUrlAsPdf aceita uma URL como argumento e a converte em um documento PDF. Este documento PDF é posteriormente salvo em uma unidade local usando a função saveAs.

Segue abaixo o PDF gerado:

Como gerar arquivos PDF dinamicamente a partir de aplicativos Java, Figura 8: PDF de saída PDF de saída

Também é possível adicionar marca d'água, cabeçalho, rodapé, assinatura digital, converter arquivos XML/páginas JSP e muito mais.

O próximo passo é gerar PDFs protegidos por senha.

Gerar arquivo PDF protegido por senha

O código de exemplo a seguir demonstra como adicionar segurança ao arquivo PDF gerado.

import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;

public class SecurePdfExample {

    public static void main(String[] args) {
        // Load an existing PDF document
        PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));

        // Configure security options
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
        securityOptions.setAllowUserAnnotations(false);
        securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
        securityOptions.setAllowUserFormData(false);
        securityOptions.setOwnerPassword("123456"); // Set owner password
        securityOptions.setUserPassword("123412"); // Set user password

        // Apply security options to the PDF document
        myPdf.applySecurity(securityOptions);

        // Save the secured PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("securedPDF.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;

public class SecurePdfExample {

    public static void main(String[] args) {
        // Load an existing PDF document
        PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));

        // Configure security options
        SecurityOptions securityOptions = new SecurityOptions();
        securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
        securityOptions.setAllowUserAnnotations(false);
        securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
        securityOptions.setAllowUserFormData(false);
        securityOptions.setOwnerPassword("123456"); // Set owner password
        securityOptions.setUserPassword("123412"); // Set user password

        // Apply security options to the PDF document
        myPdf.applySecurity(securityOptions);

        // Save the secured PdfDocument to a file
        try {
            myPdf.saveAs(Paths.get("securedPDF.pdf"));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
JAVA

O código acima torna o arquivo PDF somente leitura, e edições ou alinhamento de parágrafos não são permitidos. O documento também está com a impressão restrita, garantindo que não possa ser impresso. Uma senha também foi definida. O arquivo agora está muito seguro. Dessa forma, é possível definir diferentes permissões de arquivo e gerar saídas dinâmicas usando o IronPDF.

Resumo

Este tutorial demonstrou como gerar arquivos PDF. Um arquivo PDF foi criado a partir de uma string HTML, um arquivo HTML e uma URL, com exemplos que variam de simples a complexos. Muitas outras funcionalidades úteis estão disponíveis, como adicionar marca d'água, rodapé, cabeçalho, cor de primeiro plano, mesclar e dividir páginas, etc. Não é possível abordá-las todas aqui; Visite a documentação oficial do IronPDF para obter mais informações.

A conversão de HTML para PDF tornou-se muito fácil com o IronPDF. O HTML foi convertido para PDF com apenas uma linha de código. Algumas medidas de segurança também foram adicionadas ao arquivo PDF. Ele é mais rápido, mais preciso e mais seguro. Cada PDF gerado inclui a marca d'água IronPDF . Isso ocorre porque está sendo usada uma versão de desenvolvimento gratuita com permissões limitadas, e não a licença comercial. É possível removê-lo adquirindo uma versão de avaliação gratuita ou uma licença completa, conforme necessário .

Perguntas frequentes

Como posso gerar arquivos PDF a partir de HTML em Java?

É possível gerar arquivos PDF a partir de HTML em Java usando o método renderHtmlAsPdf do IronPDF para converter strings HTML e o método ` renderHtmlFileAsPdf para arquivos HTML.

Qual método devo usar para converter uma URL em um PDF em Java?

Para converter uma URL em PDF em Java, utilize o método renderUrlAsPdf do IronPDF, que permite criar PDFs a partir de páginas web com facilidade.

Como faço para proteger um PDF com senha em Java?

Em Java, você pode proteger um PDF com senha usando o IronPDF para configurar SecurityOptions , que incluem adicionar senhas e gerenciar permissões para o documento PDF.

O IronPDF consegue lidar com CSS complexo ao converter HTML para PDF?

Sim, o IronPDF consegue lidar com CSS complexo ao converter HTML em PDF, garantindo que o estilo seja refletido com precisão no documento PDF gerado.

Quais são as limitações da versão gratuita para desenvolvedores do IronPDF?

A versão gratuita para desenvolvimento do IronPDF inclui uma marca d'água em cada PDF gerado. A compra de uma licença comercial remove essa limitação.

Que funcionalidades adicionais o IronPDF oferece para PDFs?

O IronPDF oferece funcionalidades adicionais, como a adição de marcas d'água, cabeçalhos, rodapés e a capacidade de mesclar páginas em PDFs.

Quais são os passos para configurar o IronPDF em um novo projeto Java?

Para configurar o IronPDF em um novo projeto Java, instale a biblioteca via Maven e, em seguida, importe as classes necessárias para o seu projeto para começar a gerar PDFs.

Posso restringir a edição e a impressão em um PDF gerado pelo IronPDF?

Sim, o IronPDF permite restringir a edição, as anotações, a impressão e a entrada de dados em formulários, aplicando configurações de segurança específicas ao documento PDF.

Quais plataformas são suportadas pelo IronPDF for Java?

O IronPDF for Java oferece suporte a uma ampla gama de plataformas, incluindo Windows, Linux, Docker, Azure e AWS.

Onde posso encontrar documentação detalhada sobre como usar o IronPDF em Java?

Documentação detalhada e exemplos de uso do IronPDF em Java podem ser encontrados no site oficial do IronPDF, que oferece recursos e guias abrangentes.

Darrius Serrant
Engenheiro de Software Full Stack (WebOps)

Darrius Serrant é bacharel em Ciência da Computação pela Universidade de Miami e trabalha como Engenheiro de Marketing WebOps Full Stack na Iron Software. Atraído por programação desde jovem, ele via a computação como algo misterioso e acessível ao mesmo tempo, tornando-a o meio ...

Leia mais

Equipe de suporte de ferro

Estamos online 24 horas por dia, 5 dias por semana.
Bater papo
E-mail
Liga para mim