跳至頁尾內容
USING IRONPDF FOR JAVA

如何在 PDF 文件中使用 Java 建立表格(教程)

本文將示範如何使用Java在PDF文件中建立表格。

使用Java程式在PDF文件中建立表格需要有第三方程式庫。 有多種程式庫可供使用來使用Java程式在PDFs中建立表格。 然而,它們可能價格昂貴、使用困難或存在效能問題。 找到使用簡單、免費開發且效能良好的程式庫可能很棘手。

IronPDF是一個非常有用的用於操作PDF文件的程式庫。 您可以點擊IronPDF官方Java頁面了解更多關於IronPDF的資訊。

本文涵蓋以下步驟:

  1. 建立一個新專案
  2. 安裝IronPDF程式庫
  3. 建立新的PDF文件
  4. 為其建立表格
  5. 向PDF文件新增動態值

建立新的Java專案

打開您偏好的IDE。本指南推薦使用IntelliJ,因此使用其他IDE建立專案的步驟可能不同。

打開IntelliJ IDE,從頂部選單欄中點擊檔案 > 新專案。 為您的專案命名,選擇位置、語言、建構系統和JDK,如下所示。

如何使用Java在PDF文件中建立表格(教程),圖1:IntelliJ IDE新專案窗口 IntelliJ IDE新專案窗口

點擊建立專案按鈕,即可建立一個新專案。

安裝IronPDF程式庫

現在,將IronPDF程式庫安裝到新建立的專案中。 繼續以下步驟。

打開pom.xml檔案,新增必要的相依性和儲存庫以使用IronPDF。 本文未提供pom.xml的具體內容,但請確保使用Maven的依賴管理正確包含IronPDF程式庫。


<dependencies>

    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>

<dependencies>

    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
XML

在終端中輸入以下命令並按Enter鍵以安裝指定的Maven相依性。

mvn install
mvn install
SHELL

這將會在此專案中安裝IronPDF。

為使用IronPDF類別新增以下import語句。

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

首先,我們將學習在Java中建立簡單的PDF文件。

建立PDF文件

以下範例程式碼將建立一個新的PDF文件。

public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

[renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法將字串作為引數,並將該字串轉換為一個PDF文件的實例。

[saveAs](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#saveAs(java.lang.String)函式將文件路徑作為引數,並將新建立的PDF文件保存到引數中指定的文件路徑。

從上述程式碼建立了一個PDF,如下圖所示。

如何使用Java在PDF文件中建立表格(教程),圖2:新PDF文件 新PDF文件

為PDF文件建立表格

以下程式碼將在PDF中建立一個表格。

public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    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>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

上面的程式碼使用簡單的HTML標籤在PDF中使用Java建立了一個表格。 因此,要建立表格,您必須具備使用HTML標籤的基本知識。 幾乎每個Java程式開發者都知道HTML,所以使用HTML標籤建立新的表格和表格單元非常容易。

此程式生成的PDF文件如下圖所示:

如何使用Java在PDF文件中建立表格(教程),圖3:包含HTML表格的PDF文件 包含HTML表格的PDF文件

這是一個沒有樣式的簡單表格。

現在讓我們為這個表格新增一些樣式,例如設置表格寬度、邊距、佈局、字體、背景色等等。

為表格新增樣式

以下範例程式碼將格式化我們的表格並為我們的單元格新增樣式。

public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    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>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

新增的CSS用於在PDF中為表格新增樣式。 因此,根據需要使用CSS進行樣式設計非常高效。

以下為此程式生成的PDF。

如何使用Java在PDF文件中建立表格(教程),圖4:包含HTML表格並使用CSS樣式化的PDF文件 包含HTML表格並使用CSS樣式化的PDF文件

上述程式碼看起來非常混亂。 但可以通過將所有HTML內容移動到一個HTML文件中然後從該文件生成PDF來清理它。

使用Java在PDF中使用HTML文件建立表格

建立一個新的HTML文件,並將所有HTML內容新增到該文件,如下所示:

如何使用Java在PDF文件中建立表格(教程),圖5:HTML移至其自有的HTML文件 HTML移至其自有的HTML文件

將以下程式碼新增到Java程式中。

// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

我們可以看到使用HTML文件生成PDF是多麼簡單。 如果您需要在Java中建立PDF文件,最簡單的方法是建立一個單獨的HTML文件,其中包括內容和樣式,然後只需用一行程式碼將您的HTML文件轉換為PDF。

如何使用Java在PDF文件中建立表格(教程),圖6:帶有樣式的最終PDF文件 帶有樣式的最終PDF文件

摘要

本教程示範了如何使用Java在PDF文件中建立樣式化的表格,並學習了如何將HTML文件轉換為PDF文件。 IronPDF for Java還提供為PDF文件新增圖片、拆分PDF文件新增頁眉和頁腳應用數位簽名等功能。 瀏覽IronPDF文件以了解更多關於這些功能和其他功能。

通過購買授權金鑰註冊免費試用來從您生成的PDF文件中刪除IronPDF浮水印。

常見問題

我如何啟動一個新的Java專案來建立PDF?

要啟動一個新的Java專案以建立PDF,您可以使用像IntelliJ這樣的IDE。首先設置專案,然後通過Maven安裝IronPDF程式庫以處理PDF的建立和操作。

將HTML內容轉換為Java中的PDF涉及哪些步驟?

要在Java中將HTML內容轉換為PDF,您可以使用IronPDF的PdfDocument.renderHtmlAsPdf方法。這涉及編寫您的HTML內容,選擇性地用CSS設計樣式,然後將其渲染為PDF。

我可以使用CSS為Java生成的PDF中的表格設計樣式嗎?

是的,您可以使用CSS為PDF中的表格新增樣式,方法是將CSS包含在HTML內容中,然後使用IronPDF將其渲染成PDF。這樣可以讓您定義字體、邊框、顏色等。

我如何使用Java從外部HTML文件建立PDF?

要在Java中從外部HTML文件建立PDF,您可以使用IronPDF的PdfDocument.renderHtmlFileAsPdf方法,這將整個HTML文件轉換為PDF文件。

使用第三方程式庫來在Java中建立PDF有什麼好處?

使用像IronPDF這樣的第三方程式庫可以簡化在Java中建立PDF的過程,提供例如HTML到PDF轉換、表格樣式設計等功能,還有圖像和數位簽名支援等附加功能。

我如何在使用Java程式庫的PDF文件中包含圖片?

您可以通過將圖片嵌入到您使用IronPDF渲染為PDF的HTML內容中在PDF文件中包含圖片。此方法允許視覺元素的無縫整合。

Java中有哪些可用的PDF拆分選項?

IronPDF提供了PDF拆分選項,允許您將單個PDF分成多個文件。此功能對於管理大型文件或提取特定部分特別有用。

我如何使用Java將數位簽名應用到PDF?

您可以使用IronPDF的內建功能在PDF上新增數位簽名,以提高文件的安全性和真實性。

如果我的PDF文件上有水印,我應該怎麼做?

如果您使用IronPDF建立的PDF文件上有水印,您可以通過購買授權金鑰或註冊免費試用來刪除它。

Darrius Serrant
全端軟體工程師(WebOps)

Darrius Serrant擁有邁阿密大學的電腦科學學士學位,並在Iron Software擔任全端WebOps行銷工程師。從小就對程式設計有興趣,他認為計算既神秘又易於理解,成為創意和問題解決的完美媒介。

在Iron Software,Darrius喜歡創造新事物並簡化複雜的概念,使其更易於理解。作為我們的常駐開發人員之一,他還志願教學,將他的專業知識傳授給下一代。

對Darrius來說,他的工作是有意義的,因為它有價值且對社會有真正的影響。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話