如何在圖像註使用 GroupDocs.Watermark for Java 添加文字水印 PDF

簡介

保護您的 PDF 文件免於未經授權的使用或分發至關重要。在本教學中,您將學習 如何在圖像註釋上添加文字水印 PDF,此技術可在保護內容的同時保持原始版面。我們將逐步說明——從設定 GroupDocs.Watermark for Java 到套用並儲存加了水印的 PDF——讓您能自信地保護 PDF。

快速解答

  • 使用的函式庫是什麼? GroupDocs.Watermark for Java
  • 本指南的主要關鍵字是什麼? add text watermark pdf
  • 我需要授權嗎? 需要臨時或正式授權才能於正式環境使用
  • 我可以在大型檔案上使用水印保護 PDF 嗎? 可以,批次處理與適當的記憶體管理有助於完成
  • 之後可以移除 PDF 的 Java 水印嗎? 可以,GroupDocs.Watermark 提供移除 API

什麼是「add text watermark pdf」?

在 PDF 中添加文字水印 pdf 意味著將半透明文字(例如「Confidential」)直接嵌入 PDF 頁面或特定元素(如圖像註釋)中。此視覺提示可阻止未經授權的複製,並明確標示文件的所有權。

為什麼使用 GroupDocs.Watermark for Java?

GroupDocs.Watermark 提供高階 API,抽象化 PDF 內部的複雜性,支援多種註釋類型,且可在所有主流 Java 版本上運作。它還內建授權、批次處理與效能優化——非常適合企業級 PDF 保護。

先決條件

  • Java Development Kit (JDK) 8 或以上
  • Maven(或手動 JAR 處理)用於相依管理
  • 熟悉基本的 PDF 概念與 Java 語法

設定 GroupDocs.Watermark for Java

按照以下說明將 GroupDocs.Watermark 整合至您的 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 下載最新版本。

授權取得

  • Free Trial – 在未取得授權的情況下探索基本功能。
  • Temporary License – 在開發期間解鎖全部功能。
  • Purchase – 獲得永久授權以供正式環境使用並取得高級支援。

基本初始化

開始使用 GroupDocs.Watermark:

import com.groupdocs.watermark.Watermarker;

public class WatermarkDemo {
    public static void main(String[] args) {
        // Initialize the watermarker with your PDF document path
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        try (Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions)) {
            System.out.println("Setup complete!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

如何在 PDF 圖像註釋上添加文字水印 pdf

以下是逐步指南,說明如何將文字水印嵌入圖像註釋中。

步驟 1:載入 PDF 文件

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

PdfLoadOptions loadOptions = new PdfLoadOptions();
try (Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions)) {
    System.out.println("PDF loaded successfully.");
}

步驟 2:建立文字水印

import com.groupdocs.watermark.contents.PdfAnnotation;
import com.groupdocs.watermark.watermarks.TextWatermark;
import java.awt.Font;
import com.groupdocs.watermark.common.HorizontalAlignment;
import com.groupdocs.watermark.common.VerticalAlignment;
import com.groupdocs.watermark.saving.SizingType;

TextWatermark textWatermark = new TextWatermark("Confidential", new Font("Arial", 36));
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);
textWatermark.setSizingType(SizingType.ScaleToParentDimensions);
textWatermark.setScaleFactor(0.5);

步驟 3:將水印套用至圖像註釋

import com.groupdocs.watermark.contents.PdfPage;

for (PdfPage page : watermarker.getContent().getPages()) {
    for (PdfAnnotation annotation : page.getAnnotations()) {
        // Add watermark to image annotations
        if (annotation.getImageData() != null) {
            annotation.addWatermark(textWatermark);
        }
    }
}

步驟 4:儲存加了水印的 PDF

watermarker.save("YOUR_DOCUMENT_DIRECTORY/watermarked_document.pdf");
System.out.println("Document saved with watermark.");

常見問題與解決方案

  • Missing Dependencies – 確認 pom.xml 中的每個 <dependency> 條目皆符合上方顯示的版本。
  • File Path Issues – 使用絕對路徑,或確保工作目錄指向 YOUR_DOCUMENT_DIRECTORY
  • Unsupported Formats – GroupDocs.Watermark 支援 PDF、DOCX、PPTX 以及多種影像類型;其他格式將拋出例外。
  • remove watermark pdf java – 若日後需要移除水印,請在儲存文件前使用 watermarker.removeWatermarks()

實際應用

在以下情境中特別有用:

  1. Legal Documents – 標示合約為「Confidential」。
  2. Internal Reports – 防止意外外部流傳。
  3. Marketing Assets – 以公司口號為 PDF 加上品牌標記。
  4. Academic Drafts – 在同行評審前顯示草稿狀態。

效能考量

  • Batch Processing – 迭代 PDF 集合,盡可能重複使用單一 Watermarker 實例。
  • Memory Management – 對於大型檔案,增加 JVM 堆積大小(-Xmx2g 或更高),並如範例中在 try‑with‑resources 區塊中關閉 Watermarker
  • Optimize Watermark Settings – 調整 setScaleFactor 與透明度,以在可見度與檔案大小之間取得平衡。

常見問答

  1. Can I add watermarks to other types of annotations?
    可以,您可以針對不同的註釋類別(例如文字、連結或形狀註釋)自訂水印流程。

  2. Is there a limit on the number of watermarks per page?,但過多的水印可能影響可讀性與處理時間。

  3. How do I remove a watermark if needed?
    使用 GroupDocs.Watermark 的移除 API(watermarker.removeWatermarks())。

  4. Can this method handle encrypted PDFs?
    可以,只要在載入文件時提供正確的密碼。

  5. What file sizes can be processed?
    支援大型處理。

常見問題

Q: 如何在保持原始版面布局的同時 程水印?
A: 有,於儲存文件前呼叫 watermarker.removeWateratermark 是否支援受密碼保護的 PDF?** A: 當然支援。初始化 Watermarker時,將密碼傳入PdfLoadOptions`。

Q: 最新的 GroupDocs.Watermark 相容哪些 Java 版本?
A: 此函式庫支援 JDK 8 及以上版本,包括 Java 11、17 與 21。

**Q: 我可以在一次執行中批次處理數十個: 可以。將載入、加水印與儲存的步驟放入迴圈中,重複使用相同的 Watermarker 設定以提升效能。

結論

您現在已擁有一套完整、.Watermark21
**24.11 for Java
Author: GroupDocs

資源