C# findet und ersetzt Text in PDF

Die Option „Suchen und Ersetzen“ ermöglicht es, einen bestimmten Textabschnitt in einem Dokument auf einmal zu ersetzen. Auf diese Weise müssen Sie nicht jedes Vorkommen des Textes im gesamten Dokument manuell suchen und aktualisieren. Dieser Artikel geht sogar noch einen Schritt weiter und behandelt, wie Sie die Funktion zum Suchen und Ersetzen von Text in PDF Dokumenten automatisieren. Insbesondere lernen Sie, wie Sie Text in einem PDF in C# .NET suchen und ersetzen. Wir zeigen auch, wie Sie Text auf einer bestimmten Seite oder einem Seitenbereich mit C# ersetzen.

C# .NET API zum Suchen und Ersetzen von Text in PDF Dateien – kostenloser Download

Aspose.PDF for .NET ist eine C# Klassenbibliothek, die sowohl grundlegende als auch erweiterte PDF Bearbeitungsfunktionen for .NET Anwendungen bereitstellt. Mit der API können Sie auch Text in PDF Dateien auf verschiedene Weise nahtlos finden und ersetzen. Sie können die DLL der API entweder herunterladen oder sie mit NuGet installieren.

PM> Install-Package Aspose.PDF

Suchen und Ersetzen von Text in PDF mit C#

Im Folgenden finden Sie Schritte zum Suchen und Ersetzen von Text in einem PDF Dokument.

Das folgende Codebeispiel zeigt, wie Text in PDF mithilfe von C# gesucht und ersetzt wird.

// Dokument öffnen
Document pdfDocument = new Document("Document.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Instanzen des eingegebenen Suchausdrucks zu finden
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Akzeptieren Sie den Absorber für alle Seiten
pdfDocument.Pages.Accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Schleife durch die Fragmente
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualisieren Sie Text und andere Eigenschaften
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}
            
// Speichern Sie das resultierende PDF Dokument.
pdfDocument.Save("updated-document.pdf");

C# Text auf einer bestimmten PDF-Seite ersetzen

Im Folgenden finden Sie Schritte zum Suchen und Ersetzen von Text auf einer bestimmten Seite in einem PDF Dokument.

  • Verwenden Sie die Klasse Document, um das PDF Dokument über seinen Pfad zu laden.
  • Erstellen Sie eine Instanz der Klasse TextFragmentAbsorber und geben Sie den Suchausdruck an ihren Konstruktor weiter.
  • Akzeptieren Sie den Text-Absorber für die gewünschte Seite mit [Document.Pages1.Accept(TextFragmentAbsorber)]12.
  • Durchlaufen Sie die gefundene Sammlung TextFragmentAbsorber.TextFragments und ersetzen Sie den Text in jedem Fragment.
  • Speichern Sie das aktualisierte PDF Dokument mit der methode Document.Save(String).

Das folgende Codebeispiel zeigt, wie Text auf einer bestimmten Seite der PDF Datei mit C# gesucht und ersetzt wird.

// Dokument öffnen
Document pdfDocument = new Document("Document.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Instanzen des eingegebenen Suchausdrucks zu finden
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");

// Akzeptieren Sie den gewünschten Absorber
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Schleife durch die Fragmente
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualisieren Sie Text und andere Eigenschaften
    textFragment.Text = "TEXT";
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// Speichern Sie das resultierende PDF Dokument.
pdfDocument.Save("updated-document.pdf");

Text im PDF-Seitenbereich in C# ersetzen

Sie können auch Text in einem bestimmten Bereich der Seite in einem PDF Dokument suchen und ersetzen. Die folgenden Schritte zeigen, wie Sie einen bestimmten Bereich definieren und dann Text darin ersetzen.

Das folgende Codebeispiel zeigt, wie Text in einem bestimmten Seitenbereich in einer PDF Datei mit C# gesucht und ersetzt wird.

// PDF Datei laden
Document pdf = new Document("Document.pdf");

// TextFragment-Absorber objekt instanziieren
TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();

// Suchtext innerhalb der Seitengrenze
TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;

// Geben Sie den Seitenbereich für TextSearch-Optionen an
TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);

// Suchtext auf der ersten Seite der PDF Datei
pdf.Pages[1].Accept(TextFragmentAbsorberAddress);

// durch einzelnes TextFragment iterieren
foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
{
    // Text auf Leerzeichen aktualisieren
    tf.Text = "";
}

// aktualisierte PDF Datei nach Textersetzung speichern
pdf.Save("output.pdf");

C# Text in PDF durch regulären Ausdruck (Regex) ersetzen

Sie können auch reguläre Ausdrücke verwenden, um die Textvorkommen zu finden und zu ersetzen, die einem bestimmten Muster entsprechen. Dazu müssen Sie nur einen regulären Ausdruck anstelle des einfachen Suchbegriffs angeben und TextSearchOptions verwenden. Im Folgenden sind die Schritte dazu aufgeführt.

Das folgende Codebeispiel zeigt, wie Text in einer PDF Datei mithilfe von regulären Ausdrücken in C# gesucht und ersetzt wird.

// Dokument öffnen
Document pdfDocument = new Document("Document.pdf");

// Erstellen Sie ein TextAbsorber objekt, um alle Phrasen zu finden, die mit dem regulären Ausdruck übereinstimmen
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000

// Legen Sie die Textsuchoption fest, um die Verwendung regulärer Ausdrücke anzugeben
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textFragmentAbsorber.TextSearchOptions = textSearchOptions;

// Akzeptieren Sie den Absorber für eine einzelne Seite
pdfDocument.Pages[1].Accept(textFragmentAbsorber);

// Holen Sie sich die extrahierten Textfragmente
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;

// Schleife durch die Fragmente
foreach (TextFragment textFragment in textFragmentCollection)
{
    // Aktualisieren Sie Text und andere Eigenschaften
    textFragment.Text = "New Phrase";
    // Auf eine Instanz eines Objekts setzen.
    textFragment.TextState.Font = FontRepository.FindFont("Verdana");
    textFragment.TextState.FontSize = 22;
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
    textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
}

// PDF speichern
pdfDocument.Save("output.pdf");

Fazit

Die PDF-Automatisierung ist heutzutage weit verbreitet, um PDF Dokumente aus Web oder Desktop Anwendungen heraus zu manipulieren. Dieser Artikel behandelte eine nützliche PDF-Automatisierungsfunktion zum Suchen und Ersetzen von Text in PDF in C#. Die Schritt-für-Schritt-Anleitung und Codebeispiele haben gezeigt, wie Sie Text in einer ganzen PDF Datei, einer bestimmten Seite in einer PDF Datei oder einem Seitenbereich finden und ersetzen. Sie können erweiterte Funktionen mithilfe der Dokumentation der API erkunden.

Siehe auch