在本文中,您將了解如何在 C# .NET 中以編程方式在 PDF 文檔中添加或刪除水印。

PDF 文件中經常使用水印。您可以通過幾個簡單的步驟在 PDF 文件中插入或刪除文本和圖像水印。您可以輕鬆控制許多用於處理水印的屬性。例如,不透明度、位置、旋轉、顏色、字體、圖像等,等等。同樣,可以通過快速 API 調用為水印設置許多其他屬性。

讓我們通過以下部分進一步探討這個主題:

用於在 PDF 中添加或刪除水印的 C# .NET API – 免費下載

Aspose.PDF for .NET API 允許您創建、編輯和操作您的 PDF 文檔。您可以輕鬆使用在 PDF 文檔中添加或刪除水印的功能。您可以從 New Releases 部分下載最新的 DLL 文件,或使用以下 NuGet 命令安裝它們:

PM> Install-Package Aspose.Pdf

API 將在幾分鐘內配置好,現在您已準備好處理 PDF 文檔中的水印。

在 C# .NET 中的 PDF 文件中添加文本水印

PDF 文檔中經常使用文本水印來顯示文檔的目的或性質。例如,某些組織可能會根據文檔的性質將文本水印添加為“機密”或“機密”。同樣,您可以控製字體大小、字體樣式、顏色、旋轉、位置等。您可以通過以下步驟在 PDF 文件中添加文本水印:

  1. 加載輸入 PDF 文檔
  2. 創建 TextStamp 類實例
  3. 設置原點和其他屬性
  4. 為文本水印設置 Stamp ID 以便稍後識別
  5. 將圖章添加到特定頁面
  6. 保存帶有文本水印的輸出 PDF

以下代碼片段解釋瞭如何使用 C# 在 PDF 文件中添加或插入文本水印:

// 打開文檔
Document pdfDocument = new Document(dataDir + "Input.pdf");

// 創建文本圖章
TextStamp textStamp = new TextStamp("CONFIDENTIAL");
// 設置原點
textStamp.XIndent = 25;
textStamp.YIndent = 400;

// 設置文本屬性
textStamp.TextState.Font = FontRepository.FindFont("Arial");
textStamp.TextState.FontSize = 72.0F;
textStamp.TextState.FontStyle = FontStyles.Italic;
textStamp.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Gray);
textStamp.Opacity = 50;

// 為文本水印設置 Stamp ID 以便稍後識別它
textStamp.setStampId(123456);

// 在特定頁面上添加圖章
pdfDocument.Pages[1].AddStamp(textStamp);

dataDir = dataDir + "Add_Text_Watermark.pdf";
// 保存輸出文件
pdfDocument.Save(dataDir);

用C#在PDF文件中添加圖像水印

圖像包含很多有意義的信息,因此圖像水印也經常在 PDF 文件中使用。例如,某個組織或機構發布的文件可能會在頁面背景中顯示其徽標。您可以通過以下步驟使用 C# 在 PDF 文檔中插入圖像水印的功能:

  1. 加載輸入 PDF 文檔
  2. 訪問輸入 PDF 的任何頁面
  3. 創建圖像圖章
  4. 中心根據頁面尺寸調整圖像水印
  5. 如果需要,設置 stamp id 以便稍後刪除水印
  6. 在特定頁面或所有頁面上添加郵票
  7. 保存帶有圖像水印的輸出 PDF

下面的代碼片段顯示瞭如何使用 C# 在 PDF 文件中插入圖像水印:

// 加載輸入 PDF 文檔
Document pdfDocument = new Document(dataDir + "Input.pdf");

// 訪問輸入 PDF 的任何頁面
Page testpage = pdfDocument.Pages[1];

// 創建圖像圖章
ImageStamp imageStamp = new ImageStamp(dataDir + "aspose-logo.png");
imageStamp.Background = true;
imageStamp.Height = 300;
imageStamp.Width = 300;

// 中心根據頁面尺寸調整圖像水印
imageStamp.XIndent = (testpage.PageInfo.Width / 2) - (imageStamp.Width / 2);
imageStamp.YIndent = (testpage.PageInfo.Height / 2) - (imageStamp.Height / 2);
imageStamp.Opacity = 0.5;

// 如果需要,設置 stamp id 以便稍後刪除水印
imageStamp.setStampId(12345678);

// 在特定頁面上添加圖章
//pdfDocument.Pages[1].AddStamp(imageStamp);

// 為PDF的每一頁添加圖章
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

dataDir = dataDir + "Add_Image_Watermark.pdf";

// 保存輸出文檔
pdfDocument.Save(dataDir);

您可以在屏幕截圖中註意到 PDF 文件居中對齊的圖像水印:

圖片水印PDF

使用 C# 去除 PDF 文件中的水印

您可以從 PDF 文檔中移除/刪除水印。圖像水印或文本水印可以通過添加水印時在上述示例中設置的 stamp id 屬性來識別。您需要按照以下步驟從 PDF 文件中刪除水印:

  1. 初始化 PdfContentEditor 類對象
  2. 調用 BindPdf 方法
  3. 使用特定 ID 刪除水印
  4. 保存已移除水印的輸出 PDF

下面的代碼顯示瞭如何在 C# 中從 PDF 文件中刪除圖像或文本水印:

// 初始化 PdfContentEditor 類對象
PdfContentEditor contentEditor = new PdfContentEditor();

// 調用 BindPdf 方法
contentEditor.BindPdf(dataDir + "Watermark.pdf");

// 使用特定 ID 刪除水印
contentEditor.DeleteStampById(12345678);

// 保存已移除水印的輸出 PDF
contentEditor.Save(dataDir + @"Remove_Watermark.pdf");

結論

在本文中,您了解瞭如何使用 C# 以編程方式在 PDF 文檔中添加圖像水印或文本水印。同樣,我們還探討瞭如何在 .NET 應用程序中使用 C# 去除 PDF 文件中的圖像或文本水印。此外,如有任何疑問或信息,您可以在免費支持論壇上寫信給我們。

也可以看看