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

PDF 創建者 For Java(分步教程)

本文將示範如何使用以 Java 程式語言編寫的 PDF 建立器建立 PDF 檔案。

使用 Java 建立 PDF 檔案在 IT 產業有著廣泛的應用。 有時,開發人員可能需要將 PDF 建立工具整合到他們的專案中。 本文討論的 PDF 建立工具是IronPDF for Java 。 它可以幫助開發者從頭開始建立新的 PDF 文檔,並將不同的文件格式轉換為 PDF 文件。

1.IronPDF for Java。

IronPDF for Java 是一個用於建立、準備和管理 PDF 檔案的 Java 程式庫。 它允許開發人員讀取、產生和修改 PDF 文件,而無需安裝任何 Adobe 軟體。

IronPDF 在從 PDF 文件建立 PDF 表單方面也表現出色。 IronPDF for Java 可以建立自訂頁首和頁尾建立簽章、新增附件,以及新增密碼加密和安全機制。 IronPDF 也支援多執行緒和非同步功能,以提高效能。

2. 先決條件

在開始建立 PDF 檔案之前,必須先滿足一些先決條件。

  1. 系統中應安裝 Java,並在環境變數中設定其路徑。 如果您尚未安裝 Java,請參考此安裝指南進行安裝。
  2. 應該安裝一個好的 Java IDE,例如 Eclipse 或 IntelliJ。 若要下載 Eclipse,請造訪此下載頁面;若要安裝 IntelliJ,請點選此安裝頁面
  3. 在開始 PDF 轉換之前,應將 Maven 整合到 IDE 中。 有關安裝 Maven 並將其整合到環境中的教程,請造訪JetBrains 提供的以下整合連結

3. IronPDF Java 版安裝

一旦所有先決條件都滿足,即使對於 Java 新手開發人員來說,安裝 IronPDF for Java 也非常簡單和容易。

本文將使用 JetBrains IntelliJ IDEA 安裝程式庫並執行程式碼範例。

首先,打開 JetBrains IntelliJ IDEA 並建立一個新的 Maven 專案。

Java PDF 建立器(逐步教學),圖 1:新專案新建項目

將出現一個新視窗。 輸入項目名稱,然後點選完成。

Java PDF 建立器(逐步教學),圖 2:設定新項目

點擊"完成"後,將開啟一個新專案並產生pom.xml文件,然後使用此文件新增一些 Maven 專案相依性。

Java PDF 建立器(逐步教學),圖 3:pom.xml文件

pom.xml檔中加入以下依賴項。

<dependencies>
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version> <!-- Replace with the latest version -->
    </dependency>
</dependencies>
<dependencies>
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>1.0.0</version> <!-- Replace with the latest version -->
    </dependency>
</dependencies>
XML

pom.xml檔案中新增依賴項後,檔案右上角會出現一個小圖示。

Java PDF 建立器(逐步教學),圖 4:帶有安裝依賴項圖示的 pom.xml文件

點擊此圖示安裝 IronPDF for Java 的 Maven 依賴項。 這只需要幾分鐘,具體時間取決於您的網路連線速度。

4. 建立 PDF 文件

本節將討論如何使用 IronPDF for Java 建立新的 PDF 文件。 IronPDF 只需幾行程式碼即可輕鬆建立新的 PDF 文件。

使用 IronPDF for Java 建立 PDF 檔案的方法有很多種。

  • [renderHtmlAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String)方法可以將 HTML 字串轉換為 PDF 文件
  • [renderHtmlFileAsPdf](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlFileAsPdf(java.lang.String)方法可以將 HTML 文件轉換為 PDF 文件
  • renderUrlAsPdf 方法可以直接從 URL 建立 PDF 文件,並將結果儲存到指定的資料夾中。

4.1. 使用 HTML 字串建立 PDF 文檔

下面的程式碼範例展示如何使用renderHtmlAsPdf方法將 HTML 標記字串轉換為 PDF。 請注意,使用renderHtmlAsPdf方法需要具備 HTML 的基本知識。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a simple HTML string into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a simple HTML string into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1> ~Hello World~ </h1> Made with IronPDF!");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述程式碼的輸出結果如下所示。

Java PDF 建立器(逐步教學),圖 5:輸出文件

4.2. 從 HTML 文件建立 PDF 文件

IronPDF 庫的renderHtmlFileAsPdf方法可讓您從 HTML 原始檔案產生新的 PDF 檔案。此方法會將 HTML 文件中的所有內容(包括圖形、CSS、表單等)轉換為 PDF。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert an HTML file into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert an HTML file into a PDF document
        PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述程式碼範例的輸出結果如下所示。

Java PDF 建立器(逐步教學),圖 6:HTML 檔案的輸出文件

4.3. 從URL建立PDF文件

使用 IronPDF,您可以根據網頁 URL 快速建立 PDF,精確度和準確度都非常高。 它還提供了從需要登入憑證才能存取的網站建立 PDF 文件的功能。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a web page URL into a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.alibaba.com/");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-LICENSE-KEY"); // Set your IronPDF license key
        Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log")); // Set the path for log files
        // Convert a web page URL into a PDF document
        PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://www.alibaba.com/");
        // Save the PDF document to the specified path
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    }
}
JAVA

上述程式碼的輸出結果如下所示。

Java PDF 建立器(逐步教學),圖 7:來自阿里巴巴網站的輸出 PDF文件

4.4. 從影像建立 PDF 文件

IronPDF for Java 也可以從一個或多個影像建立 PDF 檔案。

import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        Path imageDirectory = Paths.get("assets/images"); // Define the directory to search for images
        List<Path> imageFiles = new ArrayList<>();
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry: stream) {
                imageFiles.add(entry); // Add each image file to the list
            }
            // Convert images into a composite PDF document
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            // Handle the exception if an error occurs during image-to-PDF conversion
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                exception);
        }
    }
}
import com.ironsoftware.ironpdf.*;
import java.io.IOException;
import java.nio.file.*;
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        Path imageDirectory = Paths.get("assets/images"); // Define the directory to search for images
        List<Path> imageFiles = new ArrayList<>();
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry: stream) {
                imageFiles.add(entry); // Add each image file to the list
            }
            // Convert images into a composite PDF document
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            // Handle the exception if an error occurs during image-to-PDF conversion
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                exception);
        }
    }
}
JAVA

上述程式碼的輸出結果如下所示。

Java PDF 建立器(逐步教學),圖 8:從影像輸出的 PDF文件

5.結論

本文示範如何從頭開始建立 PDF,以及如何從現有的 HTML 檔案或 URL 建立 PDF。 IronPDF 讓您可以將多種格式轉換為高品質的 PDF,並簡化 PDF 文件的操作和格式化過程。

IronPDF 非常適合需要處理、修改或操作 PDF 文件的軟體開發人員和企業。 要了解有關 IronPDF for Java 的更多信息,並獲取有關如何使用 Java 操作 PDF 的類似教程,請參閱以下官方文件。 有關使用 Java 建立 PDF 檔案的教學課程,請造訪此Java 程式碼範例

IronPDF for Java 可免費用於開發用途,但商業用途需要許可證。 有關許可的更多信息,請訪問以下許可頁面

常見問題解答

如何使用 Java 建立 PDF 檔案?

您可以使用 IronPDF for Java 函式庫建立 PDF 檔案,該函式庫可讓您從頭開始產生 PDF,或將 HTML、URL 或影像等各種格式轉換成 PDF 文件。

在 IntelliJ IDEA 中安裝 PDF 函式庫的步驟是什麼?

要在 IntelliJ IDEA 中安裝 IronPDF,請建立一個 Maven 專案,並將 IronPDF 的 Maven 相依性加入 pom.xml 檔案中。然後,使用您的 IDE 來管理安裝。

我可以在 Java 中為 PDF 新增自訂頁首與頁尾嗎?

是的,IronPDF for Java 允許您使用其 API 方法添加頁首和頁尾來自訂 PDF 文件。

如何在 Java 中將 HTML 檔案轉換為 PDF 文件?

您可以使用 IronPDF for Java 函式庫中的 renderHtmlFileAsPdf 方法將 HTML 檔案轉換為 PDF 文件。此方法可保留圖形、CSS 及表格。

是否可以使用 Java 加密 PDF 檔案?

是的,IronPDF for Java 支援 PDF 檔密碼加密,讓您有效保護文件安全。

如何使用圖片在 Java 中建立 PDF 文件?

IronPDF for Java 提供了一種稱為 fromImage 的方法,可讓您從一個或多個影像建立 PDF 文件。

IronPDF for Java 支持多线程吗?

是的,IronPDF for Java 包含多執行緒和異步功能,可提高處理 PDF 文件時的效能。

如果在 Java 中建立 PDF 失敗,該怎麼辦?

確保 IronPDF for Java 已經正確安裝,且您的 Java 環境已正確設定。檢查您的程式碼在使用 IronPDF 方法時是否有任何錯誤,並參閱官方文件以排除故障。

我可以用 Java 將網頁 URL 轉換成 PDF 嗎?

是的,IronPDF for Java 允許您使用 renderUrlAsPdf 方法將網頁 URL 轉換為 PDF 文件。

在哪裡可以找到學習使用 IronPDF for Java 的資源?

您可以在官方 IronPDF 文件頁面上找到有關使用 IronPDF for Java 的全面教程和文件。

Darrius Serrant
全棧軟件工程師 (WebOps)

Darrius Serrant 擁有邁阿密大學計算機科學學士學位,目前任職於 Iron Software 的全栈 WebOps 市場營銷工程師。從小就迷上編碼,他認為計算既神秘又可接近,是創意和解決問題的完美媒介。

在 Iron Software,Darrius 喜歡創造新事物,並簡化複雜概念以便於理解。作為我們的駐場開發者之一,他也自願教學生,分享他的專業知識給下一代。

對 Darrius 來說,工作令人滿意因為它被重視且有實際影響。