Geração de PDF com a biblioteca Java (Exemplo de código completo)
Este artigo explorará a biblioteca IronPDF , uma ótima ferramenta para criar PDFs em Java.
IronPDF: Biblioteca Java para PDF
IronPDF é uma biblioteca Java popular para PDF que permite aos desenvolvedores criar facilmente documentos PDF, formulários PDF, assinar digitalmente arquivos PDF e muito mais. Com o IronPDF, você pode usar documentos PDF existentes como modelos para gerar novos arquivos PDF , armazenar dados de PDF em bancos de dados para uso futuro, converter PDFs em outros formatos, como HTML, e até mesmo mesclar vários PDFs em um só .
O IronPDF permite que os usuários adicionem anotações de texto aos PDFs para personalizar os arquivos que criam. Além disso, com o IronPDF, você pode incluir configurações de segurança, como senhas ou marcas d'água, em seus PDFs. Isso ajuda a integrar funcionalidades de PDF em programas Java. O IronPDF é uma ferramenta extremamente versátil e poderosa para gerar PDFs de forma rápida e segura. Vamos ver como o IronPDF pode ser usado para criar arquivos PDF.
Gere arquivos PDF usando o IronPDF.
O IronPDF é uma ferramenta indispensável para a criação de arquivos PDF. Possui todos os recursos necessários para converter rapidamente documentos, páginas da web e imagens em PDFs estáveis e seguros, que podem ser compartilhados facilmente. Vamos instalar o IronPDF neste programa de demonstração.
Instale a biblioteca IronPDF Java PDF.
Para instalar o IronPDF Java em um projeto Maven, você pode adicionar as seguintes dependências ao arquivo pom.xml do seu projeto:
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>YOUR-VERSION-HERE</version>
</dependency>
</dependencies>
Isso adicionará a biblioteca IronPDF for Java e o registrador SLF4J que ela utiliza. Recomenda-se o uso da versão mais recente do IronPDF for Java. Depois de adicionar as dependências, você pode executar mvn install para instalar as dependências em seu repositório local, e seu projeto estará pronto para usar o IronPDF for Java.
Código Java para criar documentos PDF
Este código foi escrito em Java e utiliza a biblioteca IronPDF para converter HTML em um documento PDF .
// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Define the HTML content to convert into a PDF
String html = "<!DOCTYPE html>\r\n"
+ "<html>\r\n"
+ " <head>\r\n"
+ " <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
+ " <style>\r\n"
+ " /* Add CSS styles for the invoice here */\r\n"
+ " body {\r\n"
+ " font-family: 'Popin', cursive;\r\n"
+ " }\r\n"
+ " .invoice {\r\n"
+ " width: 80%;\r\n"
+ " margin: 0 auto;\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 20px;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " color: #333;\r\n"
+ " }\r\n"
+ " .invoice h1 {\r\n"
+ " text-align: center;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info {\r\n"
+ " display: flex;\r\n"
+ " justify-content: space-between;\r\n"
+ " margin-bottom: 20px;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info div {\r\n"
+ " width: 45%;\r\n"
+ " }\r\n"
+ " .invoice table {\r\n"
+ " width: 100%;\r\n"
+ " border-collapse: collapse;\r\n"
+ " }\r\n"
+ " .invoice table th, .invoice table td {\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 10px;\r\n"
+ " }\r\n"
+ " .invoice table th {\r\n"
+ " text-align: left;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " }\r\n"
+ " .invoice table td {\r\n"
+ " text-align: right;\r\n"
+ " }\r\n"
+ " .invoice table td.total {\r\n"
+ " font-weight: bold;\r\n"
+ " }\r\n"
+ " </style>\r\n"
+ " </head>\r\n"
+ " <body>\r\n"
+ " <div class=\"invoice\">\r\n"
+ " <h1>Invoice</h1>\r\n"
+ " <div class=\"invoice-info\">\r\n"
+ " <div>\r\n"
+ " <p><strong>From:</strong></p>\r\n"
+ " <p>Your Company Name</p>\r\n"
+ " <p>123 Main St</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " <div>\r\n"
+ " <p><strong>To:</strong></p>\r\n"
+ " <p>Customer Name</p>\r\n"
+ " <p>456 Park Ave</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " </div>\r\n"
+ " <table>\r\n"
+ " <thead>\r\n"
+ " <tr>\r\n"
+ " <th>Product</th>\r\n"
+ " <th>Quantity</th>\r\n"
+ " <th>Price</th>\r\n"
+ " <th>Total</th>\r\n"
+ " </tr>\r\n"
+ " </thead>\r\n"
+ " <tbody>\r\n"
+ " <tr>\r\n"
+ " <td>Product 1</td>\r\n"
+ " <td>1</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td>Product 2</td>\r\n"
+ " <td>2</td>\r\n"
+ " <td>$5.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
+ " <td class=\"total\">$20.00</td>\r\n"
+ " </tr>\r\n"
+ " </tbody>\r\n"
+ " </table>\r\n"
+ " </div>\r\n"
+ " </body>\r\n"
+ "</html>";
// Convert HTML to PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document to a specified path
myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
}
}
// Import statement for IronPDF Java
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Define the HTML content to convert into a PDF
String html = "<!DOCTYPE html>\r\n"
+ "<html>\r\n"
+ " <head>\r\n"
+ " <link href='https://fonts.googleapis.com/css2?family=Popin&display=swap' rel='stylesheet'>\r\n"
+ " <style>\r\n"
+ " /* Add CSS styles for the invoice here */\r\n"
+ " body {\r\n"
+ " font-family: 'Popin', cursive;\r\n"
+ " }\r\n"
+ " .invoice {\r\n"
+ " width: 80%;\r\n"
+ " margin: 0 auto;\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 20px;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " color: #333;\r\n"
+ " }\r\n"
+ " .invoice h1 {\r\n"
+ " text-align: center;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info {\r\n"
+ " display: flex;\r\n"
+ " justify-content: space-between;\r\n"
+ " margin-bottom: 20px;\r\n"
+ " }\r\n"
+ " .invoice .invoice-info div {\r\n"
+ " width: 45%;\r\n"
+ " }\r\n"
+ " .invoice table {\r\n"
+ " width: 100%;\r\n"
+ " border-collapse: collapse;\r\n"
+ " }\r\n"
+ " .invoice table th, .invoice table td {\r\n"
+ " border: 1px solid #ccc;\r\n"
+ " padding: 10px;\r\n"
+ " }\r\n"
+ " .invoice table th {\r\n"
+ " text-align: left;\r\n"
+ " background-color: #f5f5f5;\r\n"
+ " }\r\n"
+ " .invoice table td {\r\n"
+ " text-align: right;\r\n"
+ " }\r\n"
+ " .invoice table td.total {\r\n"
+ " font-weight: bold;\r\n"
+ " }\r\n"
+ " </style>\r\n"
+ " </head>\r\n"
+ " <body>\r\n"
+ " <div class=\"invoice\">\r\n"
+ " <h1>Invoice</h1>\r\n"
+ " <div class=\"invoice-info\">\r\n"
+ " <div>\r\n"
+ " <p><strong>From:</strong></p>\r\n"
+ " <p>Your Company Name</p>\r\n"
+ " <p>123 Main St</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " <div>\r\n"
+ " <p><strong>To:</strong></p>\r\n"
+ " <p>Customer Name</p>\r\n"
+ " <p>456 Park Ave</p>\r\n"
+ " <p>City, State ZIP</p>\r\n"
+ " </div>\r\n"
+ " </div>\r\n"
+ " <table>\r\n"
+ " <thead>\r\n"
+ " <tr>\r\n"
+ " <th>Product</th>\r\n"
+ " <th>Quantity</th>\r\n"
+ " <th>Price</th>\r\n"
+ " <th>Total</th>\r\n"
+ " </tr>\r\n"
+ " </thead>\r\n"
+ " <tbody>\r\n"
+ " <tr>\r\n"
+ " <td>Product 1</td>\r\n"
+ " <td>1</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td>Product 2</td>\r\n"
+ " <td>2</td>\r\n"
+ " <td>$5.00</td>\r\n"
+ " <td>$10.00</td>\r\n"
+ " </tr>\r\n"
+ " <tr>\r\n"
+ " <td colspan=\"3\" class=\"total\">Total:</td>\r\n"
+ " <td class=\"total\">$20.00</td>\r\n"
+ " </tr>\r\n"
+ " </tbody>\r\n"
+ " </table>\r\n"
+ " </div>\r\n"
+ " </body>\r\n"
+ "</html>";
// Convert HTML to PDF document
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document to a specified path
myPdf.saveAs(Paths.get("C://HTMLtoPDF.pdf"));
}
}
- O primeiro passo é aplicar uma chave de licença usando o método
setLicenseKey. A chave é passada como um argumento de string; Neste caso, " SUA-CHAVE-DE-LICENÇA " deve ser substituído pela chave de licença real. - O próximo passo é definir um caminho de log usando o método
setLogPath. É aqui que o arquivo de registro do mecanismo IronPDF será salvo. Neste caso, está definido como " C:/tmp/IronPdfEngine.log ". - O método principal é definido e um objeto
PdfDocumenté criado chamando o métodorenderHtmlAsPdf, passando uma string de HTML como argumento. Isso converterá o HTML em um PDF e o armazenará no objetomyPdf. - O passo final é salvar o objeto
myPdfem um arquivo usando o métodosaveAs. O local do arquivo é passado como argumento na forma de um objeto Paths, neste caso, "HTMLtoPDF.pdf".
Aqui você pode ver o resultado do programa acima, onde um arquivo PDF é criado usando a biblioteca IronPDF for Java.
O arquivo PDF gerado a partir de uma string HTML
Criar arquivo PDF a partir de URL
O IronPDF consegue converter páginas da web em PDFs a partir de diversas fontes, incluindo redes locais e servidores externos.
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class UrlToPdfExample {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert a webpage to a PDF by specifying the URL
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("url.pdf"));
}
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;
public class UrlToPdfExample {
public static void main(String[] args) throws IOException {
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
// Set a log path to store log files generated by IronPDF
Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));
// Convert a webpage to a PDF by specifying the URL
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");
// Save the PdfDocument to a file
myPdf.saveAs(Paths.get("url.pdf"));
}
}
- O método
PdfDocument.renderUrlAsPdffoi projetado especificamente para esse propósito e aceita uma string contendo o URL da página da web a ser convertida. O método recupera o conteúdo HTML da página web e o transforma em um documento PDF. O IronPDF preserva a aparência de todos os componentes da web, ao mesmo tempo que torna funcionais os recursos interativos (links, campos de formulário, etc.).
Os resultados estão abaixo:
O arquivo PDF gerado a partir de uma URL
Resumo
Em conclusão, o IronPDF é uma biblioteca Java valiosa com muitos recursos para criar e manipular arquivos PDF. Seja para assinar digitalmente um documento PDF , preencher formulários em PDF ou realizar outras tarefas, o IronPDF facilita tudo isso com o mínimo de programação.
Com um período de teste gratuito disponível e opções de preços flexíveis a partir de $799, o IronPDF é uma solução econômica para desenvolvedores que desejam adicionar funcionalidade de PDF aos seus projetos.
Perguntas frequentes
Como posso criar um documento PDF em Java?
Com o IronPDF, você pode criar um documento PDF em Java utilizando sua API abrangente para gerar novos PDFs do zero ou convertendo documentos existentes para o formato PDF.
Qual é o processo para converter HTML em PDF em Java?
Para converter HTML em PDF em Java, o IronPDF fornece o método renderHtmlAsPdf , que permite inserir uma string HTML e receber um documento PDF como saída.
Como faço para converter um URL de página web em um PDF em uma aplicação Java?
O IronPDF permite converter um URL de página web em um PDF usando o método renderUrlAsPdf . Este método recupera o conteúdo HTML do URL e o converte em um documento PDF.
Posso assinar digitalmente documentos PDF usando uma biblioteca Java?
Sim, o IronPDF oferece a capacidade de assinar digitalmente documentos PDF, garantindo a autenticidade e a integridade do documento.
Como posso adicionar recursos de segurança a um PDF usando Java?
O IronPDF oferece recursos de segurança como proteção por senha e marcas d'água, que podem ser aplicados a PDFs para aumentar sua segurança.
Quais são os passos envolvidos na instalação de uma biblioteca PDF em um projeto Maven?
Para instalar o IronPDF em um projeto Maven, você precisa adicionar a dependência do IronPDF e a dependência de registro SLF4J ao seu arquivo pom.xml e, em seguida, executar o comando mvn install .
Como posso manipular arquivos PDF existentes usando Java?
O IronPDF permite manipular arquivos PDF existentes, fornecendo métodos para editar texto, mesclar documentos, adicionar anotações e aplicar assinaturas digitais.
Existe alguma forma de testar os recursos do IronPDF antes de comprá-lo?
Sim, o IronPDF oferece um período de teste gratuito que permite aos desenvolvedores testar seus recursos antes de tomar uma decisão de compra.
Quais são os benefícios de usar uma biblioteca PDF em Java?
Utilizar uma biblioteca PDF como o IronPDF em Java simplifica o processo de criação, edição e conversão de PDFs, reduzindo a necessidade de programação extensa e aumentando a eficiência.
Como posso mesclar vários arquivos PDF em um só usando Java?
O IronPDF inclui uma funcionalidade para mesclar vários arquivos PDF em um único documento, facilitando a consolidação de vários PDFs em um só arquivo.




