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

Java PDF 渲染庫(開發人員教程)

Java PDF 庫 IronPDF 簡介

如果你正在開發一個 Java 項目,需要從 HTML 生成 PDF 文件或從 PDF 中提取文本,那麼你應該尋找一個可靠且高效的 Java PDF 庫。 你可能會偶然發現IronPDF——Java PDF 庫,它簡化了 PDF 的生成和操作,讓你的開發工作變得更輕鬆。 市面上有許多 PDF 庫,例如 PDF Clown 或 iText,但本文將深入探討 IronPDF,並探索它如何幫助您進行 Java 專案。

開始使用 IronPdf

IronPDF 是一個 Java 程式庫,可讓您在 Java 應用程式中建立、讀取和編輯 PDF 文件。 這個功能強大的庫支援使用 IronPDF 從 HTML、現有 PDF 文件和 URL 生成 PDF 。 您可以使用 IronPDF 從 PDF 中提取文本,因此對於任何處理 PDF 文件的 Java 開發人員來說,它都是必備工具。

在 Maven 專案中安裝 IronPDF

Maven 是一款流行的 Java 專案建置自動化和依賴管理工具。 要將 IronPDF 安裝到您的 Maven 專案中,您需要將必要的依賴項新增至pom.xml檔案中。

以下是如何將 IronPDF 及其所需的日誌記錄器相依性 SLF4J 新增至 Maven 專案的方法:

  1. 開啟專案的pom.xml檔。
  2. 找到dependencies項部分。 如果不存在,就創建一個。
  3. 為 IronPDF 和 SLF4J 新增以下相依性條目:

    <dependencies>
        <!-- IronPDF Dependency -->
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <!-- SLF4J Dependency (Simple Logging Facade for Java) -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    <dependencies>
        <!-- IronPDF Dependency -->
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <!-- SLF4J Dependency (Simple Logging Facade for Java) -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    XML
  4. 儲存pom.xml檔。
  5. 運行你的 Maven 項目,可以透過你的 IDE 運行,也可以在專案根目錄中執行mvn install指令。 Maven 將自動下載 IronPDF 和 SLF4J 依賴項並將其新增至您的專案。

現在,您已成功將 IronPDF 新增至您的 Maven 專案中,您可以開始使用這個強大的 Java PDF 程式庫在您的 Java 應用程式中建立、編輯和操作 PDF 文件。 請務必查看IronPDF 文檔,以獲取更多範例和有關該庫的功能和功能的詳細資訊。 讓我們來了解這裡的一些功能。

將 HTML 渲染為 PDF

處理 PDF 文件時最常見的任務之一是使用 IronPDF 將 HTML 轉換為 PDF 。 IronPDF 只需幾行程式碼就能輕鬆實現這一點。 以下範例示範如何將簡單的 HTML 字串轉換為 PDF 文件:

import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the HTML as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class HtmlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the HTML as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Hello World</h1> Made with IronPDF!");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

此程式碼片段匯入必要的 IronPDF 類別並套用許可證金鑰。 接下來,它會設定一個用於偵錯的日誌路徑。 renderHtmlAsPdf方法接受一個 HTML 字串作為輸入,並將其轉換為 PDF 文檔,然後您可以將其儲存到文件中。

Java PDF渲染器庫(開發者教學),圖1:輸出的PDF文件
輸出的PDF文件

將 HTML 文件轉換為 PDF

IronPDF 也支援將 HTML 文件轉換為 PDF 文件。 過程與前面的例子非常相似,只是方法上略有不同:

import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class HtmlFileToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the HTML file as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class HtmlFileToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the HTML file as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("example.html");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("html_file_saved.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

在這種情況下,使用renderHtmlFileAsPdf方法而不是renderHtmlAsPdf ,將 HTML 檔案的路徑作為輸入並建立 PDF 文件。

將網址轉換為PDF

IronPDF能夠將網頁轉換為PDF文件。 當您想要從動態網頁產生 PDF 報告時,這將特別有用。 以下程式碼片段示範如何實現此功能:

import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class UrlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the URL as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
import com.ironsoftware.ironpdf.*;

import java.io.IOException;
import java.nio.file.Paths;

public class UrlToPdfExample {
    public static void main(String[] args) {
        try {
            // Apply your license key
            License.setLicenseKey("YOUR-LICENSE-KEY");

            // Set a log path
            Settings.setLogPath(Paths.get("C:/tmp/IronPdfEngine.log"));

            // Render the URL as a PDF, stored in myPdf as type PdfDocument
            PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://ironpdf.com");

            // Save the PdfDocument to a file
            myPdf.saveAs(Paths.get("url.pdf"));
        } catch (IOException e) {
            System.out.println("An error occurred: " + e.getMessage());
        }
    }
}
JAVA

renderUrlAsPdf方法接受一個 URL 作為輸入,並根據網頁內容建立 PDF 檔案。 這種方法可以處理複雜的頁面,包括包含 JavaScript 和 CSS 的頁面。

Java PDF渲染庫(開發者教學),圖2:從URL輸出的PDF文件
從 URL 輸出的 PDF 文件

從PDF中提取文本

除了建立 PDF 文件外,IronPDF 還提供了從現有 PDF 文件中提取文字的功能。 當您需要搜尋、索引或分析 PDF 文件的內容時,此功能非常有用。以下程式碼片段展示如何從 PDF 文件中提取文字:

import com.ironsoftware.ironpdf.*;

public class ExtractTextFromPdfExample {
    public static void main(String[] args) {
        // Render PDF from a URL
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");

        // Extract all text from the PDF document
        String text = pdf.extractAllText();

        // Output the extracted text
        System.out.println("Text extracted from the PDF: " + text);
    }
}
import com.ironsoftware.ironpdf.*;

public class ExtractTextFromPdfExample {
    public static void main(String[] args) {
        // Render PDF from a URL
        PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://unsplash.com/");

        // Extract all text from the PDF document
        String text = pdf.extractAllText();

        // Output the extracted text
        System.out.println("Text extracted from the PDF: " + text);
    }
}
JAVA

在這個範例中,PDF 是從 URL 渲染的,並且使用extractAllText方法來取得 PDF 文件的文字內容。 然後可以將提取的文字列印到控制台或根據需要進行處理。

使用 IronPDF 將影像轉換為 PDF

IronPDF也可以將影像轉換為PDF文件。 當您需要建立 PDF 作品集或將多張圖片合併到單一文件中時,此功能非常有用。以下程式碼片段示範如何將目錄中的一組圖片轉換為單一 PDF 文件:

import com.ironsoftware.ironpdf.*;

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

public class ImagesToPdfExample {
    public static void main(String[] args) {
        Path imageDirectory = Paths.get("assets/images");

        List<Path> imageFiles = new ArrayList<>();

        // Use DirectoryStream to iterate over image files
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry : stream) {
                imageFiles.add(entry);
            }

            // Convert images to a PDF document and save it
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            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 ImagesToPdfExample {
    public static void main(String[] args) {
        Path imageDirectory = Paths.get("assets/images");

        List<Path> imageFiles = new ArrayList<>();

        // Use DirectoryStream to iterate over image files
        try (DirectoryStream<Path> stream = Files.newDirectoryStream(imageDirectory, "*.{png,jpg}")) {
            for (Path entry : stream) {
                imageFiles.add(entry);
            }

            // Convert images to a PDF document and save it
            PdfDocument.fromImage(imageFiles).saveAs(Paths.get("assets/composite.pdf"));
        } catch (IOException exception) {
            throw new RuntimeException(String.format("Error converting images to PDF from directory: %s: %s",
                    imageDirectory,
                    exception.getMessage()),
                    exception);
        }
    }
}
JAVA

只需這一小程式碼,IronPDF 即可輕鬆將多個影像轉換為單一 PDF 文檔,進一步證明了該程式庫在各種 PDF 相關任務中的多功能性和實用性。

結論

IronPDF 是一個功能強大且用途廣泛的 Java PDF 程式庫,可簡化 Java 應用程式中的 PDF 生成和操作。 IronPDF 擁有易於使用的 API,您可以輕鬆地將 HTML、HTML 文件和 URL 轉換為 PDF 文件,也可以從現有的 PDF 文件中提取文字。 透過將 IronPDF 整合到您的 Java 專案中,您可以簡化工作流程並輕鬆建立高品質的 PDF。

此外,IronPDF 還能夠以程式設計方式在 PDF 中渲染圖表、為PDF 文件添加浮水印、處理PDF 表單和數位簽章

IronPDF 提供免費試用,讓您有足夠的時間評估其功能,並確定它是否適合您的專案。 如果您決定在試用期結束後繼續使用 IronPDF,許可證費用從$799起。

常見問題解答

IronPDF 這個 Java PDF 函式庫是用來做什麼的?

IronPDF for Java 是一個 Java 函式庫,其設計目的是方便在 Java 應用程式中建立、閱讀和編輯 PDF 文件。它擅長於以最少的編碼工作將 HTML、HTML 檔案和 URL 轉換成 PDF。

如何將 PDF 函式庫整合至 Maven 專案?

要將 IronPDF 整合到 Maven 專案中,您需要將 IronPDF 與 SLF4J 的相依性加入您的 `pom.xml` 檔案中的 `` 區段。此設定可讓 Maven 下載這些依賴項目,並將其納入您的專案中。

如何使用 Java 將 HTML 轉換為 PDF?

透過 IronPDF for Java 的 renderHtmlAsPdf 方法,可以在 Java 中將 HTML 轉換為 PDF。此方法可處理 HTML 字串並產生 PDF 文件。

我可以將 HTML 檔案轉換成 PDF 文件嗎?

是的,IronPDF 允許您使用 renderHtmlFileAsPdf 方法將 HTML 檔案轉換為 PDF,該方法讀取 HTML 檔案並輸出 PDF 文件。

是否可以在 Java 中將網頁轉換為 PDF?

是的,使用 IronPDF,您可以使用 renderUrlAsPdf 方法將網頁轉換為 PDF。此方法接收 URL 並從網頁內容建立 PDF。

如何以 Java 程式化的方式從 PDF 文件中抽取文字?

您可以使用 IronPDF 的 extractAllText 方法從 PDF 中提取文字,該方法可以擷取並輸出 PDF 文件中的文字內容。

影像可以使用 Java 函式庫轉換為 PDF 嗎?

是的,IronPDF 可將圖片轉換為 PDF。fromImage 方法可用於將單個或多個圖片轉換為單個 PDF 文件。

IronPDF 在 PDF 操作方面提供哪些附加功能?

IronPDF 提供了其他功能,例如在 PDF 中渲染圖表、添加水印以及處理 PDF 表單和數位簽名,這些功能都可以透過程式化方式進行管理。

IronPDF 是否提供免費試用版?

是的,IronPDF 提供免費試用評估,讓您在決定購買之前測試其功能。

在哪裡可以找到在 Java 中使用 IronPDF 的更多資訊和範例?

使用 IronPDF 的詳細資訊和範例可在官方的 IronPDF 文件中找到,該文件提供了全面的指南和程式碼片段。

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

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

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

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