使用 GroupDocs.Parser 在 Java 中提取 PDF 表單資料
在本教學中,您將學會 如何提取 PDF 表單資料,使用 GroupDocs.Parser for Java。無論是需要讀取 PDF 表單欄位、從 PDF 中提取圖像,或是自動化 PDF 資料輸入,以下步驟說明將向您展示如何高效且可靠地完成。
快速答案
- 什麼函式庫可提取 PDF 表單資料? GroupDocs.Parser for Java
- 我可以讀取 PDF 表單欄位和圖像嗎? 可以 – 同時支援文字欄位與嵌入圖像
- 我需要授權嗎? 免費試用可用於評估;正式環境需購買商業授權
- 需要哪個 Java 版本? Java 8 或更新版本
- 是否支援平行處理? 可以,同時解析多個 PDF 以應對高吞吐量情境
什麼是提取 PDF 表單資料?
提取 PDF 表單資料指的是以程式方式讀取 PDF 表單中互動欄位(文字方塊、核取方塊、下拉選單等)所填寫的值。這讓您能將資料從靜態文件搬移至資料庫、CRM 系統或任何下游流程,免除手動抄寫。
為什麼使用 GroupDocs.Parser 來提取 PDF 表單資料?
GroupDocs.Parser 提供 超過 150 種不同表單欄位類型的高精度提取,且可在不將整個檔案載入記憶體的情況下處理多達 500 頁的 PDF。它支援 50+ 輸出格式(包括 DOCX、XLSX、HTML 以及各種圖像類型),在一般伺服器等級 CPU 上可達 每秒 200 頁 的處理速度,適合大規模自動化。
先決條件
- Java Development Kit (JDK): Java 8 或更新版本
- Maven: 用於相依管理與專案建置
- 基本 Java 知識: 熟悉類別、方法與 OOP 概念
設定 GroupDocs.Parser(Java 版)
將 GroupDocs.Parser 整合至您的專案,可使用 Maven 或直接下載程式庫。
Maven 整合
在 pom.xml 檔案中加入儲存庫與相依性:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
直接下載
或者,從 GroupDocs.Parser for Java releases 下載最新版本。
授權取得
- 免費試用: 取得臨時授權以測試 GroupDocs.Parser 功能。
- 購買: 取得完整授權以供商業使用。
取得程式庫後,您即可建立 Parser 實例以處理 PDF 表單:
定義說明: Parser 類別是 GroupDocs.Parser 的核心元件,負責讀取與解析支援的文件格式,並透過簡易 API 暴露表單欄位、文字與圖像。
import com.groupdocs.parser.Parser;
public class PdfFormExtractor {
public static void main(String[] args) {
try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleCarWashPdf.pdf")) {
// Parse form fields from the document here...
}
}
}
如何提取 PDF 表單資料
FieldData 代表單一表單欄位,包含欄位名稱與提取出的值。
使用單一 Parser 呼叫載入 PDF,只請求您需要的表單欄位,便會收到包含欄位名稱與值的 FieldData 物件集合。此方式可減少記憶體使用,並在大量平行處理時提升效能。
步驟 1:解析表單欄位
先建立 Parser 物件,呼叫 parseForm() 取得表單結構:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentData;
public class ExtractDataFromPdfFormsFeature {
public static void run() {
String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleCarWashPdf.pdf";
try (Parser parser = new Parser(filePath)) {
DocumentData data = parser.parseForm();
if (data == null) {
System.out.println("Form extraction isn't supported.");
return;
}
// Continue to extract field values...
}
}
}
步驟 2:提取欄位值
使用欄位名稱從每個 FieldData 物件中取得文字內容。此方法同時示範了如何安全 讀取 PDF 表單欄位:
import com.groupdocs.parser.data.FieldData;
import com.groupdocs.parser.data.PageTextArea;
private static String getFieldText(DocumentData data, String fieldName) {
FieldData fieldData = data.getFieldsByName(fieldName).get(0);
return fieldData != null && fieldData.getPageArea() instanceof PageTextArea
? ((PageTextArea) fieldData.getPageArea()).getText()
: null;
}
步驟 3:建立記錄物件
將提取的值存入結構化記錄,以便持久化或傳送至其他系統:
static class PreliminaryRecord {
public String Name;
public String Model;
public String Time;
public String Description;
}
// Extracted values are then assigned to the record fields:
PreliminaryRecord rec = new PreliminaryRecord();
rec.Name = getFieldText(data, "Name");
rec.Model = getFieldText(data, "Model");
rec.Time = getFieldText(data, "Time");
rec.Description = getFieldText(data, "Description");
建立記錄物件以儲存提取的資料
PreliminaryRecord 是自訂的資料持有類別,用於儲存提取的 PDF 表單值。
一個定義良好的物件可輕鬆將提取資訊整合至資料庫、API 或 CRM 平台。
概覽
建立結構化物件有助於管理與整合表單資料至更大的系統。
實作步驟
- 初始化記錄物件: 建立
PreliminaryRecord的實例。 - 填入提取值: 使用上述輔助方法將資料寫入物件。
public class CreateRecordObjectFeature {
public static void createAndPopulateRecord() {
PreliminaryRecord rec = new PreliminaryRecord();
// Simulated extracted values for demonstration:
rec.Name = "John Doe";
rec.Model = "Tesla Model S";
rec.Time = "10:00 AM";
rec.Description = "Routine service check";
// Now, the record object 'rec' can be used further.
}
}
實務應用
- 自動化資料輸入: 直接將客戶或訂單資訊從 PDF 表單拉入後端系統。
- 發票處理: 提取發票號碼、日期與金額,加速對帳流程。
- 問卷回覆分析: 收集 PDF 問卷的答案以進行報表統計。
- 醫療紀錄管理: 為電子健康紀錄(EHR)系統提取患者資訊。
- 與 CRM 系統整合: 即時將填寫完成的 PDF 轉換為潛在客戶與聯絡人資料。
效能考量
- 記憶體管理: 如範例所示使用 try‑with‑resources,確保
Parser實例及時關閉。 - 選擇性解析: 僅請求必要的欄位以降低 CPU 負載。
- 執行緒安全: 處理大量 PDF 時,將每個
Parser實例放在獨立執行緒中;此使用方式下程式庫是執行緒安全的。
常見問題
Q: 我可以使用 GroupDocs.Parser 從 PDF 提取圖像嗎?
A: 可以,GroupDocs.Parser 同時支援圖像與文字欄位的提取。
Q: 如何處理加密的 PDF?
A: 在建立 Parser 實例時提供密碼,程式庫會自動解密文件。
Q: 除了 PDF,還支援哪些檔案格式?
A: API 亦可解析 Word 文件、Excel 試算表、PowerPoint 簡報等多種格式。
Q: 處理大量 PDF 的最佳方式是什麼?
A: 結合平行串流與執行緒池執行者,同時解析多個檔案,同時注意記憶體限制。
Q: 正式環境是否需要商業授權?
A: 需要,正式部署必須購買完整授權;可先使用免費試用版進行評估。
結論
您現在已掌握使用 GroupDocs.Parser for Java 提取 PDF 表單資料 的完整、可投入生產的解決方案。透過解析表單欄位、建立結構化記錄物件,並考量效能因素,您可以自動化資料輸入、與下游系統整合,並發掘 PDF 表單中隱藏的價值。欲了解更深入的資訊,請參考官方 documentation。
最後更新: 2026-06-27
測試版本: GroupDocs.Parser 25.5
作者: GroupDocs