在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
這篇文章將演示如何使用 Java 在 PDF 文件中創建表格。
使用 Java 程序在 PDF 文件中創建表格是需要使用第三方庫的。有多個庫可用於使用 Java 程序在 PDF 中創建表格。然而,它們可能價格昂貴,使用困難,或者存在性能問題。找到一個易於使用、開發免費且高效的庫可能是一件麻煩的事。
IronPDF 是一個對操作 PDF 文件非常有用的庫。您可以通過點擊了解有關 IronPDF 的更多信息 官方頁面本文涵蓋以下步驟:
建立一個新專案
安裝IronPDF庫
創建新的PDF文件
為其創建一個表格
打開您偏好的 IDE。在本文中推薦使用 IntelliJ,所以在使用其他 IDE 時創建新專案的步驟可能會有所不同。
打開 IntelliJ IDE,從頂部菜單欄中點擊 File > New Project。命名您的專案,選擇位置、語言、構建系統和 JDK,如下所示。
IntelliJ IDE 新項目視窗
點擊 Create Project 按鈕,即可創建一個新項目。
現在,在新創建的項目中安裝 IronPDF 庫。繼續以下步驟。
打開 pom.xml
文件,並在 properties 閉合標籤下添加以下 XML 內容。
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2024.9.1</version>
</dependency>
在終端機中輸入以下命令並按下回車鍵。
mvn install
這將安裝IronPDF到此專案。
添加以下的匯入語句以使用IronPDF類別。
import com.ironsoftware.ironpdf.*;
首先,我們將學習在 Java 中建立簡單的 PDF 文件。
以下範例程式碼將創建一個新的 PDF 文件。
public static void main(String[] args) throws IOException {
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is sample PDF file");
try {
myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
throw new RuntimeException(e);
}
}
這 渲染Html為Pdf
方法將字符串作為參數,並將該字符串轉換為 PDF 文件的實例。 儲存為
該函式接受一個文件路徑作為參數,並將新創建的 PDF 文檔保存到參數中指定的文件路徑。
從上面的程式碼生成一個 PDF,如下圖所示。
新 PDF 文件
以下代碼將在 PDF 中建立一個表格。
public static void main(String[] args) throws IOException {
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";
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);
try {
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
上述程式碼僅使用簡單的HTML標籤來通過Java建立PDF中的表格。因此,要建立表格,您必須具備使用HTML標籤的基本知識。幾乎每個Java程式員都知道HTML,因此使用HTML標籤來建立新表格和表格單元非常容易。
由此程式產生的PDF檔案如下圖所示:
PDF文件包含來自HTML的表格
這是一個沒有樣式的簡單表格。
現在讓我們為這個表格添加一些樣式,比如設置表格寬度、邊距、佈局、字體、背景顏色等等。
以下範例代碼將格式化我們的表格並為單元格添加樣式。
public static void main(String[] args) throws IOException {
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>";
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);
try {
myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
throw new RuntimeException(e);
}
}
新增的 CSS 用於在 PDF 中設計表格。因此,根據需求使用 CSS 來設計是一個非常有效率的方法。
以下是由此程式生成的 PDF。
包含表格形式的 HTML 並以 CSS 設計的 PDF 文件
上述代碼看起來非常混亂。但是,您可以通過將所有 HTML 內容移動到 HTML 文件中,然後從該文件生成 PDF 來進行清理。
創建一個新的 HTML 文件,並將所有 HTML 內容添加到該文件,如下所示:
將以下代碼添加到 Java 程式中。
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");
try {
myPdf.saveAs(Paths.get("html_saved.pdf") );
} catch (IOException e) {
throw new RuntimeException(e);
}
我們可以看到使用 HTML 文件生成 PDF 是多麼容易。如果您需要在 Java 中創建 PDF 文件,最簡單的方法是創建一個包含內容和樣式的單獨 HTML 文件,然後只需用一行代碼將 HTML 文件轉換為 PDF。
帶有樣式的最終 PDF 文件
本教程演示了如何使用Java在PDF文件中创建樣式化表格,並學習將HTML文件轉換為PDF文件。IronPDF for Java還提供將圖片添加到PDF文件的功能。 拆分文件, 頁首和頁尾, 數位簽章,以及更多。 了解更多 了解這些功能及更多資訊,請參閱 IronPDF 文件頁面。