如何在 Java 中使用 GroupDocs.Watermark 為 PDF 加上浮水印

保護您的重要 PDF 文件免於未授權使用或加入公司標誌是許多團隊的常見需求。在本指南中,您將學習 如何在 Java 中為 PDF 加上浮水印,使用功能強大的 GroupDocs.Watermark 函式庫。我們將逐步說明如何加入文字與圖片浮水印、設定外觀,以及提升效能與可靠性的最佳實踐技巧。

快速解答

  • 應該使用哪個函式庫? GroupDocs.Watermark for Java
  • 可以同時加入文字與圖片浮水印嗎? 可以 – 您可以依序或同時套用
  • 需要授權嗎? 開發階段可使用試用版;正式上線需購買商業授權
  • 支援哪個 Java 版本? Java 8 以上
  • 可以批次處理嗎? 當然可以 – 在迴圈中處理多個 PDF 以提升效率

什麼是 PDF 浮水印以及為什麼要這麼做?

浮水印會將可見或不可見的標記(文字、標誌、印章)嵌入 PDF,以宣示所有權、傳達機密性,或表示文件狀態(例如 草稿)。它有助於防止抄襲、支援品牌形象,並簡化版本追蹤。

前置條件

在開始之前,請確保您已具備:

  • Java Development Kit (JDK) 8+ 已安裝並在 IDE 中設定。
  • Maven(或手動加入 JAR 的能力)。
  • 一組 GroupDocs.Watermark 授權(試用或正式購買)。

必要的函式庫與相依性

將 GroupDocs.Watermark 加入您的專案,可透過 Maven 或直接下載 JAR。

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>

直接下載
您也可以從官方發行頁面取得最新 JAR: GroupDocs.Watermark for Java releases

設定 GroupDocs.Watermark for Java

  1. 加入函式庫 – Maven 會自動下載;若手動設定,請將 JAR 放入 classpath。
  2. 取得授權 – 可於 purchase page 取得臨時試用金鑰。
  3. 初始化 Watermarker – 使用 PdfLoadOptions 載入 PDF:
PdfLoadOptions loadOptions = new PdfLoadOptions();
Watermarker watermarker = new Watermarker("input_document.pdf", loadOptions);

如何在 PDF 文件中加入文字浮水印

文字浮水印適用於版權聲明、「機密」標記或版本號等情境。

步驟 1:載入文件

PdfLoadOptions loadOptions = new PdfLoadOptions();
String inputPdfPath = "YOUR_DOCUMENT_DIRECTORY/input_document.pdf";
Watermarker watermarker = new Watermarker(inputPdfPath, loadOptions);

步驟 2:建立文字浮水印

TextWatermark textWatermark = new TextWatermark("This is an annotation watermark", new Font("Arial", 8));
textWatermark.setHorizontalAlignment(HorizontalAlignment.Left);
textWatermark.setVerticalAlignment(VerticalAlignment.Top);

步驟 3:套用浮水印

watermarker.add(textWatermark, new PdfAnnotationWatermarkOptions());

步驟 4:儲存並釋放資源

String outputPdfPath = "YOUR_OUTPUT_DIRECTORY/output_document.pdf";
watermarker.save(outputPdfPath);
textWatermark.close();
watermarker.close();

如何在 PDF 文件中加入圖片浮水印

圖片浮水印非常適合標誌、印章或自訂圖形。

步驟 1:載入文件(若處理相同檔案,可重複使用相同的 loadOptions

String inputPdfPath = "YOUR_DOCUMENT_DIRECTORY/input_document.pdf";
Watermarker watermarker = new Watermarker(inputPdfPath, loadOptions);

步驟 2:建立圖片浮水印

ImageWatermark imageWatermark = new ImageWatermark("watermark_image.jpg");
imageWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
imageWatermark.setVerticalAlignment(VerticalAlignment.Top);

步驟 3:套用圖片浮水印

watermarker.add(imageWatermark, new PdfAnnotationWatermarkOptions());

步驟 4:儲存並釋放資源

String outputPdfPath = "YOUR_OUTPUT_DIRECTORY/output_document.pdf";
watermarker.save(outputPdfPath);
imageWatermark.close();
watermarker.close();

實務應用

  • 文件安全性: 透過「機密」或唯一識別碼的浮水印,防止未授權散布。
  • 品牌形象: 在每份匯出報告或發票上插入公司標誌。
  • 版本控制: 使用「Draft v2.1」等文字標記草稿,讓審閱者即時辨識文件階段。

這些技巧可順利整合至自動化流程,例如在夜間批次處理上千份 PDF。

效能考量

  • 批次處理: 迭代檔案清單時,盡可能重複使用同一個 Watermarker 實例。
  • 記憶體管理: 必須關閉 WatermarkerTextWatermarkImageWatermark 物件,以釋放原生資源。
  • 載入選項調校: 處理極大 PDF 時,可調整 PdfLoadOptions(例如啟用 setRenderMode)以降低記憶體佔用。

常見問題與解決方案

問題原因解決方式
浮水印位置偏離中心對齊設定錯誤核對 setHorizontalAlignment / setVerticalAlignment 的值
字型顯示異常伺服器缺少字型嵌入字型或改用系統標準字型(如 Arial、Times New Roman)
圖片浮水印模糊未使用高解析度圖檔使用至少 300 dpi 的 PNG/JPEG 以確保列印品質
大型 PDF 記憶體不足一次載入整份文件透過 PdfLoadOptions.setLoadMode(LoadMode.Stream) 開啟串流模式

常見問答

Q: 圖片浮水印在 PDF 中的最大尺寸是多少?
A: 沒有硬性上限,但過大的圖檔會降低處理速度。建議尺寸控制在 500 KB 以下,解析度 300 dpi 為佳。

Q: 可以在同一份文件中加入多種浮水印嗎?
A: 可以。先加入文字浮水印,再加入圖片浮水印(或反向),只要多次呼叫 watermarker.add(...) 即可。

Q: 如何使用 GroupDocs 移除 PDF 中的浮水印?
A: GroupDocs.Watermark 提供 remove API,請參考官方文件取得正確的方法簽名。

Q: 能否只在 PDF 的特定頁面加浮水印?
A: 完全可以。使用 PdfAnnotationWatermarkOptions.setPageNumbers(Arrays.asList(1, 3, 5)) 來指定目標頁面。

Q: 在為 PDF 加浮水印時常見的陷阱有哪些?
A: 包括浮水印對齊不正確、字型不支援、以及未正確釋放資源。請參照上方的故障排除表,並務必在使用完畢後關閉相關物件。

資源

結論

現在您已掌握使用 GroupDocs.Watermark 在 Java 中 為 PDF 加上浮水印 的完整、可投入生產的作法。無論是簡單的文字標記或全彩的標誌覆蓋,該函式庫都能讓您輕鬆實作,同時在背後處理繁重的細節。接下來,您可以探索進階功能,如浮水印移除、條件頁面選取,或將浮水印套用至 Word、Excel 等其他格式。


最後更新: 2026-02-13
測試環境: GroupDocs.Watermark 24.11
作者: GroupDocs