水印通常用於避免任何非法使用機密文件。當不再需要保密時,您最好從此類文檔中刪除水印。文檔中可以有基於文本和圖像的水印。今天,我們將看看如何使用 C# 去除 PDF 文檔中的水印。

從 PDF 文檔中去除水印

.NET API 去除 PDF 水印

GroupDocs.Watermark 展示了 .NET API 來處理不同[文件格式]的文檔和圖像中的水印(https://docs.groupdocs.com/conversion/net /支持的文檔格式/)。如果您正在製作水印去除應用程序,它會為您提供一些有用的方法:

  • 從 PDF 中刪除所有水印
  • 刪除具有特定文本格式的水印
  • 去除超鏈接水印

讓我們了解 C# 開發人員如何使用 GroupDocs.Watermark for .NET API 以不同方式從 PDF 中刪除水印。

使用 C# 從 PDF 文檔中刪除所有水印

API 使您能夠輕鬆地找到並從文檔中刪除特定水印和所有水印。以下代碼使用 C# 從 PDF 文檔中刪除所有水印。

  • 使用 Watermarker 加載 PDF 文件。
  • 使用搜索將所有可能的水印 作為一個集合獲取。
  • 遍歷整個集合併刪除每個水印或符合您標準的水印。
  • 保存更新後的 PDF,上面不再有水印。

以下 C# 代碼刪除 PDF 文檔中的所有水印。

// 使用 C# 去除 PDF 和其他文檔中的水印
using (Watermarker watermarker = new Watermarker("filepath/documentWithWatermarks.pdf"))
{
    PossibleWatermarkCollection possibleWatermarks = watermarker.Search();

    // 通過在文檔中提及索引來刪除每個水印。
    for (int i = 0; i < possibleWatermarks.Count; i++)
    {
        possibleWatermarks.RemoveAt(i);
    }
    watermarker.Save("filepath/no-watermarks.pdf");
}

使用 C# 從具有特定文本格式的 PDF 中刪除水印

使用 API,您可以根據文本格式搜索和刪除水印。您可以提供包含名稱、字體、大小、顏色等的搜索條件,API 將找到具有匹配屬性的水印。以下代碼片段演示瞭如何使用 C# 從具有特定文本格式的 PDF 文件中搜索和刪除水印。

  • 使用 Watermarker 加載 PDF 文件。
  • 使用 TextFormattingSearchCriteria 定義搜索條件。
  • 提及所有必需的格式屬性。
  • 通過提供定義的條件,執行 Search() 並獲取所有 可能的水印 作為集合。
  • 使用 Clear() 方法刪除所有搜索到的水印。
  • 使用定義的屬性保存沒有水印的更新 PDF。

以下 C# 代碼刪除具有指定文本格式的 PDF 文檔中的水印。

// 使用 C# 從 PDF 中刪除具有特定文本格式的水印
using (Watermarker watermarker = new Watermarker("path/Watermarks.pdf"))
{
    TextFormattingSearchCriteria criteria = new TextFormattingSearchCriteria();
    criteria.ForegroundColorRange = new ColorRange();
    criteria.ForegroundColorRange.MinHue = -5;
    criteria.ForegroundColorRange.MaxHue = 10;
    criteria.ForegroundColorRange.MinBrightness = 0.01f;
    criteria.ForegroundColorRange.MaxBrightness = 0.99f;
    criteria.BackgroundColorRange = new ColorRange();
    criteria.BackgroundColorRange.IsEmpty = true;
    criteria.FontName = "Arial";
    criteria.MinFontSize = 19;
    criteria.MaxFontSize = 42;
    criteria.FontBold = true;

    PossibleWatermarkCollection possibleWatermarks = watermarker.Search(criteria);
    possibleWatermarks.Clear();

    watermarker.Save("path/removed-watermarks.pdf");
}

.NET 中的超鏈接水印去除器

文檔水印 .NET API 允許您在任何支持的文檔格式的文檔中搜索和刪除超鏈接。以下步驟允許使用 C# 在 .NET 應用程序中從 PDF 文檔中刪除超鏈接水印。

  • 使用 Watermarker 加載 PDF 文件。
  • 使用搜索將所有可能的水印 作為一個集合獲取。
  • 遍歷整個集合併刪除每個水印或符合您標準的水印。
  • 保存更新後的 PDF,上面不再有水印。

以下 C# 代碼示例顯示瞭如何從 PDF 文檔中查找和刪除具有特定 URL 的超鏈接水印。

// 使用 C# 從 PDF 中刪除超鏈接水印
using (Watermarker watermarker = new Watermarker("path/Hyperlink-Watermarks.pdf"))
{
    PossibleWatermarkCollection watermarks = watermarker.Search(new TextSearchCriteria(new Regex(@"someurl\.com")));
    for (int i = 0 ; i < watermarks.Count; i++)
    {
        if (watermarks[i] is HyperlinkPossibleWatermark)
        {
            Console.WriteLine("Removing: " + watermarks[i].Text);
            watermarks.RemoveAt(i);
        }
    }
    watermarker.Save("path/no-hyperlink-watermarks.pdf");
}

結論

總而言之,今天我們學習了使用 C# 從 PDF 文檔中去除不同的水印。我相信您現在會更有信心構建自己的 .NET 應用程序來查找和刪除 PDF 文檔中的文本水印和圖像水印。此外,您可以添加刪除具有指定格式的水印和超鏈接水印的功能。

此外,您可以從其文檔了解更多關於GroupDocs.Watermark for .NET .如有疑問,請通過論壇 聯繫我們。

也可以看看