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 .NET per la sostituzione del testo
- [Trova e sostituisci parole o frasi](#sostituisci parole o frasi)
- Ricerca e sostituzione di parole case-sensitive
- Sostituzione con espressioni regolari (RegEx)
- Nascondi testo con riquadro colorato
API di redazione .NET per la sostituzione del testo
GroupDocs presenta GroupDocs.Redaction for .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.
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.