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

如何在 Java 中解析 PDF(開發人員教程)

本文將使用IronPDF程式庫以高效方法在Java中創建PDF解析器。

IronPDF - Java PDF 程式庫

IronPDF for Java 是一個Java PDF程式庫,使得創建、閱讀和操作PDF文件變得簡單且準確。 它建立在IronPDF for .NET的成功基礎上,提供跨不同平台的高效功能。 IronPDF for Java利用IronPdfEngine,其運行速度快且為性能優化。

透過IronPDF,您可以從PDF文件中擷取文本和圖像,還可以從多種來源創建PDF,包括HTML字符串、文件、URL和圖像。 此外,您可以輕鬆地添加新內容,使用IronPDF插入簽名,並且將元數據嵌入PDF文件中。 IronPDF專為Java 8+、Scala和Kotlin設計,並且與Windows、Linux及雲平台相容。

使用IronPDF在Java程式中創建PDF文件解析器

先決條件

要在Java中創建PDF解析專案,您將需要以下工具:

  1. Java IDE: 您可以使用任何支援Java的IDE,有多種Java IDE可供開發使用。 本教程將使用IntelliJ IDE。 您可以使用 NetBeans、Eclipse 等。
  2. Maven專案: Maven是一個依賴管理工具,並允許控制Java專案。 Maven for Java可以從Maven官方網站下載。 IntelliJ Java IDE內建支援Maven。
  3. IronPDF - 您可以通過多種方式下載和安裝IronPDF for Java。

    • 在Maven專案的pom.xml文件中添加IronPDF依賴。

      <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>ironpdf</artifactId>
       <version>[LATEST_VERSION]</version>
      </dependency>
      <dependency>
       <groupId>com.ironsoftware</groupId>
       <artifactId>ironpdf</artifactId>
       <version>[LATEST_VERSION]</version>
      </dependency>
      XML
    • 造訪Maven庫網站以獲取最新的IronPDF for Java包
    • 從Iron Software 官方下載頁面直接下載。
    • 使用JAR文件手動安裝IronPDF到您的簡單Java應用程式中。
  4. Slf4j-Simple: 此依賴也需要用於在現有文件上蓋章內容。 可以使用IntelliJ中的Maven依賴管理器添加,或直接從Maven網站下載。將以下依賴添加到pom.xml文件中:

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>2.0.5</version>
    </dependency>
    XML

添加必要的導入

安裝所有先決條件後,第一步是導入必要的IronPDF包以處理PDF文件。 在Main.java文件頂部添加以下代碼:

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

授權金鑰

IronPDF 中的一些方法需要授權才能使用。 您可以購買授權或在免費試用中試用IronPDF。 您可以按如下所示設置金鑰:

License.setLicenseKey("YOUR-KEY");
License.setLicenseKey("YOUR-KEY");
JAVA

步驟1:解析現有的PDF文件

要解析現有文件以提取內容,需使用PdfDocument類。 其靜態[fromFile](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#fromFile(java.nio.file.Path)方法用於從特定路徑解析具有特定文件名的PDF文件於Java程式中。 代碼如下:

PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("sample.pdf"));
JAVA

如何在Java中解析PDF(開發者教程),圖1:解析的文件 已解析的文件

步驟2:從解析的PDF文件中提取文本數據

IronPDF for Java提供了簡便方法來從PDF文件中提取文本。 以下代碼片段用於從PDF文件中提取文本數據如下:

String extractedText = parsedDocument.extractAllText();
String extractedText = parsedDocument.extractAllText();
JAVA

上述代碼會產生以下輸出:

如何在Java中解析PDF(開發者教程),圖2:輸出 輸出

步驟3:從URL或HTML字符串中提取文本數據

IronPDF for Java的功能不限於現有PDF,它還可以創建並解析新文件以提取內容。 這裡,本教程將從URL創建一個PDF文件並提取其中的內容。 以下示例顯示如何完成此任務:

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-KEY");

        PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
        String extractedText = parsedDocument.extractAllText();
        System.out.println("Text Extracted from URL:\n" + extractedText);
    }
}
public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-KEY");

        PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");
        String extractedText = parsedDocument.extractAllText();
        System.out.println("Text Extracted from URL:\n" + extractedText);
    }
}
JAVA

輸出如下:

如何在Java中解析PDF(開發者教程),圖3:輸出 輸出

步驟4:從解析的PDF文件中提取圖像

IronPDF還提供簡易選項從解析的文件中提取所有圖像。 本教程將使用前面的示例來看看如何輕鬆從PDF文件中提取圖像。

import com.ironsoftware.ironpdf.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-KEY");

        PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");

        try {
            List<BufferedImage> images = parsedDocument.extractAllImages();
            System.out.println("Number of images extracted from the website: " + images.size());

            int i = 0;
            for (BufferedImage image : images) {
                ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("assets/extracted_" + ++i + ".png")));
            }
        } catch (Exception exception) {
            System.out.println("Failed to extract images from the website");
            exception.printStackTrace();
        }
    }
}
import com.ironsoftware.ironpdf.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.List;

public class Main {
    public static void main(String[] args) throws IOException {
        License.setLicenseKey("YOUR-KEY");

        PdfDocument parsedDocument = PdfDocument.renderUrlAsPdf("https://ironpdf.com/java/");

        try {
            List<BufferedImage> images = parsedDocument.extractAllImages();
            System.out.println("Number of images extracted from the website: " + images.size());

            int i = 0;
            for (BufferedImage image : images) {
                ImageIO.write(image, "PNG", Files.newOutputStream(Paths.get("assets/extracted_" + ++i + ".png")));
            }
        } catch (Exception exception) {
            System.out.println("Failed to extract images from the website");
            exception.printStackTrace();
        }
    }
}
JAVA

[extractAllImages](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllImages()) 方法返回BufferedImages列表。 每個ImageIO.write方法保存為PNG圖像到某個位置。 解析的PDF文件中有34張圖像,每張圖像都被完美地提取。

如何在Java中解析PDF(開發者教程),圖4:提取的圖像 提取的圖像

步驟5:從PDF文件中的表格中提取數據

使用[extractAllText方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllText()從PDF文件中的表格邊界中提取內容變得簡單,只需一行代碼。 以下代碼片段演示如何從PDF文件中的表格中提取文本:

如何在Java中解析PDF(開發者教程),圖5:PDF中的表格 PDF中的表格

PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("table.pdf"));
String extractedText = parsedDocument.extractAllText();
System.out.println(extractedText);
PdfDocument parsedDocument = PdfDocument.fromFile(Paths.get("table.pdf"));
String extractedText = parsedDocument.extractAllText();
System.out.println(extractedText);
JAVA

輸出如下:

如何在Java中解析PDF(開發者教程),圖6:輸出 輸出

結論

本文示範了如何在Java中使用IronPDF解析現有PDF文件或從URL創建新的PDF解析文件以提取數據。 打開文件後,可以從PDF中提取表格數據、圖像和文本,還可以將提取的文本添加到文本文件中以供日後使用。

欲了解更多有關如何在Java程式中以程式方式處理PDF文件的詳細資訊,請參見這些PDF文件創建範例

IronPDF for Java程式庫免費供開發用途,可提供免費試用。 但對於商業用途,可通過IronSoftware 取得授權,起價為$799。

常見問題解答

如何在Java中創建PDF解析器?

要在Java中創建PDF解析器,您可以使用IronPDF庫。首先下載並安裝IronPDF,然後使用fromFile方法加載您的PDF文檔。您可以分別使用extractAllTextextractAllImages方法提取文本和圖像。

IronPDF可以與Java 8+一起使用嗎?

可以,IronPDF兼容Java 8及以上版本,以及Scala和Kotlin。它支持多個平台,包括Windows, Linux和雲環境。

在Java中使用IronPDF解析PDF的關鍵步驟是什麼?

關鍵步驟包括設置Maven項目,添加IronPDF依賴項,用fromFile加載PDF文檔,使用extractAllText提取文本,並使用extractAllImages提取圖像。

如何在Java中將URL轉換為PDF?

您可以使用IronPDF的renderUrlAsPdf方法在Java中將URL轉換為PDF。這允許您將網頁高效渲染為PDF文檔。

IronPDF 是否適合雲端 Java 應用?

可以,IronPDF設計得非常多功能,支持基於雲的環境,非常適合開發需要在雲中進行PDF功能的Java應用程序。

如何管理Java PDF解析項目的依賴項?

對於管理Java項目的依賴項,您可以使用Maven。將IronPDF庫添加到您的項目的pom.xml文件中以作為依賴項。

IronPDF 的許可選擇有哪些?

IronPDF為開發目的提供免費試用版。不過,用於商業用途則需要授權。這確保獲得所有功能和優先支持。

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