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.
Como gerar arquivos PDF dinamicamente a partir de aplicativos Java
- Instale a biblioteca Java para gerar PDFs dinamicamente.
- Criar PDF a partir de uma string HTML personalizada
- Gere um PDF a partir de um arquivo HTML com estilos CSS complexos.
- Utilize um link de URL para gerar um PDF com a opção de adicionar cabeçalho e rodapé em Java.
- Insira uma senha nos arquivos PDF gerados dinamicamente.
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:
- Inicie o IntelliJ IDE.
- Selecione Arquivo > Novo > Projeto .
- Insira o título do projeto.
- Escolha uma localização, um idioma, um sistema de compilação e um JDK.
- Clique no botão Criar .
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>
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();
}
}
}
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.
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.
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();
}
}
}
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.
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.
Página HTML de exemplo
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();
}
}
}
O exemplo anterior já inclui uma explicação do código. O resto permanece inalterado;
Este é o arquivo PDF gerado:
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();
}
}
}
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:
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();
}
}
}
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.




