Sostituire testo in documenti aziendali è un compito comune. Questo articolo spiega come trovare e sostituire contenuto in documenti PDF utilizzando AI e C#. Imparerai come applicare redazioni personalizzate e integrare l’AI per modificare il contenuto PDF.
I seguenti argomenti sono trattati in questo articolo:
- Modo regolare per sostituire testo
- Passaggi per redigere PDF utilizzando strumenti AI tramite C#
- Codice C# comune per utilizzare la funzionalità di GroupDocs.Redaction
- Codice C# per redazione personalizzata
- Esempio di prompt AI
Funzionalità di GroupDocs.Redaction per la Sostituzione del Testo
GroupDocs.Redaction ti consente di sostituire testo in vari formati di file supportati. Questo metodo si basa su espressioni regolari per identificare il testo che deve essere sostituito. Tuttavia, lavorare con espressioni regolari può richiedere un impegno aggiuntivo, specialmente in scenari più complessi. Per ulteriori informazioni, consulta la nostra documentazione.
Passaggi per redigere PDF utilizzando strumenti AI tramite C#
Puoi utilizzare questa funzionalità per nascondere informazioni sensibili o per generare un documento personalizzato da un modello. I seguenti passaggi mostrano come utilizzare l’AI per sostituire testo specifico in un documento PDF all’interno di un’applicazione .NET.
- Carica il file PDF utilizzando la classe Redactor.
- Fornisci un gestore di redazione personalizzato implementando la logica AI attraverso l’interfaccia ICustomRedactionHandler.
- Elabora il testo del documento, utilizzando PageAreaRedaction insieme a ReplacementOptions.
- Applica la redazione utilizzando il metodo Apply().
- Salva il documento elaborato in una nuova posizione utilizzando il metodo Save().
Codice C# comune per utilizzare la funzionalità di GroupDocs.Redaction
Il seguente codice utilizza l’AI per trovare e sostituire numeri di carte di credito in un documento. Questo frammento di codice include il metodo principale che inizializza il Redactor e applica le redazioni chiamando il metodo Apply().
public async Task Redaction_Custom_AI()
{
    // Di solito, questa regex è utilizzata per trovare testo da sostituire
    // Per fornire tutto il testo possibile per la redazione personalizzata, utilizza una regex come nell'esempio
    Regex regex = new Regex(".*");
    //Definisci le pagine target e il testo di sostituzione per le redazioni
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };
    //Fornisci un'implementazione del gestore di redazione personalizzata
    optionsText.CustomRedaction = new TextRedactor() { Test = this };
    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };
    //Elabora il documento
    using (var redactor = new Redactor("source.pdf"))
    {
        //Applica le redazioni al documento
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}
Codice C# per redazione personalizzata
L’implementazione di ICustomRedactionHandler consente agli utenti di definire la propria logica per redigere paragrafi di testo in file PDF. L’utilizzo di tali classi consente algoritmi flessibili adattati a specifiche esigenze aziendali.
public class TextRedactor : ICustomRedactionHandler
{
    public Redaction_Custom Test { get; set; }
    public CustomRedactionResult Redact(CustomRedactionContext context)
    {
        CustomRedactionResult result = new CustomRedactionResult();
        if (!String.IsNullOrEmpty(context.Text))
        {
            var response = Process_AI(context.Text, "[redacted-custom]").GetAwaiter().GetResult();
            if (response.Result != "none")
            {
                result.Apply = true;
                result.Text = response.Result;
            }
        }
        return result;
    }
}
Esempio di prompt AI
L’ultima parte è il codice di integrazione dell’AI. Il prompt fornito è piuttosto sofisticato, poiché non tutti gli strumenti AI possono elaborare dati sensibili, come i numeri delle carte di credito.
public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "Ciao, ho un pezzo di documento qui. " +
        "Potresti aiutarmi a sostituire qualsiasi parte che assomigli a blocchi digitali, come 'XXXX-'? " +
        "Questi blocchi sono solo numeri e trattini. " +
        "Ogni voce che voglio sostituire potrebbe avere da uno a quattro di questi blocchi. " +
        $"Per favore, sostituisci l'intero blocco con '{replacement}' nel testo. " +
        "Non ho bisogno dei tuoi commenti. " +
        "Restituisci come risultato solo il testo con le voci sostituite o semplicemente la parola 'none' se non c'era nulla da sostituire " +
        $"Ecco il testo su cui lavorare \n\n {text}";
    // Codice di integrazione AI dell'utente, che dipende dallo strumento AI utilizzato
    return await RequestToAI(prompt);
}
L’output del codice sopra è il seguente:
 
 
Conclusione
In questo articolo, abbiamo appreso come utilizzare redazioni personalizzate e integrazioni AI per elaborare PDF. Gli strumenti AI possono semplificare notevolmente l’elaborazione del testo, ma possono richiedere più tempo e essere meno prevedibili rispetto agli strumenti regolari.
Per ulteriori informazioni sul nostro prodotto, visita la documentazione. Se hai domande, sentiti libero di contattarci tramite il forum.
Prova la nostra applicazione web gratuita
Esplora le capacità di GroupDocs.Redaction utilizzando la nostra applicazione web online. Testa le funzionalità principali direttamente nel tuo browser senza installare nulla.