如何使用 GroupDocs.Watermark Java 從 PDF 中提取工件

從 PDF 檔案中提取圖教學中,您將學習 how to extract artifacts,使用功能強大的會援文字提取嗎?** 當然;getText() artifacts」是什麼意思? 當您詢問 how to extract artifacts 時,指的是以程式方式列舉 PDF 中的每一個視覺或文字元素。這對於 digital rights management PDF、內容再利用或合規稽核等工作至關重要。

為什麼在此任務中使用 GroupDocs.Watermark Java?

GroupDocs.Watermark 提供高階 API,抽象掉低階 PDF 解析細節。它讓您:

  • 一次呼叫即可取得圖像、文字與幾何資訊。
  • 處理加密或受密碼保護的 PDF。
  • 備良好擴充性儲存庫與相依加入您的 pom.xml
<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>

直接下載

或者,從 GroupDocs.Watermark for Java releases 下載最新版本。

取得授權步驟

  • Free Trial – 探索功能集,免費使用。
  • Temporary License – 申請短期金鑰以延長測試。
  • Purchase – 取得完整授權,無限制投入正式環境。

基本初始化與設定

建立指向 PDF 檔案的 Watermarker 實例:

import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.PdfLoadOptions;

// Initialize PdfLoadOptions
PdfLoadOptions loadOptions = new PdfLoadOptions();

// Create a Watermarker instance
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);

如何從 PDF 文件中提取工件

步驟 1:取得 PDF 內容

首先,取得 PDF 的內部表示:

import com.groupdocs.watermark.contents.PdfContent;

// Obtain PdfContent from the watermarker
PdfContent pdfContent = watermarker.getContent(PdfContent.class);

步驟 2:遍歷頁面與工件

遍歷每一頁以及該頁面的每個工件。API 可讓您存取圖像資料、文字、不透明度、定位等資訊:

for (PdfPage page : pdfContent.getPages()) {
    for (PdfArtifact artifact : page.getArtifacts()) {
        // Print basic artifact details
        System.out.println("Type: " + artifact.getArtifactType());
        System.out.println("Subtype: " + artifact.getArtifactSubtype());

        // Check and print image properties if available
        if (artifact.getImage() != null) {
            System.out.println("Image Width: " + artifact.getImage().getWidth());
            System.out.println("Image Height: " + artifact.getImage().getHeight());
            System.out.println("Image Byte Length: " + artifact.getImage().getBytes().length);
        }

        // Print additional properties of the artifact
        System.out.println("Text: " + artifact.getText());
        System.out.println("Opacity: " + artifact.getOpacity());
        System.out.println("X Position: " + artifact.getX());
        System.out.println("Y Position: " + artifact.getY());
        System.out.println("Width: " + artifact.getWidth());
        System.out.println("Height: " + artifact.getHeight());
        System.out.println("Rotate Angle: " + artifact.getRotateAngle());
    }
}

Pro tip: 如果您只需要圖像,可使用 artifact.getImage() != null 進行過濾。若要 extract text from pdf,請關注 artifact.getText()

步驟 3:釋放資源

務必關閉 Watermarker,釋放原生資源:

watermarker.close();

常見問題與解決方案

  • Corrupted or password‑protected PDFs – 透過 PdfLoadOptions 提供密碼,或在載入前驗證檔案完整性。
  • Out‑of‑memory errors on large files – 如示範般逐頁處理,而非一次載入整份文件。
  • Missing artifact data – 確認使用最新的 GroupDocs.Watermark 版本;舊版可能缺少完整的 PDF 規格支援。

實務應用

  1. Digital Rights Management PDF – 找出以工件形式嵌入的隱藏水印或專有標誌。
  2. Document Forensics – 抽取並比對圖像雜湊值,以偵測竄改。
  3. Automated Content Repurposing – 抽取圖像(extract images from pdf)與文字(extract text from pdf),供其他媒體再利用。

效能考量

  • 以逐頁方式處理文件,以降低記憶體使用。
  • 保持函式庫為最新版本;每次發行皆帶來效能優化與錯誤修正。

結論

您現在已了解 how to extract artifacts,使用 GroupDocs.Watermark 在 Java 中從 PDF 檔案提取工件。此功能為 digital rights management PDF 工作流程、法醫分析與自動化內容管線開啟了新可能。欲深入了解,請參考 official documentation 並嘗試其他功能,如水印偵測與移除。

常見問答

Q: 如何安裝 GroupDocs.Watermark for Java?
A: 使用上述的 Maven 片段,或從發行頁面下載 JAR。

Q: 可以使用此 API 從 PDF 中提取圖像嗎?
A: 可以 – 在迴圈中檢查 artifact.getImage(),即可取得寬度、高度與原始位元組資料。

Q: 支援哪些類型的工件?
A: 文字、點陣圖、向量圖形,以及任何其他 PDF 嵌入的物件。

Q: 此函式庫適合處理大型文件嗎?
A: 完全適用,只要以逐頁方式遍歷並及時關閉資源即可。

Q: 哪裡可以取得協助或討論問題?
A: 前往 GroupDocs Forum 取得社群支援與官方指引。


最後更新: 2026-01-26
測試環境: GroupDocs.Watermark Java 24.11
作者: GroupDocs

資源