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

在本完整指南中,您將學習 如何將附件加入 PDF 文件,使用功能強大的 GroupDocs.Watermark Java 程式庫。附加補充檔案——無論是合約、資料集或圖像——都能將相關資訊集中在一起,簡化分發。我們將逐步說明環境設定、所需的完整程式碼,以及避免常見問題的實用技巧。

快速解答

  • 主要使用情境是什麼? 將支援檔案直接嵌入 PDF 內,使收件人能在同一套件中檢視所有內容。
  • 使用哪個程式庫? GroupDocs.Watermark for Java。
  • 需要授權嗎? 臨時試用授權可用於評估;完整授權則解鎖所有功能。
  • 可以加入多個檔案嗎? 可以——對每個檔案重複附件步驟。
  • 是否支援雲端? 當然;API 可在本地與雲端環境中使用。

什麼是「將附件加入 PDF」?

將附件加入 PDF 指的是將外部檔案(例如 Word 文件、圖像、試算表)嵌入 PDF 容器內。附加的檔案會隨 PDF 一起傳遞,且可直接在 PDF 閱讀器中開啟,提升文件交換的可靠性。

為何要在 PDF 中嵌入檔案?

  • 單一檔案交付 – 無需壓縮多個檔案。
  • 保留上下文 – 附件與原始文件保持關聯。
  • 合規性 – 多數法規流程要求將所有支援資料打包。
  • 使用者便利 – 收件人只需一次點擊即可取得全部內容。

前置條件

在開始之前,請確保您已具備以下條件:

  • GroupDocs.Watermark for Java ≥ 24.11
  • JDK 8+(建議 11 版或以上)
  • Maven(用於相依管理)
  • 基本的 Java 知識與 PDF 處理經驗

設定 GroupDocs.Watermark for Java

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 下載最新版本。

取得授權

從 GroupDocs 入口網站取得臨時試用授權或購買完整授權。試用授權已足以測試附件功能。

基本初始化

以下程式碼片段示範如何建立指向範例 PDF 的 Watermarker 實例:

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 中將附件加入 PDF

以下是逐步說明,展示 如何將檔案附加 到 PDF,使用 GroupDocs.Watermark。

步驟 1:載入 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:載入附件位元組

將欲嵌入的檔案讀取為位元組陣列。此檔案可為任何類型——Word、Excel、圖像等:

byte[] attachmentBytes = { /* Byte data for your document */ };

步驟 4:加入附件

建立 PdfAttachment 實例,並將其加入 PDF 的附件清單:

// 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:儲存變更並關閉資源

將修改後的 PDF 持久化為新檔案,並清理資源:

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

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

常見問題與解決方案

問題發生原因解決方法
檔案路徑錯誤相對或絕對路徑不正確確認 YOUR_DOCUMENT_DIRECTORYYOUR_OUTPUT_DIRECTORY 已存在且具可讀寫權限。
大型附件導致記憶體不足將巨大的檔案載入位元組陣列會消耗記憶體在嵌入前先壓縮檔案,或在處理極大二進位檔時分塊串流。
找不到授權未提供有效的授權檔案即使用程式庫GroupDocs.Watermark.lic 檔案放置於 classpath,或以程式方式設定授權。

實務應用

在多個領域中,將檔案嵌入 PDF 皆具價值:

  1. 法律合約 – 附上附件、證據或附錄。
  2. 專案提案 – 包含支援的試算表、CAD 圖紙或渲染圖。
  3. 學術研究 – 打包原始資料集或程式碼片段以確保可重現性。

這些使用情境說明了 如何將檔案附加,讓利害關係人獲得單一、完整的套件。

效能建議

  • 保持附件尺寸適中;大型二進位檔會增加 PDF 檔案大小與記憶體佔用。
  • 在批次處理多個 PDF 時,重複使用同一個 Watermarker 實例,以減少初始化開銷。
  • 升級至最新的 GroupDocs.Watermark 版本,以獲得效能提升與錯誤修正。

結論

您現在已掌握使用 GroupDocs.Watermark for Java 為 PDF 檔案 加入附件 的完整、可投入生產的方法。依循上述步驟,即可嵌入任何支援文件、提升協作並維持整潔的交付格式。探索如浮水印、遮蔽與內容抽取等其他功能,以建構完整的 PDF 處理流水線。

常見問答

Q: 可以在 PDF 中加入多個附件嗎?
A: 可以。對每個要嵌入的檔案呼叫 pdfContent.getAttachments().add()

Q: 支援哪些檔案類型作為附件?
A: 任何可轉為位元組陣列的檔案——PDF、DOCX、XLSX、PNG、ZIP 等。

Q: 如何處理非常大的檔案?
A: 先壓縮檔案,或將其存放於外部,並以超連結方式引用,而非嵌入。

Q: 附件數量有上限嗎?
A: 技術上沒有,但過多的附件可能影響效能與 PDF 大小。

Q: 可在雲端原生的 Java 應用程式中使用嗎?
A: 當然。API 可在任何 Java 執行環境中運作,包括容器與無伺服器函式。


最後更新: 2026-01-18
測試版本: GroupDocs.Watermark 24.11 for Java
作者: GroupDocs

資源