跳過到頁腳內容
使用 IRONPDF FOR JAVA

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

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

使用 Java 程式在 PDF 文件中建立表格需要藉助第三方函式庫。 有很多庫可用於透過 Java 程式在 PDF 中建立表格。 但是,它們可能價格昂貴、使用困難或有效能問題。 要找到一個易於使用、開發免費且效能高效的函式庫並不容易。

IronPDF是一個非常實用的 PDF 文件處理庫。 您可以點選IronPDF官方 Java 頁面,以了解更多關於IronPDF 的資訊。

本文將介紹以下步驟:

  1. 建立一個新項目
  2. 安裝IronPDF庫
  3. 建立一個新的PDF文檔
  4. 為其建立一個表格
  5. 在 PDF 文件中新增動態值

建立一個新的 Java 項目

打開你常用的整合開發環境(IDE)。本文推薦使用 IntelliJ IDEA,因此使用其他 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

在終端機中輸入以下指令並按下回車鍵,即可安裝指定的 Maven 依賴項。

mvn install
mvn install
SHELL

這將在此專案中安裝IronPDF 。

新增以下導入語句以使用IronPDF類別。

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 方法接受一個字串作為參數,並將該字串轉換為 PDF 文件的實例。

saveAs 函數接受一個檔案路徑作為參數,並將新建立的 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 標籤,透過 Java 在 PDF 中建立表格。 因此,要建立表格,您必須具備使用 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文件 PDF 文件包含一個由 HTML 產生的表格,並使用 CSS 設定了樣式。

上面的程式碼看起來很混亂。 但是,可以透過將所有 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 檔案新增頁首和頁尾套用數位簽章等功能。 請查閱IronPDF文檔,以了解有關這些特性和其他功能的更多資訊。

購買許可證金鑰註冊免費試用版,即可從產生的 PDF 文件中移除IronPDF浮水印。

常見問題解答

如何建立一個新的Java專案來產生PDF檔案?

要建立一個用於建立 PDF 的新 Java 項目,可以使用像 IntelliJ 這樣的整合開發環境 (IDE)。首先設定項目,並透過 Maven 安裝IronPDF庫來處理 PDF 的建立和操作。

在Java中將HTML內容轉換為PDF需要哪些步驟?

若要在 Java 中將 HTML 內容轉換為 PDF,可以使用 IronPDF 的PdfDocument.renderHtmlAsPdf方法。這包括編寫 HTML 內容(可選擇使用 CSS 設定樣式),然後將其渲染為 PDF。

我可以使用 CSS 來設定 Java 產生的 PDF 檔案中表格的樣式嗎?

是的,您可以使用 CSS 為 PDF 中的表格設定樣式。只需在將 HTML 內容透過IronPDF渲染成 PDF 之前,將 CSS 程式碼包含在 HTML 內容中即可。這樣您就可以定義字體、邊框、顏色等等。

如何使用 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 Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me