在 Java 中使用 GroupDocs.Watermark 向 PDF 添加附件

簡介

在本完整指南中,您將學習 如何向 PDF 添加附件,使用 GroupDocs.Watermark for Java。透過將額外檔案(例如合約、圖片或資料集)直接嵌入 PDF 內,您可以建立一個自包含的套件,方便在使用者與系統之間傳遞。我們將逐步說明環境設定、精確的 API 呼叫以及最佳實踐,讓您今天就能開始在 PDF 文件中嵌入檔案。

您將學到

  • 在 Java 中設定 GroupDocs.Watermark 的環境
  • 向 PDF 文件添加附件的逐步流程
  • 最佳實踐、效能技巧與故障排除建議

讓我們先檢視在實作此解決方案前所需的先決條件。

快速問答

  • 哪個函式庫可向 PDF 添加附件? GroupDocs.Watermark for Java.
  • 我需要授權嗎? 暫時的試用授權可用於開發;正式環境需購買完整授權。
  • 我可以附加多個檔案嗎? 可以——對每個要嵌入的檔案呼叫 add()。
  • 支援哪些檔案類型? 任何可表示為位元組陣列的檔案(例如 DOCX、PNG、ZIP)。
  • 對大型 PDF 安全嗎? 可以——附件以串流方式處理,且可使用 PdfLoadOptions 限制記憶體使用量。

什麼是向 PDF 添加附件?

add attachments to pdf 是將外部檔案嵌入 PDF 容器的過程,使其與主文件一起傳遞。此技術常用於法律文件、專案提案與研究論文等,需要將輔助資料與主要 PDF 連結的情境。

為何使用 GroupDocs.Watermark 在 PDF 中嵌入檔案?

GroupDocs.Watermark 支援 50 多種輸入與輸出格式,且可在不將整個 PDF 載入記憶體的情況下嵌入附件,讓您能有效處理數百頁的檔案。API 亦會保留原始文件的中繼資料,並提供執行緒安全的操作,十分適合伺服器端批次處理。

先決條件

必要的函式庫、版本與相依性

  • GroupDocs.Watermark for Java:版本 24.11 或更新版本。
  • Java Development Kit (JDK):建議使用 8 版或以上。
  • Maven:用於相依性管理。

環境設定需求

確保您的開發環境支援 Maven 專案,且可使用如 IntelliJ IDEA 或 Eclipse 的 Java IDE。

知識先備

具備 Java 程式設計的基本概念,並熟悉在 Java 中處理 PDF,將會有所幫助。

如何使用 GroupDocs.Watermark 向 PDF 添加附件?

使用 new WatermarkEngine() 載入 PDF,然後呼叫 pdfContent.getAttachments().add()——此單一呼叫會在記憶體中附加檔案,並一次性寫回 PDF。API 會自動更新 PDF 內部的 file‑spec 目錄,因此附件會在標準 PDF 檢視器的「Attachments」面板中顯示。此方法適用於任何可表示為位元組陣列的檔案類型,且因函式庫以串流方式處理資料,能有效擴展至大型文件。

WatermarkEngine 類別是 GroupDocs.Watermark 中載入與處理文件的主要入口點。
PdfContent 物件提供對 PDF 結構的存取,包括頁面、metadata 與附件。
getAttachments() 方法回傳 PDF 的附件集合。
add() 方法將新檔案插入此集合。

設定 GroupDocs.Watermark for Java

WatermarkEngine 類別是所有 GroupDocs.Watermark 操作的入口點,負責檔案載入、處理與儲存。加入 Maven 相依性後,即可實例化引擎並開始處理 PDF。

Maven 設定
將以下內容加入您的 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 下載最新版本。

取得授權步驟

您可以取得暫時授權或購買完整授權以解鎖全部功能。欲取得免費試用,請依照官方網站上的說明操作。

基本初始化與設定

在您的 Java 應用程式中如下初始化 GroupDocs.Watermark:
Watermarker 類別代表 PDF 文件,提供操作其內容的方法,包括添加附件。

import com.groupdocs.watermark.Watermarker;

public class WatermarkSetup {
    public static void main(String[] args) {
        // Initialize watermarker with a sample document path
        try (Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf")) {
            System.out.println("GroupDocs.Watermark is set up successfully!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

實作指南

現在,讓我們逐步說明在 Java 中使用 GroupDocs.Watermark 向 PDF 添加附件的流程。

向 PDF 文件添加附件

概述

此功能允許您向現有 PDF 文件附加額外檔案。將相關文件打包在一起可大幅提升其效用。

步驟指南

1. 載入 PDF 文件

首先使用 PdfLoadOptions 載入您的 PDF:
PdfLoadOptions 用於設定 PDF 的開啟方式,讓您可調整記憶體使用量與密碼選項。

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

// Set options required for loading the PDF file
PdfLoadOptions loadOptions = new PdfLoadOptions();

// Initialize Watermarker with a specific document path and load options
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);
2. 取得 PDF 內容

取得 PdfContent 以操作附件:

import com.groupdocs.watermark.contents.PdfContent;

// Get the content of the PDF as PdfContent
PdfContent pdfContent = watermarker.getContent(PdfContent.class);
3. 載入附件位元組

準備您要添加的附件資料:

byte[] attachmentBytes = { /* Byte data for your document */ };
4. 添加附件

使用 getAttachments().add() 方法來附加檔案:

// Add the attachment to the PDF
groupdocs.watermark.contents.PdfAttachment attachment = new PdfAttachment(attachmentBytes, "sample doc", "sample doc as attachment");
pdfContent.getAttachments().add(attachment);
5. 儲存變更並關閉資源

確保正確儲存變更並關閉資源:

// Save changes to a new PDF file
watermarker.save("YOUR_OUTPUT_DIRECTORY/output_document.pdf");

// Close the watermarker instance
watermarker.close();

疑難排解技巧

  • 檔案路徑錯誤:確保路徑正確且可存取。
  • 記憶體問題:最佳化附件大小以提升效能;函式庫以串流方式處理資料以降低記憶體使用量。

實務應用

向 PDF 添加附件在多種情境下都很有用:

  1. 法律文件 – 附加相關合約、證據或展品。
  2. 專案提案 – 包含補充圖片、試算表或 CAD 檔案。
  3. 學術論文 – 添加原始程式碼、資料集或多媒體作為輔助材料。

與文件管理系統(DMS)或雲端儲存平台整合,可進一步自動化打包流程。

效能考量

為獲得最佳效能:

  • 將附件大小最小化以降低記憶體使用。
  • 在 Java 中使用有效的檔案處理方式(例如 try‑with‑resources)。
  • 定期更新 GroupDocs.Watermark,以獲得效能提升與錯誤修正。

結論

使用 GroupDocs.Watermark for Java 向 PDF 添加附件是一個簡單的流程,能顯著提升文件的實用性。透過本指南,您已學會如何有效實作此功能,並了解其實務應用。

接下來,您可以探索 GroupDocs.Watermark 函式庫的其他功能,例如浮水印、塗抹或內容抽取,並將它們整合至更大型的文件處理流程中。

常見問答

Q: 我可以向 PDF 添加多個附件嗎?
A: 可以,對每個想嵌入的檔案重複呼叫 add(),每個檔案都會在 PDF 檢視器的附件面板中顯示為獨立條目。

Q: 可以附加哪些檔案類型?
A: 任何可表示為位元組陣列的檔案——常見類型包括 DOCX、XLSX、PNG、ZIP,甚至可執行檔案。

Q: 如何處理大型檔案?
A: 在附加前先壓縮檔案,或將檔案外部儲存並以輕量佔位附件方式引用;函式庫以串流方式處理資料,降低 RAM 使用量。

Q: 附件數量有限制嗎?
A: 沒有明確限制,但附加數百個大型檔案可能影響效能;請監控記憶體使用,必要時考慮分割 PDF。

Q: 此功能可在雲端應用程式中使用嗎?
A: 可以,GroupDocs.Watermark 完全相容於雲端環境,如 AWS Lambda、Azure Functions 與 Google Cloud Run。

Q: 添加附件會影響 PDF 的安全性嗎?
A: 附件會繼承 PDF 的安全設定。如果 PDF 已加密,載入時必須提供密碼,附件亦會被加密。

資源


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

相關教學