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# API zum Suchen und Ersetzen von Text in PDF
- Suchen und Ersetzen von Text in PDF mit C#
- Ersetzen Sie Text auf einer bestimmten Seite in PDF
- Text im PDF-Seitenbereich ersetzen
- Suchen und Ersetzen von Text in PDF mit Regex
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.
- 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 alle Seiten des PDFs mit Document.Pages.Accept(TextFragmentAbsorber).
- Holen Sie sich die extrahierten Textfragmente in das Objekt TextFragmentCollection.
- Durchlaufen Sie die gefundene TextFragmentCollection 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 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.
- 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.Pages[0].Accept(TextFragmentAbsorber).
- Definieren Sie den Seitenbereich mit der Klasse Rectangle.
- Durchlaufen Sie die 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 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.
- Verwenden Sie die Klasse Document, um das PDF Dokument über seinen Pfad zu laden.
- Erstellen Sie eine Instanz der Klasse TextFragmentAbsorber und stellen Sie ihrem Konstruktor den Suchausdruck bereit.
- Erstellen Sie eine Instanz der Klasse TextSearchOptions und übergeben Sie true an ihren Konstruktor, um die Regex-basierte Suche zu aktivieren.
- Weisen Sie das Objekt TextSearchOptions der Eigenschaft TextFragmentAbsorber.TextSearchOptions zu.
- Akzeptieren Sie den Text-Absorber für die gewünschte Seite mit Document.Pages[0].Accept(TextFragmentAbsorber).
- Definieren Sie den Seitenbereich mit der Klasse Rectangle.
- Durchlaufen Sie die 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 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.