讀取 PDF 元資料 Java 與 GroupDocs.Metadata

在 Java 中提取 PDF 元資料可能會讓人感到壓力,特別是當你需要從數十個檔案中取得作者、建立日期或關鍵字等屬性時。在本教學中,你將快速且可靠地學習 如何在 Java 中讀取 PDF 元資料,使用 GroupDocs.Metadata 函式庫。我們將逐步說明 Maven 設定、函式庫初始化,以及取得每個屬性所需的完整程式碼——包括如何 取得 PDF 建立日期——讓你能自信地自動化文件管理任務。

快速解答

  • 什麼函式庫能簡化在 Java 中的 PDF 元資料提取? GroupDocs.Metadata for Java.
  • 我可以透過 Maven 加入此函式庫嗎? 可以——請參考以下的 Maven 片段。
  • 哪個屬性可取得文件的建立時間戳記? getCreatedDate() 會取得 PDF 的建立日期。
  • 開發時需要授權嗎? 免費試用可用於評估;正式上線需購買永久授權。
  • 此解決方案適用於大型 PDF 嗎? 是,使用 try‑with‑resources 以及串流處理可降低記憶體使用量。

什麼是 read PDF metadata Java?

在 reading PDF metadata Java 的過程中,指的是以程式方式存取 PDF 檔案內建的資訊——例如作者、標題、建立日期與自訂標籤——讓你能在不手動開啟檔案的情況下進行索引、搜尋或分類。這些元資料可在不渲染文件的前提下提取,非常適合批次處理與搜尋索引。

為何在 Java 中選擇 GroupDocs.Metadata 來提取 PDF 元資料?

GroupDocs.Metadata 支援 50 多種輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下處理高達 2 GB 的 PDF。其類型安全的 API 免除低階解析的需求,較手動 PDF 處理函式庫可減少 30 % 的開發時間。

前置條件

  • Java Development Kit (JDK) 8 或更新版本。
  • Maven 用於相依管理(強烈建議)。
  • 如 IntelliJ IDEA 或 Eclipse 等 IDE。
  • 具備基本的 Java 程式設計知識。

設定 GroupDocs.Metadata(Java)

使用 Maven 提取元資料

將 GroupDocs 儲存庫與元資料相依加入你的 pom.xml:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/metadata/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-metadata</artifactId>
      <version>24.12</version>
   </dependency>
</dependencies>

直接下載

如果不想使用 Maven,也可以從官方發行頁面取得最新的 JAR: GroupDocs.Metadata for Java releases。

取得授權步驟

  • 免費試用: 下載試用版以探索全部功能。
  • 臨時授權: 在評估期間啟用臨時金鑰以獲得完整功能。
  • 購買: 取得永久授權以供正式使用。

基本初始化與設定

Metadata 類別是用來開啟 PDF 並查詢其元資料的核心物件。當函式庫已在 classpath 中可用時,於 Java 程式碼中初始化它:

import com.groupdocs.metadata.Metadata;

public class PdfMetadataExtractor {
    public static void main(String[] args) {
        // Initialize metadata object with a PDF file path
        try (Metadata metadata = new Metadata("YOUR_DOCUMENT_DIRECTORY/input.pdf")) {
            // Proceed with extraction steps below
        }
    }
}

如何使用 GroupDocs.Metadata 讀取 PDF 元資料(Java)?

使用 Metadata 類別載入 PDF,並呼叫相應的 getter(如 getAuthor()、getCreatedDate()、getKeywords() 等),即可在幾行程式碼內取得每項資訊。此方法同時適用於單一檔案與批次處理情境,透過 Java 的 try‑with‑resources 機制降低記憶體消耗。

Metadata 類別是 GroupDocs.Metadata 用於開啟與操作 PDF 檔案的核心物件。建立實例後,你可以查詢根套件以存取標準與自訂的元資料項目。

可以提取的關鍵 PDF 元資料屬性有哪些?

你可以使用專屬的 getter 方法提取最常見的 PDF 元資料欄位——作者、建立日期、主題、製作程式與關鍵字。每次呼叫皆會回傳 PDF 內部字典中儲存的精確值,方便進行索引或報表。這些值可存入資料庫或用於產生文件治理的報告。

實作指南

提取元資料屬性

概覽

在此我們將使用 GroupDocs.Metadata API 提取最常見的 PDF 元資料欄位——作者、建立日期、主題、製作程式與關鍵字。

步驟式實作

1. 開啟 PDF 文件

import com.groupdocs.metadata.Metadata;
import com.groupdocs.metadata.core.PdfRootPackage;

// Define your PDF file path
String filePath = "YOUR_DOCUMENT_DIRECTORY/input.pdf";

try (Metadata metadata = new Metadata(filePath)) {
    // Access the root package and proceed with extraction steps below
}

2. 取得根套件

PdfRootPackage root = metadata.getRootPackageGeneric();

getRootPackageGeneric() 方法可讓你存取核心 PDF 屬性。

3. 提取並列印元資料屬性

  • 作者:

    System.out.println("Author: " + root.getDocumentProperties().getAuthor());
    
  • 建立日期(取得 PDF 建立日期):

    System.out.println("Created Date: " + root.getDocumentProperties().getCreatedDate());
    
  • 主題:

    System.out.println("Subject: " + root.getDocumentProperties().getSubject());
    
  • 製作程式:

    System.out.println("Producer: " + root.getDocumentProperties().getProducer());
    
  • 關鍵字:

    System.out.println("Keywords: " + root.getDocumentProperties().getKeywords());
    

這些呼叫會回傳 PDF 內建元資料字典中儲存的值,方便將結果輸入資料庫、搜尋索引或報表工具。

疑難排解技巧

  • 確認 PDF 檔案路徑正確且檔案可存取。
  • 確保 Maven 已成功解析 groupdocs-metadata 相依,且無版本衝突。
  • 若遇到 LicenseException,請確認在使用 API 前已載入有效的試用或永久授權。

實務應用

  1. 文件管理系統: 依作者或主題自動分類檔案。
  2. 歸檔解決方案: 使用從 PDF 提取的建立日期來整理檔案。
  3. 內容分析與 SEO: 從 PDF 抽取關鍵字,以豐富搜尋引擎的元資料。

效能考量

  • 使用 try‑with‑resources(如範例所示)以確保 Metadata 物件能即時關閉。
  • 對於大型 PDF,請以串流或批次作業方式處理,以降低記憶體使用量。
  • 使用 VisualVM 等工具對 Java 應用程式進行效能分析,找出瓶頸。

常見問答

Q: 如何在一次執行中處理多個 PDF 檔案?
A: 迭代檔案路徑集合,於迴圈內套用相同的提取邏輯。

Q: 我能提取不屬於標準集合的自訂元資料欄位嗎?
A: 可以——GroupDocs.Metadata 提供列舉與讀取自訂字典項目的方法。

Q: 如果我的 PDF 受密碼保護怎麼辦?
A: 使用接受憑證的 Metadata 建構子重載,並提供相應密碼載入文件。

Q: 提取後可以修改元資料嗎?
A: 當然可以。API 允許設定新值,然後呼叫 metadata.save() 以儲存變更。

Q: 這個函式庫能在 Java 網頁應用程式中使用嗎?
A: 可以,它能在 servlet 容器、Spring Boot 或任何基於 Java 的伺服器環境中無縫運作。

資源


最後更新: 2026-07-02
測試版本: GroupDocs.Metadata 24.12 for Java
作者: GroupDocs

相關教學