跳至頁尾內容
USING 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和Cloud平台。

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

先決條件

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

  1. Java IDE:您可以使用任何支援Java的IDE。目前有多種Java IDE可供開發使用。 這裡這篇教程將使用IntelliJ IDE。 您可以使用NetBeans、Eclipse等。
  2. Maven專案:Maven是一個依賴管理工具,可控制Java專案。 Java的Maven可以從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儲存庫網站以獲取最新的Java IronPDF包
    • 從Iron Software 官方下載頁面直接下載。
    • 在您的簡單Java應用程式中手動安裝IronPDF JAR文件。
  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)方法用於在Java程式中從特定路徑含有特定文件名解析PDF文件。 程式碼如下:

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

How to Parse PDF in Java (Developer Tutorial), Figure 1: Parsed document Parsed document

步驟2:從解析的PDF文件提取文字資料

IronPDF for Java提供了一種簡單方法來從PDF文件中提取文字。 下面的程式碼片段是用來從PDF文件中提取文字的程式碼:

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

上述程式碼生成的輸出如下:

How to Parse PDF in Java (Developer Tutorial), Figure 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

輸出如下:

How to Parse PDF in Java (Developer Tutorial), Figure 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

方法BufferedImages列表。 然後每個ImageIO.write儲存為PNG圖片在一個位置。 解析的PDF文件中有34張圖片,每張圖片均完美提取。

How to Parse PDF in Java (Developer Tutorial), Figure 4: Extracted images Extracted images

步驟5:從PDF文件中的表格提取資料

從PDF文件中的表格界限提取內容僅需一行程式碼即可完成,使用[extractAllText方法](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#extractAllText()。 下面的程式碼片段演示了如何從PDF文件中的表格提取文字:

How to Parse PDF in Java (Developer Tutorial), Figure 5: Table in PDF Table in 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

輸出如下:

How to Parse PDF in Java (Developer Tutorial), Figure 6: Output 輸出

結論

這篇文章展示了如何解析現有的PDF文件或從URL建立新的PDF解析文件,以使用IronPDF從中提取資料。 打開文件後,它可以從PDF中提取制表資料、圖像和文字,並可以將提取的文字新增到文字文件中以便日後使用。

有關如何在Java中程式化處理PDF文件的更多詳細資訊,請造訪這些PDF文件建立範例

IronPDF for Java程式庫可免費用於開發目的,並提供免費試用。 然而,商業使用可以透過Iron Software獲取授權,價格從$999起。

常見問題

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

要在Java中建立一個PDF解析器,您可以使用IronPDF程式庫。首先下載並安裝IronPDF,然後使用fromFile方法載入您的PDF文件。您可以分別使用extractAllTextextractAllImages方法提取文字和圖像。

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

可以,IronPDF與Java 8以及更高版本相容,還支持Scala和Kotlin。它支持包括Windows、Linux和雲環境的多個平台。

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

關鍵步驟包括建立Maven專案,新增IronPDF依賴,使用fromFile載入PDF文件,使用extractAllText提取文字,以及使用extractAllImages提取圖像。

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

您可以使用IronPDF的renderUrlAsPdf方法將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 支援團隊

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