Uma tabela permite que os leitores passem pelos dados rapidamente sem ler muito texto. Portanto, as tabelas são consideradas parte integrante dos documentos. Ao trabalhar na automação de PDF e na geração de arquivos PDF programaticamente, você pode se deparar com a necessidade de criar tabelas com muita frequência. Para fazer isso, este artigo aborda como criar tabelas em arquivos PDF usando Java.
- API Java para criar tabela em PDF
- Criar uma tabela em um arquivo PDF
- Definir bordas e margens em tabelas PDF
- Aplicar ajuste de coluna a tabelas PDF
API Java para Criar Tabela em PDF - Download Gratuito
Aspose.PDF for Java é uma API popular para gerar e manipular PDF dentro de aplicativos Java. Usando a API, você pode criar facilmente arquivos PDF de layouts simples e complexos. Usaremos esta API para criar tabelas em arquivos PDF novos ou existentes. Você pode baixar a API ou instalá-la usando as seguintes configurações do Maven.
Repositório:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependência:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Criar uma tabela em um PDF em Java
Você pode criar tabelas em um arquivo PDF novo ou existente usando o Aspose.PDF para Java. A seguir estão as etapas para criar uma tabela em um arquivo PDF em Java.
- Carregue o arquivo PDF (ou crie um novo) usando a classe Document.
- Inicialize uma tabela e defina suas colunas e linhas usando a classe Table.
- Defina as configurações da tabela (ou seja, bordas).
- Preencha a tabela criando linhas usando o método Table.getRows().add().
- Adicione a tabela à página usando o método Document.getPages().getItem(index).getParagraphs().add(Table).
- Salve o arquivo PDF usando o método Document.save(String).
O exemplo de código a seguir mostra como criar uma tabela em um arquivo PDF usando Java.
// Carregar ou criar documento
Document doc = new Document("input.pdf");
// Inicializa uma nova instância da Tabela
Table table = new Table();
// Defina a cor da borda da tabela como LightGray
table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// Definir a borda das células da tabela
table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// Crie um loop para adicionar 10 linhas
for (int row_count = 1; row_count < 10; row_count++) {
// adicionar linha à tabela
Row row = table.getRows().add();
// adicionar células de tabela
row.getCells().add("Column (" + row_count + ", 1)");
row.getCells().add("Column (" + row_count + ", 2)");
row.getCells().add("Column (" + row_count + ", 3)");
}
// Adicionar objeto de tabela à primeira página do documento de entrada
doc.getPages().get_Item(1).getParagraphs().add(table);
// Salvar documento atualizado contendo tabela
doc.save("create-table.pdf");
A seguir está a saída do exemplo de código acima.
Java Criar tabela PDF com bordas e margens personalizadas
Você também pode personalizar as bordas e margens das tabelas em PDF conforme suas necessidades. Por exemplo, você pode definir a largura da borda, o estilo da borda e as margens superior, inferior, esquerda e direita. A seguir estão as etapas para definir bordas e margens para as tabelas em arquivos PDF em Java.
- Carregue o arquivo PDF (ou crie um novo) usando a classe Document.
- Inicialize uma tabela e defina suas colunas e linhas usando a classe Table.
- Crie uma instância da classe BorderInfo para aplicar o estilo da borda.
- Crie uma instância da classe MarginInfo para definir as margens da tabela.
- Preencha a tabela criando linhas usando o método Table.getRows().add().
- Adicione a tabela à página usando o método Document.getPages().getItem(index).getParagraphs().add(Table).
- Salve o arquivo PDF usando o método Document.save(String).
O exemplo de código a seguir mostra como definir bordas e margens para tabelas em PDF usando Java.
// Instanciar o objeto Document chamando seu construtor vazio
Document doc = new Document();
// Adicionar Página
Page page = doc.getPages().add();
// Instanciar um objeto de tabela
Table tab1 = new Table();
// Adicione a tabela na coleção de parágrafos da seção desejada
page.getParagraphs().add(tab1);
// Definir com larguras de coluna da tabela
tab1.setColumnWidths ("50 50 50");
// Definir a borda da célula padrão usando o objeto BorderInfo
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// Definir a borda da tabela usando outro objeto BorderInfo personalizado
tab1.setBorder (new BorderInfo(BorderSide.All, 1F));
// Crie o objeto MarginInfo e defina suas margens esquerda, inferior, direita e superior
MarginInfo margin = new MarginInfo();
margin.setTop (5f);
margin.setLeft (5f);
margin.setRight (5f);
margin.setBottom (5f);
// Defina o preenchimento de célula padrão para o objeto MarginInfo
tab1.setDefaultCellPadding(margin);
// Criar linhas na tabela e depois células nas linhas
Row row1 = tab1.getRows().add();
row1.getCells().add("col1");
row1.getCells().add("col2");
row1.getCells().add();
TextFragment mytext = new TextFragment("col3 with large text string");
row1.getCells().get_Item(2).getParagraphs().add(mytext);
row1.getCells().get_Item(2).setWordWrapped(false);
Row row2 = tab1.getRows().add();
row2.getCells().add("item1");
row2.getCells().add("item2");
row2.getCells().add("item3");
// Salve o PDF
doc.save("create-table-margin-border.pdf");
A captura de tela a seguir mostra a saída do exemplo de código acima.
Java Criar Tabelas PDF - Aplicar Ajuste de Coluna
O Aspose.PDF para Java também permite personalizar o ajuste de coluna da tabela em um PDF. Por exemplo, você pode ajustar automaticamente a tabela à janela ou ao conteúdo. A seguir estão as etapas para definir o ajuste de coluna de uma tabela em PDF usando Java.
- Carregue o arquivo PDF (ou crie um novo) usando a classe Document.
- Inicialize uma tabela e defina suas colunas e linhas usando a classe Table.
- Definir bordas e margens.
- Defina o ajuste da coluna com o valor desejado de ColumnAdjustment enum.
- Preencha a tabela criando linhas usando o método Table.getRows().add().
- Adicione a tabela à página usando o método Document.getPages().getItem(index).getParagraphs().add(Table).
- Salve o arquivo PDF usando o método Document.save(String).
O exemplo de código a seguir mostra como definir o ajuste de coluna da tabela em PDF usando Java.
// Instanciar o objeto PDF chamando seu construtor vazio
Document doc = new Document();
// Crie a seção no objeto PDF
Page sec1 = doc.getPages().add();
// Instanciar um objeto de tabela
Table tab1 = new Table();
// Adicione a tabela na coleção de parágrafos da seção desejada
sec1.getParagraphs().add(tab1);
// Definir com larguras de coluna da tabela
tab1.setColumnWidths("50 50 50");
tab1.setColumnAdjustment(ColumnAdjustment.AutoFitToWindow);
// Definir a borda da célula padrão usando o objeto BorderInfo
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// Definir a borda da tabela usando outro objeto BorderInfo personalizado
tab1.setBorder(new BorderInfo(BorderSide.All, 1F));
// Crie o objeto MarginInfo e defina suas margens esquerda, inferior, direita e superior
MarginInfo margin = new MarginInfo();
margin.setTop(5f);
margin.setLeft(5f);
margin.setRight(5f);
margin.setBottom(5f);
// Defina o preenchimento de célula padrão para o objeto MarginInfo
tab1.setDefaultCellPadding(margin);
// Criar linhas na tabela e depois células nas linhas
Row row1 = tab1.getRows().add();
row1.getCells().add("col1");
row1.getCells().add("col2");
row1.getCells().add("col3");
Row row2 = tab1.getRows().add();
row2.getCells().add("item1");
row2.getCells().add("item2");
row2.getCells().add("item3");
// Salvar documento atualizado contendo tabela
doc.save("create-table-autofit.pdf");
API Java para criar tabela PDF - Obtenha uma licença gratuita
Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para Java sem limitações de avaliação.
Conclusão
Neste artigo, você aprendeu como criar tabelas em arquivos PDF usando Java. Além disso, você viu como personalizar as bordas. margens e ajuste de coluna de uma tabela em PDF. Além disso, você pode explorar mais sobre a API Java PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, você pode entrar em contato conosco através do nosso fórum.