跳至頁尾內容
使用 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起。

常見問題解答

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

IronPDF 是一個 Java 程式庫,旨在簡化 Java 應用程式中 PDF 文件的建立、讀取和編輯。它尤其擅長將 HTML、HTML 檔案和 URL 轉換為 PDF,且只需極少的程式碼量。

如何將 PDF 庫整合到 Maven 專案中?

要將 IronPDF 整合到 Maven 專案中,您需要在 `pom.xml` 檔案中的 `<project>` 部分中新增 IronPDF 和 SLF4J 依賴項。` 部分。此設定允許 Maven 下載這些依賴項並將其合併到您的專案中。

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

在 Java 中,可以使用 IronPDF 的renderHtmlAsPdf方法將 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 官方文檔,其中提供了全面的指南和程式碼片段。

柯蒂斯·週
技術撰稿人

Curtis Chau擁有卡爾頓大學電腦科學學士學位,專長於前端開發,精通Node.js、TypeScript、JavaScript和React。他熱衷於打造直覺美觀的使用者介面,喜歡使用現代框架,並擅長撰寫結構清晰、視覺效果出色的使用者手冊。

除了開發工作之外,柯蒂斯對物聯網 (IoT) 也抱有濃厚的興趣,致力於探索硬體和軟體整合的創新方法。閒暇時,他喜歡玩遊戲和製作 Discord 機器人,將他對科技的熱愛與創造力結合。