Como criar uma tabela em um documento PDF usando Java (Tutorial)
Este artigo demonstrará como criar tabelas dentro de um documento PDF usando Java.
É necessário utilizar uma biblioteca de terceiros para criar tabelas em documentos PDF usando um programa Java. Existem diversas bibliotecas disponíveis que podem ser usadas para criar tabelas dentro de PDFs usando um programa Java. No entanto, podem ser caros, difíceis de usar ou apresentar problemas de desempenho. Pode ser complicado encontrar uma biblioteca que seja fácil de usar, gratuita para desenvolvimento e que tenha um bom desempenho.
IronPDF é uma biblioteca muito útil para manipular arquivos PDF. Você pode encontrar mais informações sobre o IronPDF clicando na página oficial do IronPDF for Java .
Os seguintes passos são abordados neste artigo:
- Crie um novo projeto
- Instale a biblioteca IronPDF.
- Crie um novo documento PDF
- Crie uma tabela para isso.
- Adicionar valores dinâmicos ao documento PDF
Criar um novo projeto Java
Abra a sua IDE preferida. O IntelliJ é recomendado neste artigo, portanto, os passos para criar um novo projeto podem ser diferentes se você usar outra IDE.
Abra o IntelliJ IDE e clique em Arquivo > Novo Projeto na barra de menu superior. Dê um nome ao seu projeto, selecione a localização, o idioma, o sistema de compilação e o JDK, conforme mostrado abaixo.
Janela de Novo Projeto do IntelliJ IDE
Clique no botão Criar Projeto e um novo projeto será criado.
Instale a biblioteca IronPDF.
Agora, instale a biblioteca IronPDF no projeto recém-criado. Continue com os seguintes passos.
Abra o arquivo pom.xml e adicione as dependências e repositórios necessários para usar o IronPDF. O conteúdo específico para o pom.xml não é fornecido neste artigo, mas certifique-se de incluir corretamente a biblioteca IronPDF usando o gerenciamento de dependências do Maven.
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>VERSION_NUMBER</version>
</dependency>
</dependencies>
<dependencies>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>VERSION_NUMBER</version>
</dependency>
</dependencies>
Digite o seguinte comando no seu terminal e pressione Enter para instalar as dependências Maven especificadas.
mvn install
mvn install
Isso instalará o IronPDF neste projeto.
Adicione a seguinte declaração de importação para usar as classes do IronPDF .
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
Primeiramente, aprenderemos a criar documentos PDF simples em Java.
Criar um documento PDF
O código de exemplo a seguir criará um novo documento PDF.
public static void main(String[] args) throws IOException {
// Create a PDF document from an HTML string
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) throws IOException {
// Create a PDF document from an HTML string
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
O método renderHtmlAsPdf recebe uma string como argumento e converte essa string em uma instância de um documento PDF.
A função saveAs recebe um caminho de arquivo como argumento e salva o documento PDF recém-criado no caminho de arquivo especificado no argumento.
Um arquivo PDF é criado a partir do código acima, conforme mostrado na imagem a seguir.
Novo documento PDF
Criar tabela para o arquivo PDF
O código a seguir criará uma tabela em PDF.
public static void main(String[] args) throws IOException {
// HTML content for creating a table
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>";
// Create a PDF document with table content
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) throws IOException {
// HTML content for creating a table
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>";
// Create a PDF document with table content
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
O código acima utiliza tags HTML simples para criar uma tabela em PDF usando Java. Portanto, para criar uma tabela, você precisa ter conhecimento básico de como usar tags HTML. Quase todo programador Java tem conhecimento de HTML, então é muito fácil criar uma nova tabela e células de tabela usando tags HTML.
O arquivo PDF gerado por este programa é mostrado na imagem a seguir:
Documento PDF contendo uma tabela de HTML
É uma mesa simples, sem qualquer decoração.
Agora vamos adicionar alguns estilos a esta tabela, como definir a largura, as margens, o layout, a fonte, a cor de fundo e muito mais.
Adicione estilo à mesa
O código de exemplo a seguir formatará nossa tabela e adicionará estilo às nossas células.
public static void main(String[] args) throws IOException {
// HTML and CSS content for styling the table
String htmlstyle="<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
"<style>\n" +
"table {\n" +
" font-family: arial, sans-serif;\n" +
" border-collapse: collapse;\n" +
" width: 100%;\n" +
"}\n" +
"\n" +
"td, th {\n" +
" border: 1px solid #dddddd;\n" +
" text-align: left;\n" +
" padding: 8px;\n" +
"}\n" +
"\n" +
"tr:nth-child(even) {\n" +
" background-color: #dddddd;\n" +
"}\n" +
"</style>\n" +
"</head>\n" +
"<body>";
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>\n</body>\n" +
"</html>";
// Create a PDF document with styled table content
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static void main(String[] args) throws IOException {
// HTML and CSS content for styling the table
String htmlstyle="<!DOCTYPE html>\n" +
"<html>\n" +
"<head>\n" +
"<style>\n" +
"table {\n" +
" font-family: arial, sans-serif;\n" +
" border-collapse: collapse;\n" +
" width: 100%;\n" +
"}\n" +
"\n" +
"td, th {\n" +
" border: 1px solid #dddddd;\n" +
" text-align: left;\n" +
" padding: 8px;\n" +
"}\n" +
"\n" +
"tr:nth-child(even) {\n" +
" background-color: #dddddd;\n" +
"}\n" +
"</style>\n" +
"</head>\n" +
"<body>";
String tableContent = "<table>\n" +
" <tr>\n" +
" <th>Company</th>\n" +
" <th>Contact</th>\n" +
" <th>Country</th>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Alfreds Futterkiste</td>\n" +
" <td>Maria Anders</td>\n" +
" <td>Germany</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Centro comercial Moctezuma</td>\n" +
" <td>Francisco Chang</td>\n" +
" <td>Mexico</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Ernst Handel</td>\n" +
" <td>Roland Mendel</td>\n" +
" <td>Austria</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Island Trading</td>\n" +
" <td>Helen Bennett</td>\n" +
" <td>UK</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Laughing Bacchus Winecellars</td>\n" +
" <td>Yoshi Tannamuri</td>\n" +
" <td>Canada</td>\n" +
" </tr>\n" +
" <tr>\n" +
" <td>Magazzini Alimentari Riuniti</td>\n" +
" <td>Giovanni Rovelli</td>\n" +
" <td>Italy</td>\n" +
" </tr>\n" +
"</table>\n</body>\n" +
"</html>";
// Create a PDF document with styled table content
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
O CSS adicionado é usado para estilizar a tabela no PDF. Portanto, é muito eficiente usar CSS para estilizar conforme necessário.
Segue abaixo o PDF gerado por este programa.
Documento PDF contendo uma tabela em HTML e estilizada com CSS.
O código acima parece muito confuso. Mas isso pode ser resolvido movendo todo o conteúdo HTML para um arquivo HTML e, em seguida, gerando o PDF a partir desse arquivo.
Criar uma tabela em PDF usando um arquivo HTML com Java
Crie um novo arquivo HTML e adicione todo o seu conteúdo HTML a esse arquivo, conforme mostrado abaixo:
O HTML foi movido para seu próprio arquivo HTML.
Adicione o seguinte código ao programa Java.
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
// Save the created PDF document to a file
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
Podemos ver como é fácil gerar um PDF usando um documento HTML. Se você precisa criar arquivos PDF em Java, a maneira mais fácil é criar um documento HTML separado com conteúdo e formatação e, em seguida, converter esse documento HTML em PDF com uma única linha de código.
Documento PDF final com formatação.
Resumo
Este tutorial demonstrou como criar uma tabela estilizada em um arquivo PDF usando Java e ensinou como converter arquivos HTML em arquivos PDF. O IronPDF for Java também oferece funcionalidades para adicionar imagens ao arquivo PDF, dividir arquivos PDF , adicionar cabeçalhos e rodapés , aplicar assinaturas digitais e muito mais. Explore a documentação do IronPDF para saber mais sobre esses recursos e funcionalidades adicionais.
Remova a marca d'água do IronPDF dos seus documentos PDF gerados adquirindo uma chave de licença ou registrando-se para um teste gratuito .
Perguntas frequentes
Como posso iniciar um novo projeto Java para criar PDFs?
Para iniciar um novo projeto Java para criação de PDFs, você pode usar uma IDE como o IntelliJ. Comece configurando o projeto e instalando a biblioteca IronPDF via Maven para lidar com a criação e manipulação de PDFs.
Quais são os passos envolvidos na conversão de conteúdo HTML para PDF em Java?
Para converter conteúdo HTML em PDF em Java, você pode usar o método PdfDocument.renderHtmlAsPdf do IronPDF. Isso envolve escrever seu conteúdo HTML, opcionalmente estilizar com CSS e renderizá-lo em um PDF.
Posso usar CSS para estilizar tabelas em PDFs gerados com Java?
Sim, você pode usar CSS para estilizar tabelas em PDFs, incluindo o CSS no conteúdo HTML antes de renderizá-lo em PDF usando o IronPDF. Isso permite definir fontes, bordas, cores e muito mais.
Como faço para criar um PDF a partir de um arquivo HTML externo usando Java?
Para criar um PDF a partir de um arquivo HTML externo em Java, você pode usar o método PdfDocument.renderHtmlFileAsPdf do IronPDF, que converte todo o arquivo HTML em um documento PDF.
Quais são os benefícios de usar uma biblioteca de terceiros para criação de PDFs em Java?
Utilizar uma biblioteca de terceiros como o IronPDF simplifica o processo de criação de PDFs em Java, oferecendo recursos como conversão de HTML para PDF, formatação de tabelas e funcionalidades adicionais como suporte a imagens e assinaturas digitais.
Como posso incluir imagens em um documento PDF usando bibliotecas Java?
Você pode incluir imagens em um documento PDF incorporando-as ao conteúdo HTML que é renderizado em PDF usando o IronPDF. Esse método permite a integração perfeita de elementos visuais.
Quais opções estão disponíveis para dividir PDFs em Java?
O IronPDF oferece opções para dividir PDFs, permitindo que você transforme um único PDF em vários documentos. Esse recurso pode ser particularmente útil para gerenciar documentos grandes ou extrair seções específicas.
Como posso aplicar assinaturas digitais a PDFs usando Java?
Você pode adicionar assinaturas digitais a PDFs usando os recursos integrados do IronPDF, que permitem a inclusão de assinaturas digitais para aumentar a segurança e a autenticidade dos documentos.
O que devo fazer se houver uma marca d'água nos meus documentos PDF?
Se houver uma marca d'água em seus documentos PDF criados com o IronPDF, você poderá removê-la comprando uma chave de licença ou registrando-se para uma licença de avaliação gratuita.




