Das Ersetzen von Text in Geschäftsdokumenten ist eine gängige Aufgabe. Dieser Artikel erklärt wie man Inhalte in PDF-Dokumenten mithilfe von KI und C# finden und ersetzen kann. Sie werden lernen, wie man benutzerdefinierte Redaktionen anwendet und KI integriert, um den PDF-Inhalt zu ändern.
Die folgenden Themen werden in diesem Artikel behandelt:
- Regulärer Weg um Text zu ersetzen
- Schritte zur Redigierung von PDF mit KI-Tools über C#
- Allgemeiner C#-Code zur Nutzung der GroupDocs.Redaction-Funktionalität
- Benutzerdefinierter Redaktions-C#-Code
- Beispiel für ein KI-Prompt
GroupDocs.Redaction-Funktion zum Ersetzen von Text
GroupDocs.Redaction ermöglicht es Ihnen, Text in verschiedenen unterstützten Dateiformaten zu ersetzen. Diese Methode basiert auf regulären Ausdrücken, um den Text zu identifizieren, der ersetzt werden muss. Die Arbeit mit regulären Ausdrücken kann jedoch zusätzlichen Aufwand erfordern, insbesondere in komplexeren Szenarien. Weitere Informationen finden Sie in unserer Dokumentation.
Schritte zur Redigierung von PDF mit KI-Tools über C#
Sie können diese Funktion nutzen, um sensible Informationen zu verbergen oder ein angepasstes Dokument aus einer Vorlage zu erstellen. Die folgenden Schritte zeigen, wie man KI verwendet, um spezifischen Text in einem PDF-Dokument innerhalb einer .NET-Anwendung zu ersetzen.
- Laden Sie die PDF-Datei mit der Redactor-Klasse.
- Stellen Sie einen benutzerdefinierten Redaktionshandler bereit, indem Sie Ihre KI-Logik über das ICustomRedactionHandler-Interface implementieren.
- Verarbeiten Sie den Dokumenttext, unter Verwendung von PageAreaRedaction zusammen mit ReplacementOptions.
- Wenden Sie die Redaktion an mit der Apply()-Methode.
- Speichern Sie das verarbeitete Dokument an einem neuen Ort mit der Save()-Methode.
Allgemeiner C#-Code zur Nutzung der GroupDocs.Redaction-Funktionalität
Der folgende Code verwendet KI, um Kreditkartennummern in einem Dokument zu finden und zu ersetzen. Dieses Code-Snippet enthält die Hauptmethode, die den Redactor initialisiert und Redaktionen anwendet, indem die Apply()-Methode aufgerufen wird.
public async Task Redaction_Custom_AI()
{
    // Üblicherweise wird dieser Regex verwendet, um Text für den Ersatz zu finden
    // Um allen möglichen Text für benutzerdefinierte Redaktionen bereitzustellen, verwenden Sie einen Regex wie im Beispiel
    Regex regex = new Regex(".*");
    //Definieren Sie Zielseiten und Ersatztext für Redaktionen
    ReplacementOptions optionsText = new ReplacementOptions("[replaced]");
        optionsText.Filters = new RedactionFilter[] {
        new PageRangeFilter(PageSeekOrigin.Begin, 0, 2)
    };
    //Bieten Sie eine benutzerdefinierte Redaktionshandler-Implementierung an
    optionsText.CustomRedaction = new TextRedactor() { Test = this };
    var textRedaction = new PageAreaRedaction(regex, optionsText);
    var redactions = new Redaction[] { textRedaction };
    //Verarbeiten Sie das Dokument
    using (var redactor = new Redactor("source.pdf"))
    {
        //Wenden Sie Redaktionen auf das Dokument an
        RedactorChangeLog result = redactor.Apply(redactions);
        if (result.Status != RedactionStatus.Failed)
        {
            redactor.Save(new GroupDocs.Redaction.Options.SaveOptions(false, "Result"));
        }
    }
}
Benutzerdefinierter Redaktions-C#-Code
Die Implementierung des ICustomRedactionHandler ermöglicht es Benutzern, ihre eigene Logik für das Redigieren von Textabsätzen in PDF-Dateien zu definieren. Durch die Verwendung solcher Klassen werden flexible Algorithmen ermöglicht, die auf spezifische geschäftliche Bedürfnisse zugeschnitten sind.
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;
    }
}
Beispiel für ein KI-Prompt
Der letzte Teil ist der KI-Integrationscode. Das bereitgestellte Prompt ist ziemlich komplex, da nicht alle KI-Tools sensible Daten, wie Kreditkartennummern, verarbeiten können.
public async Task<OpenAIResult> Process_AI(string text, string replacement)
{
    string prompt =
        "Hey, ich habe hier ein Dokument. " +
        "Könnten Sie mir helfen, Teile auszutauschen, die wie digitale Blöcke aussehen, wie beispielsweise 'XXXX-'? " +
        "Diese Blöcke sind einfach Zahlen und Bindestriche. " +
        "Jeder Eintrag, den ich ersetzen möchte, könnte zwischen einem und vier dieser Blöcke haben. " +
        $"Bitte ersetzen Sie den gesamten Block durch '{replacement}' im Text. " +
        "Ich brauche keine Ihrer Kommentare. " +
        "Geben Sie als Ergebnis nur den Text mit den ersetzten Einträgen oder lediglich das Wort 'none' zurück, wenn es nichts zu ersetzen gab. " +
        $"Hier ist der Text, mit dem zu arbeiten ist \n\n {text}";
    // Benutzer-KI-Integrationscode, der von dem verwendeten KI-Werkzeug abhängt
    return await RequestToAI(prompt);
}
Die Ausgabe des oben stehenden Codes lautet wie folgt:
 
 
Fazit
In diesem Artikel haben wir gelernt, wie man benutzerdefinierte Redaktionen und KI-Integration verwendet, um PDFs zu verarbeiten. KI-Tools können die Textverarbeitung erheblich vereinfachen, benötigen jedoch möglicherweise mehr Zeit und können weniger vorhersehbar sein als reguläre Werkzeuge.
Für weitere Informationen über unser Produkt besuchen Sie bitte die Dokumentation. Wenn Sie Fragen haben, können Sie uns gerne über das Forum kontaktieren.
Probieren Sie unsere kostenlose Webanwendung aus
Erforschen Sie die Möglichkeiten von GroupDocs.Redaction mit unserer Online-Webanwendung. Testen Sie die Hauptfunktionen direkt in Ihrem Browser, ohne etwas installieren zu müssen.