跳過到頁腳內容
使用 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 文件中提取文字和圖像,它還支援從各種來源(包括 HTML 字串、文件、URL 和圖像)建立 PDF 。 此外,您還可以使用 IronPDF 輕鬆新增內容、插入簽名,並將元資料嵌入 PDF 文件中。 IronPDF 專為 Java 8+、Scala 和 Kotlin 設計,並與 Windows、Linux 和雲端平台相容。

使用 Java 程式中的 IronPDF 建立 PDF 檔案解析器

先決條件

要在Java中建立一個PDF解析項目,您需要以下工具:

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

    • 在 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 儲存庫網站,取得最新的 Java 版 IronPDF 軟體包
    • 可直接從 Iron Software官方下載頁面下載。
    • 在您的簡單 Java 應用程式中使用 JAR 檔案手動安裝 IronPDF。
  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 程式中從特定路徑和特定檔案名稱解析 PDF 檔案。 代碼如下:

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:輸出 Output

步驟 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:輸出 Output

步驟 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方法將每個BufferedImage儲存為 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:輸出 Output

結論

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

有關如何在 Java 中以程式設計方式處理 PDF 文件的更多詳細信息,請訪問這些PDF 文件創建範例

IronPDF for Java 程式庫可免費用於開發目的,並提供免費試用版。 但是,商業用途可以透過 IronSoftware 獲得許可,起價為$799 。

常見問題解答

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

要在 Java 中建立 PDF 解析器,您可以使用 IronPDF for Java 函式庫。首先下載並安裝 IronPdf,然後使用 fromFile 方法載入您的 PDF 文件。您可以分別使用 extractAllTextextractAllImages 方法來萃取文字和影像。

IronPDF 可以在 Java 8+ 中使用嗎?

是的,IronPDF 兼容 Java 8 及更高版本,以及 Scala 和 Kotlin。它支援多種平台,包括 Windows、Linux 和雲端環境。

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

主要步驟包括設定 Maven 專案、新增 IronPDF 相依性、使用 fromFile 載入 PDF 文件、使用 extractAllText 抽取文字,以及使用 extractAllImages 抽取影像。

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

您可以使用 IronPDF for Java 的 renderUrlAsPdf 方法將 URL 轉換為 PDF。這可讓您有效率地將網頁渲染為 PDF 文件。

IronPDF 適用於雲端 Java 應用程式嗎?

是的,IronPDF 的設計具有多功能性,並支援雲端環境,因此適合開發需要在雲端使用 PDF 功能的 Java 應用程式。

如何管理 Java PDF 解析專案的相依性?

若要管理 Java 專案中的相依性,您可以使用 Maven。在專案的 pom.xml 檔案中加入 IronPDF 函式庫,將其納入為依賴項目。

IronPDF 有哪些授權選項?

IronPdf 提供用於開發的免費試用版。然而,若要用於商業用途,則必須取得授權。這可確保使用所有功能和優先支援。

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

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

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

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