Criar tabela em arquivos PDF em Java

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 - 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.

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.

Criar uma tabela em um arquivo PDF em Java

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.

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.

Criar tabela PDF com bordas e margens personalizadas Java

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.

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.

Veja também