表格可以讓讀者快速瀏覽數據而無需閱讀大量文本。因此,表格被認為是文件的組成部分。在處理 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 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 的更多信息。如果您有任何問題或疑問,可以通過我們的論壇 聯繫我們。