如何在 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
- 加入函式庫 – Maven 會自動下載;若手動設定,請將 JAR 放入 classpath。
- 取得授權 – 可於 purchase page 取得臨時試用金鑰。
- 初始化 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實例。 - 記憶體管理: 必須關閉
Watermarker、TextWatermark與ImageWatermark物件,以釋放原生資源。 - 載入選項調校: 處理極大 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 Documentation
- API 參考: GroupDocs API Reference
- 下載: Latest Version of GroupDocs.Watermark for Java
結論
現在您已掌握使用 GroupDocs.Watermark 在 Java 中 為 PDF 加上浮水印 的完整、可投入生產的作法。無論是簡單的文字標記或全彩的標誌覆蓋,該函式庫都能讓您輕鬆實作,同時在背後處理繁重的細節。接下來,您可以探索進階功能,如浮水印移除、條件頁面選取,或將浮水印套用至 Word、Excel 等其他格式。
最後更新: 2026-02-13
測試環境: GroupDocs.Watermark 24.11
作者: GroupDocs