Java PDF 水印實作完整指南(使用 GroupDocs.Watermark)

介紹

如果您需要 remove text watermark pdf 檔案或直接在 PDF 中嵌入品牌標誌,您來對地方了。在本教學中,我們將逐步說明整個流程——載入 PDF、搜尋影像與文字水印、在特定頁面刪除水印,最後儲存已清理的文件。過程中您也會看到如何在需要為新檔案加上品牌時使用 add watermark java pdf,全部皆透過功能強大的 groupdocs watermark java 函式庫完成。

快速解答

  • What is the primary purpose of GroupDocs.Watermark for Java?
    用於在 PDF、Word、Excel 以及影像檔案中新增、搜尋與移除影像或文字水印。
  • Can I delete a watermark on a specific page?
    可以 ─ 使用頁面層級的搜尋條件(請參考「delete watermark specific page」)。
  • Do I need a license for production use?
    超過試用期後需使用臨時或正式授權。
  • Which Maven coordinates are required?
    com.groupdocs:groupdocs-watermark:24.11(或更新版本)。
  • Is the library compatible with Java 8+?
    完全相容於 Java 8 及更高版本。

什麼是 “remove text watermark pdf” 以及為何重要?

移除不需要的水印能恢復文件的乾淨外觀,讓文件可重新分發、列印或保存。當您收到包含舊有品牌或已不再適用的版權聲明的 PDF 時,這項功能尤其有用。

為何選擇 GroupDocs.Watermark for Java?

  • 高精度:支援 DCT‑hash 影像偵測與強大的文字搜尋。
  • 跨格式支援(PDF、DOCX、PPTX、影像)。
  • 簡易 API:只需幾行程式碼即可新增或刪除水印。
  • 企業級授權:適合大規模處理需求。

前置條件

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

  • 必要函式庫:GroupDocs.Watermark for Java(版本 24.11 或更新)。
  • 環境設定:JDK 8+ 以及 IntelliJ IDEA 或 Eclipse 等 IDE。
  • 基本知識:熟悉 Java 與 Maven 依賴管理。

設定 GroupDocs.Watermark for Java

要在專案中加入 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>

直接下載:
GroupDocs.Watermark for Java releases 下載最新版本。

授權取得

若要在試用期結束後繼續使用 GroupDocs.Watermark,請取得臨時授權或購買正式授權。前往 此連結 開始授權流程。

基本初始化:
在 Java 應用程式中初始化 watermarker:

import com.groupdocs.watermark.Watermarker;

public class SetupGroupDocsWatermark {
    public static void main(String[] args) {
        Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf");
        System.out.println("GroupDocs.Watermark initialized successfully!");
    }
}

實作指南

透過實務範例探索 GroupDocs.Watermark for Java 的各項功能。

功能 1:載入 PDF 文件

使用 Watermarker 類別載入 PDF 文件,這是任何水印作業的前置步驟。

步驟說明:

建立 PdfLoadOptions 例項:

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

public class Feature1 {
    public static void main(String[] args) {
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);
    }
}

說明: PdfLoadOptions 用於指定載入偏好,Watermarker 則負責載入與管理文件。

功能 2:初始化影像與文字水印的搜尋條件

設定條件以在 PDF 中同時定位影像與文字水印。

步驟說明:

初始化搜尋條件:

import com.groupdocs.watermark.search.ImageDctHashSearchCriteria;
import com.groupdocs.watermark.search.ImageSearchCriteria;
import com.groupdocs.watermark.search.TextSearchCriteria;

public class Feature2 {
    public static void main(String[] args) {
        ImageSearchCriteria imageSearchCriteria = new ImageDctHashSearchCriteria("YOUR_DOCUMENT_DIRECTORY/logo.png");
        TextSearchCriteria textSearchCriteria = new TextSearchCriteria("Company Name");
    }
}

說明: ImageDctHashSearchCriteria 依據 DCT hash 辨識影像,TextSearchCriteria 用於搜尋特定文字字串。

功能 3:在 PDF 指定頁面搜尋並移除水印

針對 PDF 的特定頁面執行水印搜尋與移除。

步驟說明:

存取並修改文件內容:

import com.groupdocs.watermark.Watermarker;
import com.groupdocs.watermark.contents.PdfContent;
import com.groupdocs.watermark.search.PossibleWatermarkCollection;

public class Feature3 {
    public static void main(String[] args) {
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);
        
        PdfContent pdfContent = watermarker.getContent(PdfContent.class);
        PossibleWatermarkCollection possibleWatermarks = pdfContent.getPages().get_Item(0).search(
            new ImageDctHashSearchCriteria("YOUR_DOCUMENT_DIRECTORY/logo.png").or(
                new TextSearchCriteria("Company Name")
            )
        );
        
        for (int i = possibleWatermarks.getCount() - 1; i >= 0; i--) {
            possibleWatermarks.removeAt(i);
        }
    }
}

說明: 此程式碼片段會在第一頁搜尋影像與文字水印,並移除所有找到的項目。

功能 4:儲存並關閉已加水印的 PDF 文件

完成修改後,將變更寫回磁碟並正確釋放資源。

步驟說明:

儲存變更:

import com.groupdocs.watermark.Watermarker;

public class Feature4 {
    public static void main(String[] args) {
        PdfLoadOptions loadOptions = new PdfLoadOptions();
        Watermarker watermarker = new Watermarker("YOUR_DOCUMENT_DIRECTORY/document.pdf", loadOptions);
        
        watermarker.save("YOUR_OUTPUT_DIRECTORY/modified_document.pdf");
        watermarker.close();
    }
}

說明: save 方法將變更寫入磁碟,close 方法確保資源被釋放。

如何在特定頁面移除 remove text watermark pdf

若只需在第 3 頁刪除水印,只要在 search 呼叫中調整頁面索引為 get_Item(2) 即可。相同的邏輯可套用於任何目標頁面,滿足 delete watermark specific page 的需求。

如何在新文件中加入 add watermark java pdf

建立全新 PDF 時,可使用 watermarker.add() 搭配 TextWatermarkImageWatermark 物件。這與移除流程相輔相成,讓您能在同一條管線中 add watermark java pdf

實務應用

1. 文件品牌化

在 PDF 中加入公司標誌或品牌名稱,確保所有文件保持一致的品牌形象。

2. 版權保護

在數位出版物中嵌入版權聲明,以防止未授權使用。

3. 水印移除自動化

在文件處理工作流程中自動移除特定水印,提高效率。

效能考量

  • 優化資源使用:確保 Java 環境具備足夠記憶體以處理大型 PDF。
  • 有效的搜尋條件:使用精確的搜尋條件可加速水印偵測與移除。
  • 批次處理:處理多份文件時,考慮使用批次處理技術以提升效能。

常見問題與解決方案

問題原因解決方式
找不到水印搜尋條件過於嚴格或路徑錯誤核對影像路徑與精確文字字串;使用 or 結合條件。
大型 PDF 發生 OutOfMemoryError堆疊記憶體不足增加 JVM -Xmx 參數(例如 -Xmx2g)。
授權未生效未載入授權檔案在建立 Watermarker 前呼叫 License.setLicense("path/to/license.lic")

常見問答

Q: 可以一次同時移除影像與文字水印嗎?
A: 可以 ─ 如功能 3 所示,使用 .or() 方法將 ImageDctHashSearchCriteriaTextSearchCriteria 結合。

Q: GroupDocs.Watermark 支援受密碼保護的 PDF 嗎?
A: 完全支援。只要在 PdfLoadOptions 內使用 setPassword("yourPassword") 即可。

Q: 能否加入半透明的水印?
A: 能。建立 TextWatermarkImageWatermark 時,設定不透明度屬性(例如 setOpacity(0.5))。

Q: 如何有效率地處理大量 PDF?
A: 為每個檔案建立 Watermarker 實例,重複使用同一個 PdfLoadOptions 物件,並考慮使用執行緒池進行多執行緒處理。

Q: 支援哪些 Java 版本?
A: GroupDocs.Watermark Java 相容於 Java 8 及更新的執行環境。


最後更新日期: 2026-02-21
測試環境: GroupDocs.Watermark 24.11 for Java
作者: GroupDocs