跳至頁尾內容
USING IRONPDF FOR JAVA

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

Java PDF程式庫的介紹:IronPDF

如果您正從事Java專案的開發,並需要從HTML生成PDF文件或從PDF中提取文字,您應該尋找一個可靠且高效的Java PDF程式庫。 您可能會發現IronPDF - The Java PDF Library,它簡化了PDF文件的生成和操作,使得作為開發者的生活更加輕鬆。 市面上有多個PDF程式庫,如PDF Clown或iText,但本文將深入探討IronPDF的世界,探索它如何幫助您在Java專案中。

開始使用 IronPDF

IronPDF是一個Java程式庫,允許您在Java應用程式中建立、閱讀和編輯PDF文件。 這個多功能程式庫支持從HTML生成PDF,現有PDF文件以及URL。 您可以使用IronPDF從PDF中提取文字,是任何Java開發者處理PDF文件時必備的工具。

在Maven專案中安裝IronPDF

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

以下是如何將IronPDF及其所需的日誌依賴SLF4J新增到您的Maven專案中:

  1. 打開您的專案的pom.xml文件。
  2. 找到dependencies部分。 如果不存在,請建立一個。
  3. 新增以下IronPDF和SLF4J的依賴項條目:

    <dependencies>
    
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    <dependencies>
    
        <dependency>
            <groupId>com.ironsoftware</groupId>
            <artifactId>ironpdf</artifactId>
            <version>2023.10.1</version>
        </dependency>
    
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>
    XML
  4. 保存pom.xml文件。
  5. 通過您的IDE或者在專案根目錄執行mvn install命令運行您的Maven專案。 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 Renderer Library (Developer Tutorial), Figure 1: The output PDF file
輸出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

此例中,使用renderHtmlAsPdf方法,將HTML文件的路徑作為輸入並建立PDF文件。

將URL轉換為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 Renderer Library (Developer Tutorial), Figure 2: The output PDF file from a URL
從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生成和操作。 使用其易於使用的API,您可以輕鬆使用IronPDF將HTML、HTML文件和URL轉換為PDF文件,以及從PDF中提取文字。 通過將IronPDF整合到您的Java專案中,您可以簡化工作流程並輕鬆建立高質量的PDF。

此外,IronPDF還具備在PDF中渲染圖表為PDF文件新增水印、處理PDF表單數位簽名的功能。

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

常見問題

Java PDF程式庫IronPDF有什麼用途?

IronPDF是一個Java程式庫,旨在促進在Java應用程式中建立、閱讀和編輯PDF文件。它在轉換HTML、HTML文件和URLs為PDF方面表現出色,所需程式碼量極少。

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

要將IronPDF整合到Maven專案中,您需要在`pom.xml`檔案的``部分新增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官方文件中找到,該文件提供全面的指南和程式碼片段。

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

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

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

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

Iron 支援團隊

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