表格可以让读者快速浏览数据,而无需阅读大量文本。因此,表格被认为是文件的组成部分。在处理 PDF 自动化并以编程方式生成 PDF 文件时,您可能会经常遇到创建表格的需要。为此,本文介绍了如何使用 Java 在 PDF 文件中创建表格。
用于创建 PDF 表格的 Java API - 免费下载
Aspose.PDF for Java 是一种流行的 API,用于在 Java 应用程序中执行 PDF 生成和操作。使用 API,您可以无缝地创建简单和复杂布局的 PDF 文件。我们将使用此 API 在新的或现有的 PDF 文件中创建表格。您可以 下载 API 或使用以下 Maven 配置安装它。
存储库:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
依赖:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
用 Java 在 PDF 中创建表格
您可以使用 Aspose.PDF for Java 在新的或现有的 PDF 文件中创建表格。以下是用 Java 在 PDF 文件中创建表的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 设置表格的设置(即边框)。
- 通过使用 Table.getRows().add() 方法创建行来填充表格。
- 使用 Document.getPages().getItem(index).getParagraphs().add(Table) 方法将表格添加到页面。
- 使用 Document.save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 Java 在 PDF 文件中创建表格。
// 加载或创建文档
Document doc = new Document("input.pdf");
// 初始化表的新实例
Table table = new Table();
// 将表格边框颜色设置为 LightGray
table.setBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// 设置表格单元格的边框
table.setDefaultCellBorder(new BorderInfo(BorderSide.All, .5f, Color.getLightGray()));
// 创建一个循环以添加 10 行
for (int row_count = 1; row_count < 10; row_count++) {
// 向表中添加行
Row row = table.getRows().add();
// 添加表格单元格
row.getCells().add("Column (" + row_count + ", 1)");
row.getCells().add("Column (" + row_count + ", 2)");
row.getCells().add("Column (" + row_count + ", 3)");
}
// 将表格对象添加到输入文档的第一页
doc.getPages().get_Item(1).getParagraphs().add(table);
// 保存包含表格的更新文档
doc.save("create-table.pdf");
以下是上述代码示例的输出。
Java 创建具有自定义边框和边距的 PDF 表格
您还可以根据需要自定义 PDF 中表格的边框和边距。例如,您可以设置边框宽度、边框样式以及顶部、底部、左侧和右侧边距。以下是在 Java 中为 PDF 文件中的表格设置边框和边距的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 创建 BorderInfo 类的实例以应用边框样式。
- 创建一个 MarginInfo 类的实例来设置表格的边距。
- 通过使用 Table.getRows().add() 方法创建行来填充表格。
- 使用 Document.getPages().getItem(index).getParagraphs().add(Table) 方法将表格添加到页面。
- 使用 Document.save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 Java 为 PDF 中的表格设置边框和边距。
// 通过调用其空构造函数来实例化 Document 对象
Document doc = new Document();
// 添加页面
Page page = doc.getPages().add();
// 实例化一个表对象
Table tab1 = new Table();
// 在所需部分的段落集合中添加表格
page.getParagraphs().add(tab1);
// 设置表格的列宽
tab1.setColumnWidths ("50 50 50");
// 使用 BorderInfo 对象设置默认单元格边框
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// 使用另一个自定义 BorderInfo 对象设置表格边框
tab1.setBorder (new BorderInfo(BorderSide.All, 1F));
// 创建 MarginInfo 对象并设置其左、下、右和上边距
MarginInfo margin = new MarginInfo();
margin.setTop (5f);
margin.setLeft (5f);
margin.setRight (5f);
margin.setBottom (5f);
// 将默认单元格填充设置为 MarginInfo 对象
tab1.setDefaultCellPadding(margin);
// 在表格中创建行,然后在行中创建单元格
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");
// 保存 PDF
doc.save("create-table-margin-border.pdf");
以下屏幕截图显示了上述代码示例的输出。
Java 创建 PDF 表格 - 应用列调整
Aspose.PDF for Java 还允许您自定义 PDF 中表格的列调整。例如,您可以使表格自动适应窗口或内容。以下是使用Java设置PDF表格列调整的步骤。
- 使用 Document 类加载 PDF 文件(或创建一个新文件)。
- 使用 Table 类初始化表并设置其列和行。
- 设置边框和边距。
- 使用 ColumnAdjustment 枚举的所需值设置列调整。
- 通过使用 Table.getRows().add() 方法创建行来填充表格。
- 使用 Document.getPages().getItem(index).getParagraphs().add(Table) 方法将表格添加到页面。
- 使用 Document.save(String) 方法保存 PDF 文件。
以下代码示例展示了如何使用 Java 设置 PDF 中表格的列调整。
// 通过调用其空构造函数来实例化 PDF 对象
Document doc = new Document();
// 在 PDF 对象中创建部分
Page sec1 = doc.getPages().add();
// 实例化一个表对象
Table tab1 = new Table();
// 在所需部分的段落集合中添加表格
sec1.getParagraphs().add(tab1);
// 设置表格的列宽
tab1.setColumnWidths("50 50 50");
tab1.setColumnAdjustment(ColumnAdjustment.AutoFitToWindow);
// 使用 BorderInfo 对象设置默认单元格边框
tab1.setDefaultCellBorder(new BorderInfo(BorderSide.All, 0.1F));
// 使用另一个自定义 BorderInfo 对象设置表格边框
tab1.setBorder(new BorderInfo(BorderSide.All, 1F));
// 创建 MarginInfo 对象并设置其左、下、右和上边距
MarginInfo margin = new MarginInfo();
margin.setTop(5f);
margin.setLeft(5f);
margin.setRight(5f);
margin.setBottom(5f);
// 将默认单元格填充设置为 MarginInfo 对象
tab1.setDefaultCellPadding(margin);
// 在表格中创建行,然后在行中创建单元格
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");
// 保存包含表格的更新文档
doc.save("create-table-autofit.pdf");
用于创建 PDF 表的 Java API - 获得免费许可证
您可以获得免费的临时许可证 以便在没有评估限制的情况下使用 Aspose.PDF for Java。
结论
在本文中,您学习了如何使用 Java 在 PDF 文件中创建表格。此外,您已经了解了如何自定义边框。 PDF中表格的边距和列调整。此外,您可以使用 文档 探索更多关于 Java PDF API 的信息。如果您有任何问题或疑问,可以通过我们的 论坛 与我们联系。