Le filigrane sono normalmente utilizzate per evitare qualsiasi uso illegale di documenti riservati. Quando la riservatezza non è più necessaria, è meglio rimuovere le filigrane da tali documenti. In un documento possono essere presenti filigrane basate su testo e immagini. Oggi daremo un’occhiata a come rimuovere le filigrane dai documenti PDF utilizzando C#.

Rimuovere la filigrana dai documenti PDF

API .NET per rimuovere filigrane PDF

GroupDocs.Watermark mostra l’API .NET per gestire le filigrane all’interno di documenti e immagini di diversi formati di file. Se stai creando un’app per la rimozione della filigrana, ti fornisce alcuni modi utili per:

  • Rimuovi tutte le filigrane dal PDF
  • Elimina filigrane con una particolare formattazione del testo
  • Rimuovere le filigrane dei collegamenti ipertestuali

Impariamo come uno sviluppatore C# può rimuovere filigrane dal PDF utilizzando l’API GroupDocs.Watermark for .NET in diversi modi.

Rimuovi tutte le filigrane dal documento PDF usando C#

L’API ti dà il potere di trovare e rimuovere facilmente una filigrana particolare e tutte le filigrane da un documento. Il codice seguente rimuove tutte le filigrane da un documento PDF utilizzando C#.

  • Carica il file PDF utilizzando Watermarker.
  • Recupera tutte le possibili filigrane come raccolta utilizzando la ricerca.
  • Attraversa l’intera collezione e rimuovi ogni filigrana o quella che soddisfa il tuo criterio.
  • Salva il PDF aggiornato senza più filigrane.

Il codice C# seguente rimuove tutte le filigrane da un documento PDF.

// Rimuovi le filigrane da PDF e altri documenti usando C#
using (Watermarker watermarker = new Watermarker("filepath/documentWithWatermarks.pdf"))
{
    PossibleWatermarkCollection possibleWatermarks = watermarker.Search();

    // Rimuovere ogni filigrana menzionando l'indice all'interno del documento.
    for (int i = 0; i < possibleWatermarks.Count; i++)
    {
        possibleWatermarks.RemoveAt(i);
    }
    watermarker.Save("filepath/no-watermarks.pdf");
}

Rimuovi la filigrana dal PDF con una particolare formattazione del testo usando C#

Utilizzando l’API puoi cercare e rimuovere le filigrane in base alla formattazione del testo. Puoi fornire un criterio di ricerca contenente nome, carattere, dimensione, colore, ecc. e l’API troverà le filigrane con proprietà corrispondenti. Il frammento di codice seguente mostra come cercare e rimuovere filigrane da un file PDF con una formattazione di testo specifica usando C#.

  • Carica il file PDF utilizzando Watermarker.
  • Definisci il criterio di ricerca utilizzando TextFormattingSearchCriteria.
  • Menziona tutte le proprietà di formattazione richieste.
  • Esegui Search() e ottieni tutte le possibili filigrane come raccolta fornendo i criteri definiti.
  • Rimuovi tutte le filigrane cercate utilizzando il metodo Clear().
  • Salva il PDF aggiornato senza filigrana con le proprietà definite.

Il codice C# seguente rimuove le filigrane in un documento PDF con la formattazione del testo specificata.

// Rimuovere le filigrane con una formattazione del testo specifica da un PDF utilizzando C#
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");
}

Rimozione filigrana collegamento ipertestuale in .NET

L’API .NET per la filigrana del documento consente di cercare e rimuovere i collegamenti ipertestuali in un documento di qualsiasi formato di documento supportato. I passaggi seguenti consentono di rimuovere le filigrane dei collegamenti ipertestuali da un documento PDF all’interno dell’applicazione .NET utilizzando C#.

  • Carica il file PDF utilizzando Watermarker.
  • Recupera tutte le possibili filigrane come raccolta utilizzando la ricerca.
  • Attraversa l’intera collezione e rimuovi ogni filigrana o quella che soddisfa il tuo criterio.
  • Salva il PDF aggiornato senza più filigrane.

L’esempio di codice C# seguente mostra come trovare e rimuovere filigrane di collegamenti ipertestuali con un determinato URL da un documento PDF.

// Rimuovere le filigrane dei collegamenti ipertestuali dal PDF utilizzando C#
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");
}

Conclusione

Per concludere, oggi abbiamo imparato a rimuovere diverse filigrane dai documenti PDF utilizzando C#. Credo che ora sarai più sicuro di creare la tua applicazione .NET per trovare e rimuovere filigrane di testo e filigrane di immagini dai documenti PDF. Inoltre, puoi aggiungere funzionalità per la rimozione di filigrane con formattazione specificata e filigrane di collegamenti ipertestuali.

Inoltre, puoi saperne di più su GroupDocs.Watermark for .NET dalla sua documentazione . Per domande, contattaci tramite il forum.

Guarda anche