透かしは通常、機密文書の違法な使用を避けるために使用されます。機密性が不要になった場合は、そのようなドキュメントから透かしを削除することをお勧めします。ドキュメントには、テキストおよび画像ベースの透かしが含まれている場合があります。今日は、** C#を使用してPDFドキュメントから透かしを削除する方法**を見ていきます。

PDFドキュメントから透かしを削除する

PDF透かしを削除するための.NETAPI

GroupDocs.Watermark は、さまざまな[ファイル形式](https://docs.groupdocs.com/conversion/net](https://docs.groupdocs.com/conversion/net) のドキュメントおよび画像内の透かしを処理するための.NETAPIを紹介しています。 / supported-document-formats /) 。 _透かし除去アプリ_を作成している場合、それはあなたにいくつかの便利な方法を提供します:

*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のハイパーリンク透かしリムーバー

ドキュメントの透かし入れ.NETAPIを使用すると、サポートされている任意のドキュメント形式のドキュメント内のハイパーリンクを検索して削除できます。次の手順では、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ドキュメントからさまざまな透かしを削除する方法を学びました。これで、PDFドキュメントからテキスト透かしと画像透かしを検索して削除するための独自の.NETアプリケーションを構築する自信が増すと思います。さらに、指定されたフォーマットの透かしとハイパーリンク透かしを削除する機能を追加できます。

また、GroupDocs.Watermark for .NET の詳細については、ドキュメント をご覧ください。 。質問については、フォーラム からお問い合わせください。

関連項目