如何在 PDF 加上水印:使用 GroupDocs.Watermark for Java 為特定頁面添加文字與圖片水印
快速解答
- 我可以針對單獨頁面嗎? 是的,您可以對指定的任何頁碼套用水印。
- 支援哪些水印類型? 完全支援文字與圖片水印。
- 開發是否需要授權? 免費試用授權可用於測試;正式上線需購買付費授權。
- 需要哪個 Java 版本? Java 8 或以上;建議使用 Maven 進行相依管理。
- 能否為大型 PDF 加水印? GroupDocs.Watermark 可處理最高 2 GB 的檔案,且不會一次將整份文件載入記憶體。
什麼是「如何為 PDF 加水印」?
它是指以程式方式將可見或不可見的標記(例如文字字串或圖片)嵌入 PDF 頁面,以宣示所有權、標示草稿狀態或限制使用。這些標記可以放在單獨頁面或整份文件上,且可自訂樣式、不透明度與位置。
「How to watermark pdf」指的是以程式方式將可見或不可見的標記(例如文字字串或圖片)嵌入 PDF 頁面,以宣示所有權或傳達使用限制。
前置條件
- GroupDocs.Watermark for Java(版本 24.11 或更新)。
- Maven 或手動將 JAR 匯入專案。
- 基本的 Java 知識與開發 IDE(IntelliJ IDEA、Eclipse 等)。
- 您想要保護的 PDF 檔案。
設定 GroupDocs.Watermark for Java
安裝資訊
將 GroupDocs.Watermark 的儲存庫與相依加入您的 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.
授權取得
先使用免費試用或臨時授權來探索 API。正式上線時,請於此處購買完整授權: GroupDocs purchase page.
基本初始化與設定
- 確認已安裝 Maven 或 JDK。
- 在 Java 原始碼檔案中匯入所需的類別。
如何在 PDF 的第一頁加入文字水印?
使用 Watermarker 載入 PDF,建立 TextWatermark 物件,設定 PdfArtifactWatermarkOptions 以目標第 1 頁,透過 watermarker.add 加入水印,最後儲存文件。此流程僅在第一頁加入可見文字覆蓋,不影響其他頁面。
Watermarker 是用於載入文件與套用水印的核心類別。TextWatermark 代表可設定字型、顏色、旋轉與不透明度的文字覆蓋。PdfArtifactWatermarkOptions 定義將水印套用至特定 PDF 頁面的設定。
步驟說明
- 建立
TextWatermark– 定義文字、字型、大小與顏色。 - 設定頁面選擇 – 使用
PdfArtifactWatermarkOptions目標第 1 頁。 - 加入水印 – 呼叫
watermarker.add(textWatermark, options)。 - 儲存結果 –
watermarker.save("output.pdf")。
專業提示: 若僅需加入水印而不修改原始內容,請設定
PdfLoadOptions.setReadOnly(true)。
如何在特定 PDF 頁面加入圖片水印?
使用 Watermarker 載入 PDF,建立指向圖片檔案的 ImageWatermark 物件,將 PdfArtifactWatermarkOptions 設為目標頁碼(例如第 3 頁),透過 watermarker.add 加入水印,最後儲存檔案。此方式僅在選定頁面加入高解析度圖片覆蓋。
ImageWatermark 封裝 PNG、JPEG、BMP 等圖片,作為 PDF 頁面的水印。PdfArtifactWatermarkOptions 定義將水印套用至特定 PDF 頁面的設定。
實作步驟
- 建立
ImageWatermark– 提供圖片檔案路徑與可選的尺寸。 - 設定頁面過濾 –
PdfArtifactWatermarkOptions.setPageNumber(3)目標第 3 頁。 - 套用並儲存 – 透過
watermarker.add加入水印,並持久化文件。
import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfArtifactWatermarkOptions;
import com.groupdocs.watermark.watermarks.Font;
import com.groupdocs.watermark.watermarks.TextWatermark;
// Create a new instance of PdfLoadOptions
PdfLoadOptions loadOptions = new PdfLoadOptions();
// Initialize the Watermarker with your PDF file path and load options
Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf\
常見問題與解決方案
- 水印未顯示: 確認 PDF 未受密碼保護或加密;如有需要,載入時提供密碼。
- 圖片變形: 調整
scaleFactor或使用更高解析度的來源圖片。 - 大型檔案效能: 使用
PdfLoadOptions.setStreamSize(… )啟用串流,以降低記憶體使用量。
常見問答
Q: 我可以在同一頁面同時加入文字與圖片水印嗎?
A: 可以,對每種水印類型分別呼叫 watermarker.add,使用相同的頁面過濾,它們會依加入順序層疊。
Q: GroupDocs.Watermark 能處理受密碼保護的 PDF 嗎?
A: 完全支援。建立 Watermarker 時將密碼傳入 PdfLoadOptions 即可。
Q: 我能處理的最大檔案大小是多少?
A: 由於採用串流架構,庫可處理最高 2 GB 的 PDF,而不需一次載入整個檔案。
Q: 有辦法讓水印半透明嗎?
A: 可在水印物件上設定不透明度屬性(例如 textWatermark.setOpacity(0.5))。
Q: 支援哪些 Java 版本?
A: 完全支援 Java 8、11 與 17;更新的 LTS 版本亦可使用。
最後更新: 2026-05-22
測試環境: GroupDocs.Watermark 24.11 for Java
作者: GroupDocs