I modelli sono ampiamente utilizzati per generare documenti personalizzati. Questo articolo spiega come trovare e sostituire testo e parole nei documenti PDF usando C#. Discuteremo separatamente come sostituire a livello di codice parole e frasi, sostituire le parole con la ricerca con distinzione tra maiuscole e minuscole, sostituire utilizzando espressioni regolari. Infine, impareremo anche come nascondere la stringa cercata usando C#.

Di seguito verranno trattati i seguenti argomenti:

API di redazione .NET per la sostituzione del testo

GroupDocs presenta GroupDocs.Redaction per .NET, l’API per oscurare, nascondere o rimuovere contenuto e persino metadati di documenti, presentazioni, fogli di calcolo, file PDF e immagini all’interno dell’applicazione .NET. Per ulteriori dettagli sull’API, visitare la relativa documentazione.

Puoi scaricare il programma di installazione delle DLL o MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite [NuGet](https ://www.nuget.org/packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

Non è necessario installare alcun editor PDF o qualsiasi altro software di terze parti per la redazione. Quello che segue è lo screenshot di un documento PDF utilizzato negli esempi seguenti. Lo stesso approccio funzionerà per altri formati di documenti con poche o nessuna modifica nel codice.

Trova e sostituisci Word o Phrase in PDF usando C#

Puoi utilizzare questa funzione per nascondere tutti i dati riservati e anche per creare un nuovo documento personalizzato dal modello. Il passaggio seguente spiega come trovare qualsiasi parola/frase in un documento PDF con altro testo all’interno dell’applicazione C#.

  • Carica il file PDF utilizzando la classe Redactor.
  • Trova la frase o la parola esatta, utilizzando ExactPhraseRedaction e [ReplacementOptions](https://apiference .groupdocs.com/redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Applica la redazione utilizzando il metodo Apply().
  • Salva il nuovo documento con le modifiche utilizzando il metodo Save().

Il codice seguente trova e sostituisce la parola in C#. Più precisamente, nasconde tutte le occorrenze di “John Doe” sostituendolo con la parola “[censurato]”.

// Trova la frase esatta e sostituiscila con un altro testo usando C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

L’output del codice è il seguente.

Trova e sostituisci testo o frase con distinzione tra maiuscole e minuscole in PDF utilizzando C#

È possibile eseguire la ricerca e la redazione con distinzione tra maiuscole e minuscole. Il codice seguente sostituisce l’esistenza con distinzione tra maiuscole e minuscole della parola “John Doe” ma non “john doe” in C#.

// Trova la frase esatta (con distinzione tra maiuscole e minuscole) e sostituiscila con un altro testo usando C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

L’output del codice è il seguente.

Sostituisci il testo in PDF con le espressioni regolari (RegEx) usando C#

Puoi anche sostituire qualsiasi modello di testo specifico usando le espressioni regolari. I passaggi seguenti consentono di redigere PDF dopo la ricerca utilizzando l’espressione regolare (RegEx) all’interno dell’applicazione .NET.

  • Carica il documento PDF utilizzando la classe Redactor.
  • Trova la corrispondenza regolare utilizzando la classe RegexRedaction con [ReplacementOptions](https://apiference.groupdocs .com/redaction/net/groupdocs.redaction.redactions/replacementoptions).
  • Inserisci le modifiche al documento utilizzando il metodo Apply().
  • Salva il documento redatto utilizzando il metodo appropriato Save().

Il codice seguente mostra come trovare un determinato modello di testo in un documento PDF usando RegEx e successivamente sostituirlo/nasconderlo con un altro testo usando C#.

// Trova il testo usando un'espressione regolare e sostituiscilo con un altro testo usando C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

L’output del codice precedente è il seguente.

Sostituisci il testo con la casella colorata in C#

Se vuoi solo nascondere il contenuto cercato (informazioni private) del tuo file PDF, puoi semplicemente metterci una copertina. L’API consente di nascondere il testo cercato. Il codice C# seguente posiziona il rettangolo nero sul testo privato menzionato.

// Trova il testo in PDF e nascondilo disegnandoci sopra un rettangolo usando C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

L’output del codice precedente è il seguente.

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per concludere, abbiamo imparato come trovare un determinato testo nei file PDF utilizzando diverse tecniche di ricerca. Successivamente abbiamo discusso su come redigere i file PDF sostituendo o nascondendo il testo all’interno dell’applicazione .NET utilizzando C#. Più precisamente, abbiamo cercato semplicemente parole, frasi, ricerca con distinzione tra maiuscole e minuscole e utilizzando espressioni regolari in C#. Infine, abbiamo sostituito i risultati della ricerca con un altro testo o nascondendolo con una casella rettangolare sopra di esso.

Per maggiori dettagli sull’API, visita la documentazione. Per domande, contattaci tramite il forum.

Guarda anche