如何在 Java 中使用 GroupDocs.Watermark 提取 PDF 藝術項目

提取 PDF 藝術項目在需要審核隱藏的中繼資料、執行安全政策,或將文件洞見整合到更大的工作流程時是必不可少的。在本教學中,您將學習如何使用 GroupDocs.Watermark for Java 提取 PDF 藝術項目,同時了解如何在 Java 中加入 PDF 水印以及存取隱藏的 PDF 中繼資料。我們將逐步說明設定、初始化與遍歷步驟,最後提供可立即應用的實用技巧。

快速解答

  • 第一步是什麼? 加入 GroupDocs.Watermark Maven 依賴並建立 Watermarker 實例。
  • 哪個類別可讓您存取 PDF 頁面? PdfContent 類別提供 getPages() 以進行頁面層級的藝術項目遍歷。
  • 我可以從 300 頁的 PDF 提取中繼資料嗎? 可以 — GroupDocs.Watermark 能在不將整個檔案載入記憶體的情況下處理超過 500 頁的文件。
  • 開發時需要授權嗎? 免費試用可用於測試;正式上線需購買商業授權。
  • 在提取藝術項目時能同時加入水印嗎? 完全可以 — 在遍歷完藝術項目後使用 Watermarker.add()。

什麼是「如何提取 PDF」?

提取 PDF 藝術項目是指讀取 PDF 檔案中嵌入的隱藏物件,如中繼資料、註解以及自訂資料流。這些不可見的元素可能包含有關文件建立、作者或嵌入資源的重要資訊,使得藝術項目提取成為合規檢查、安全稽核以及自動化文件流程的關鍵第一步。

為何使用 GroupDocs.Watermark 進行 PDF 藝術項目提取?

GroupDocs.Watermark 支援 30 多種輸入與輸出格式,且能在記憶體使用量低於 100 MB 的情況下處理 數百頁的 PDF,這得益於其串流架構。此函式庫亦內建加入水印的方法,成為同時滿足提取與保護需求的一站式解決方案。

前置條件

  • GroupDocs.Watermark for Java — 版本 24.11(或更新)。
  • 開發機器已安裝 Maven。
  • 具備基本的 Java 知識以及相容的 IDE(IntelliJ IDEA 或 Eclipse)。

如何逐步提取 PDF 藝術項目

載入 PDF,取得 PdfContent 物件,並遍歷每一頁的藝術項目。核心問題的直接答案如下:

使用 new Watermarker("sample.pdf") 載入 PDF,呼叫 watermarker.getPdfContent() 取得 PdfContent 物件,接著遍歷 pdfContent.getPages() 以及 page.getArtifacts() 以讀取每個藝術項目的詳細資訊。此方法適用於任何大小的 PDF,並可返回如建立日期、作者以及自訂 XMP 流等中繼資料。

步驟 1:加入 Maven 依賴

將以下程式碼片段加入您的 pom.xml。此設定會下載完整的 GroupDocs.Watermark 函式庫及其傳遞相依性。

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

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-watermark</artifactId>
      <version>24.11</version>
   </dependency>
</dependencies>

步驟 2:初始化 Watermarker 類別

Watermarker 類別是所有文件操作的入口點。它會載入檔案並準備內部結構以供讀寫。

import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.contents.PdfArtifact;
import com.groupdocs.watermark.contents.PdfContent;
import com.groupdocs.watermark.options.PdfLoadOptions;
// Initialize Watermarker with load options
PdfLoadOptions loadOptions = new PdfLoadOptions();
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);

步驟 3:取得 PDF 內容

PdfContent 為您提供程式化存取頁面、藝術項目以及底層資料流的功能。

PdfLoadOptions loadOptions = new PdfLoadOptions();
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);

步驟 4:遍歷每頁的藝術項目

Page 代表文件中的單一 PDF 頁面。
Artifact 代表如中繼資料或嵌入檔案等隱藏元素。
遍歷 pdfContent.getPages();每個 Page 物件提供 getArtifacts(),會回傳 Artifact 物件的集合。您可以讀取 getName()、getValue() 與 getType() 等屬性。

PdfContent pdfContent = (PdfContent) watermarker.getContent(PdfContent.class);

步驟 5:列印或處理藝術項目

為示範起見,我們僅列印每個藝術項目的名稱與值。實際應用中,您可能會將其存入資料庫或傳送至合規引擎。

for (int i = 0; i < pdfContent.getPages().size(); i++) {
    PdfArtifact[] artifacts = pdfContent.getPages().get_Item(i).getArtifacts();
    for (PdfArtifact artifact : artifacts) {
        // Access artifact details here, e.g., type or content
        System.out.println("Artifact Type: " + artifact.getType());
    }
}

常見問題與解決方案

  • FileNotFoundException – 請確認 PDF 路徑為絕對路徑或相對於專案根目錄正確。
  • Unsupported PDF version – 請確保使用 GroupDocs.Watermark 24.11 或更新版本;舊版可能不支援 PDF 2.0 功能。
  • Memory spikes with very large PDFs – 在載入文件前設定 watermarker.setCacheSize(64)(單位 MB)以啟用串流模式。

實務應用

  1. 資料安全稽核 – 掃描 PDF 中隱藏的作者或建立中繼資料,以防洩漏敏感資訊。
  2. 合規追蹤 – 在歸檔前確認每份文件皆包含必要的自訂 XMP 標籤。
  3. 文件管理整合 – 結合藝術項目提取與自動加水印,在驗證後嵌入「機密」標記。

效能技巧

  • 處理超過 200 頁的 PDF 時,可使用 Java 的 ForkJoinPool 進行平行頁面處理。
  • 批次操作時重複使用同一個 Watermarker 實例,以減少 JVM 開銷。
  • 開啟內建快取 (watermarker.setCacheEnabled(true)) 以避免重複讀取磁碟。

常見問答

Q: 什麼樣的項目算是 PDF 藝術項目?
A: 藝術項目指的是隱藏的物件,如 XMP 中繼資料、自訂字典條目以及嵌入檔案,這些在渲染的 PDF 中不可見,但可透過程式存取。

Q: 我可以在同一次執行中同時提取藝術項目並加入水印嗎?
A: 可以 — 在遍歷完藝術項目後,呼叫 watermarker.add(new TextWatermark("CONFIDENTIAL", new Font(...))),再執行 watermarker.save("output.pdf")。

Q: 此函式庫能處理受密碼保護的 PDF 嗎?
A: 完全可以 — 將密碼傳入 Watermarker 建構子,例如 new Watermarker("secure.pdf", "myPassword")。

Q: GroupDocs.Watermark 能處理多大的 PDF?
A: 它能可靠地處理高達 500 頁(甚至更多)的 PDF,且記憶體使用量仍維持在 150 MB 以下,這得益於其串流引擎。

Q: 正式環境是否必須購買商業授權?
A: 是 — 雖然免費試用可讓您評估所有功能,但正式部署必須擁有有效授權。

結論

您現在已掌握使用 GroupDocs.Watermark 在 Java 中 提取 PDF 藝術項目的完整、可投入生產的工作流程。結合藝術項目提取與加水印,您可以構建安全、合規的文件管線,且能在不犧牲效能的前提下處理大型 PDF。


最後更新: 2026-07-25
測試環境: GroupDocs.Watermark 24.11 for Java
作者: GroupDocs

資源

相關教學