Ersetzen von Text in einer PDF-Datei
IronPDF for Java ermöglicht Entwicklern die direkte Steuerung bestehender PDF-Inhalte über die replaceText-Methode. Ganz gleich, ob Sie einen Tippfehler in einer Reihe generierter Berichte korrigieren, Versionsnummern in Vorlagendokumenten austauschen oder Verträge mit kundenspezifischen Daten personalisieren müssen – die Methode akzeptiert eine Seitenauswahl, einen Suchstring und einen Ersetzungsstring und erledigt den Rest. Dieser Leitfaden behandelt das Ersetzen einzelner Seiten, das Targeting mehrerer Seiten, alle verfügbaren PageSelection-Optionen sowie praktische Muster für vorlagengesteuerte Workflows.
Schnellstart: Text in einem PDF ersetzen
Fügen Sie die IronPDF-Abhängigkeit hinzu, laden oder rendern Sie eine PDF-Datei, rufen Sie replaceText auf und speichern Sie das Ergebnis:
```java :title=Schnellstart Text ersetzen //:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/quickstart.java import com.ironsoftware.ironPdf.*; import com.ironsoftware.ironPdf.edit.PageSelection; import java.io.IOException;
public class App { public static void main(String[] args) throws IOException { License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01"); PdfDocument pdf = PdfDocument.renderHtmlAsPdf(""); pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7"); pdf.saveAs("replaceText.pdf"); } }
<div class="hsg-featured-snippet">
<h3>Minimaler Arbeitsablauf (5 Schritte)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">Herunterladen der Java-Bibliothek zum Ersetzen von Text in einer PDF-Datei</a></li>
<li>Laden Sie ein bestehendes PDF oder rendern Sie eines aus HTML</li>
<li>Rufen Sie <code>pdf.replaceText(PageSelection, oldText, newText)</code> auf, um auf ausgewählten Seiten zu ersetzen</li>
<li>Verwenden Sie <code>PageSelection</code> Methoden, um zu steuern, welche Seiten geändert werden</li>
<li>Speichern und exportieren Sie das aktualisierte PDF mit <code>pdf.saveAs("output.pdf")</code></li>
</ol>
</div>
## Wie kann ich Text auf einer einzelnen Seite ersetzen?
Die `replaceText`-Methode akzeptiert drei Argumente: ein `PageSelection`, das auf eine oder mehrere Seiten abzielt, den genauen zu suchenden Text und die Ersetzungszeichenfolge. Um die erste Seite anzusprechen, übergeben Sie `PageSelection.firstPage()`. Alle Vorkommen des Suchstrings auf dieser Seite werden in einem einzigen Aufruf ersetzt. Wenn der Text auf den angezielten Seiten nicht gefunden werden kann, wirft die Methode eine Laufzeitausnahme. Der untenstehende Screenshot zeigt, wie diese Ausnahme in der Konsole aussieht.

### Welche Parameter akzeptiert replaceText?
Die Methodensignatur lautet `replaceText(PageSelection pageSelection, String oldText, String newText)`. Die Übereinstimmung ist standardmäßig groß-/kleinschreibungsabhängig: `"net6"` und `"NET6"` werden als unterschiedliche Zeichenfolgen behandelt. Überprüfen Sie die genaue Groß- und Kleinschreibung im gerenderten PDF, bevor Sie die Methode aufrufen. Sie können den genauen Text bestätigen, indem Sie zuerst den [Textinhalt des PDFs extrahieren](https://ironpdf.com/java/examples/extract-image-from-pdf/). Die IronPDF Java-Abhängigkeit wird auf [Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) veröffentlicht und erfordert Java 8 oder höher.
```java :title=Text auf der ersten Seite ersetzen
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-single-page.java
import com.ironsoftware.ironPdf.*;
import com.ironsoftware.ironPdf.edit.PageSelection;
import java.io.IOException;
public class App {
public static void main(String[] args) throws IOException {
// Setzen Sie den IronPDF-Lizenzschlüssel (erforderlich für den Produktionseinsatz)
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Rendern Sie HTML-Inhalte in ein PDF-Dokument
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Definieren Sie die Such- und Ersetzungstrings
String oldText = ".NET6";
String newText = ".NET7";
// Ersetzen Sie alle Vorkommen von oldText nur auf der ersten Seite
// PageSelection.firstPage() zielt auf Seitenindex 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Speichern Sie das geänderte PDF
pdf.saveAs("replaceText.pdf");
}
}
Die replaceText-Methode lässt sich nahtlos in den HTML-zu-PDF-Konvertierungsworkflow von IronPDF integrieren. Rendern Sie zuerst die HTML-Vorlage und wenden Sie dann die Textersetzung an, um dynamische Werte einzufügen. Dies hält Ihr HTML sauber und erzeugt dennoch personalisierte Ausgaben. Bei Dokumenten, die von der Festplatte geladen werden, übergeben Sie den Dateipfad an PdfDocument.fromFile, anstatt renderHtmlAsPdf zu verwenden.
Wie sieht die Ausgabe aus?
Wie ersetze ich Text über mehrere Seiten hinweg?
Um bestimmte Seiten statt nur die erste anzusprechen, übergeben Sie eine Liste von Seitenzahlen mit Null-Index an PageSelection.pageRange(List<Integer>). Die Methode ersetzt den Suchtext auf jeder Seite in der Liste und lässt alle anderen Seiten unberührt. Dieses Muster eignet sich für Dokumente mit konsistenten Kopf- oder Fußzeilen auf bekannten Seiten oder für chargenerstellte Berichte, in denen ein Versionsstring nur auf bestimmten Seiten erscheint.
Welche Seiten werden modifiziert, wenn Sie eine Seitenliste verwenden?
Im folgenden Beispiel wird ein dreiseitiges PDF aus HTML erstellt. Die Ersetzung erfolgt auf den Seiten 0 und 2 (der ersten und dritten Seite). Seite 1 (die zweite Seite) behält den Originaltext unverändert bei. Seitenindizes beginnen immer bei 0, entsprechend den Konventionen für nullbasierte Arrays in Java.
```java :title=Text auf mehreren bestimmten Seiten ersetzen //:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-multiple-pages.java import com.ironsoftware.ironPdf.*; import com.ironsoftware.ironPdf.edit.PageSelection; import java.io.IOException; import java.util.Arrays; import java.util.List;
public class App {
public static void main(String[] args) throws IOException {
// Setzen Sie den IronPDF-Lizenzschlüssel
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Erstellen Sie ein 3-seitiges PDF aus HTML unter Verwendung von CSS-Seitenumbrüchen
String html = "<p> .NET6 </p>" +
"<p> Dies ist die 1. Seite </p>" +
"<div style="page-break-after:> always;"></div>" +
"<p> Dies ist die 2. Seite</p>" +
"<div style="page-break-after:> always;"></div>" +
"<p> .NET6 </p>" +
"<p> Dies ist die 3. Seite</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Seiten werden nullbasiert indiziert: 0 = erste Seite, 2 = dritte Seite
// Seitenindex 1 (zweite Seite) wird absichtlich ausgeschlossen
List<Integer> seiten = Arrays.asList(0, 2);
pdf.replaceText(PageSelection.pageRange(seiten), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
Hinweis:Alle Seitenindizes in IronPDF folgen einer nullbasierten Indizierung. Seite `0` ist die erste Seite, Seite `1` ist die zweite und so weiter.
Verwenden Sie beim Erstellen mehrseitiger PDFs aus HTML die [CSS-Eigenschaft `page-break-after`](https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after), um zu steuern, wo die Seitengrenzen liegen. Das richtige [individuelle Papierformat](https://ironpdf.com/java/examples/custom-pdf-paper-size/) und die [Ausrichtung der Seite](https://ironpdf.com/java/examples/pdf-page-orientation/) vor dem Rendern festzulegen, stellt sicher, dass die Inhaltspositionen Ihren Erwartungen entsprechen, wenn der Textersatz durchgeführt wird. Nach dem Speichern überprüfen Sie die Ausgabe, indem Sie das PDF öffnen und bestätigen, dass nur die zielgerichteten Seiten geändert wurden.
### Wie sieht die Ausgabe aus?
<iframe loading="lazy" src="/static-assets/ironpdf-java/howto/find-replace-text/replaceTextOnMultiplePages.pdf" width="100%" height="400px"></iframe>
<hr>
## Welche Optionen für die Seitenauswahl sind verfügbar?
Die Klasse `PageSelection` bietet statische Factory-Methoden, die alle gängigen Targeting-Muster abdecken. Es ist keine Instanzerstellung erforderlich; rufen Sie die Methoden direkt auf der Klasse auf. Alle Indizes sind nullbasiert.
### Welche Methoden zielen auf einzelne vs. mehrere Seiten?
<table class="content__data-table" data-content-table>
<caption>PageSelection Fabrikmethoden für die replaceText API</caption>
| Methode | Beschreibung|
|---|---|
| `PageSelection.allPages()` | Wählt jede Seite im Dokument aus |
| `PageSelection.firstPage()` | Wählt Seite unter Index `0` |
| `PageSelection.lastPage()` | Wählt die letzte Seite unabhängig von der Dokumentlänge aus |
| `PageSelection.singlePage(int pageIndex)` | Wählt eine bestimmte Seite nach nullbasiertem Index aus |
| `PageSelection.pageRange(int startIndex, int endIndex)` | Wählt einen zusammenhängenden Bereich von `startIndex` bis einschließlich `endIndex` aus |
| `PageSelection.pageRange(List<Integer> pageList)` | Wählt Seiten an beliebigen Indexpositionen aus (z. B. wählt `[0, 2]` die Seiten 1 und 3 aus) |
</table>
### Wann sollte ich jede PageSelection-Methode verwenden?
`allPages()` ist die einfachste Wahl für eine globale Suchen-und-Ersetzen-Funktion: Jede Instanz des Zieltextes im gesamten Dokument wird mit einem einzigen Aufruf ersetzt. Verwenden Sie `firstPage()` oder `lastPage()` für schnelle Änderungen an Deckblättern oder Fußzeilen der letzten Seite, ohne den Haupttext zu verändern. Wählen Sie `pageRange(int, int)`, wenn der Text auf einer fortlaufenden Reihe von Seiten erscheint, wie z. B. in einem Kapitel oder Abschnitt. Verwenden Sie `pageRange(List<Integer>)`, wenn die Zielseiten nicht zusammenhängend sind; zum Beispiel beim Ersetzen einer Versionskennung, die nur auf den Seiten 1, 3 und 7 erscheint.
Bei der Arbeit mit [zusammengeführten PDFs](https://ironpdf.com/java/examples/split-pdfs/) oder Dokumenten, die [Lesezeichen und Gliederungen](https://ironpdf.com/java/how-to/bookmarks/) enthalten, identifizieren Sie zuerst den Seitenbereich für jede logische Sektion, dann wenden Sie gezielte Ersetzungen an, um versehentliche Änderungen an gemeinsamen Kopf- oder Fußzeilen zu vermeiden. Die [IronPDF for Java API Referenz](https://ironpdf.com/object-reference/api/) listet alle `PageSelection`-Overloads mit vollständiger Parameterdokumentation auf.
WichtigWrap `replaceText`-Aufrufe in einen try-catch-Block. Die Methode löst eine Laufzeitausnahme aus, wenn der angegebene Suchtext auf keiner der zielgerichteten Seiten gefunden wird. Ein Validierungsschritt (Extrahieren des Texts und Bestätigen, dass der String vorhanden ist) verhindert unerwartete Fehler in der Produktion.
### Wie ersetze ich Text auf allen Seiten auf einmal?
`PageSelection.allPages()` führt eine dokumentweite Ersetzung in einem einzigen Aufruf durch, was der effizienteste Ansatz für die globale Token-Ersetzung ist. Das folgende Beispiel lädt ein PDF von der Festplatte und ersetzt jedes Vorkommen eines Platzhalters im gesamten Dokument:
```java :title=Text auf allen Seiten ersetzen
//:path=/static-assets/pdf/content-code-examples/how-to/find-replace-text/replace-text-all-pages.java
import com.ironsoftware.ironPdf.*;
import com.ironsoftware.ironPdf.edit.PageSelection;
import java.io.IOException;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) throws IOException {
// Setzen Sie den IronPDF-Lizenzschlüssel
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");
// Laden eines bestehenden PDFs von der Festplatte
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Ersetzen des Platzhalter-Tokens auf jeder Seite gleichzeitig
// Dies entspricht dem Aufruf von replaceText für jede Seite einzeln
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Speichern des aktualisierten Dokuments
pdf.saveAs("contract-v2.pdf");
}
}
Dieses Muster passt natürlich zu vorlagengetriebenen Arbeitsabläufen, bei denen derselbe Platzhalter in Kopfzeilen, Fußzeilen oder Fließtext auf vielen Seiten erscheint. Bei einseitigen Dokumenten liefern allPages() und firstPage() identische Ergebnisse. Verwenden Sie vorzugsweise allPages(), wenn die Seitenanzahl zur Laufzeit variieren kann.
Wie gehe ich mit gewöhnlichen Textersetzungsszenarien um?
Textersetzung in Java-Anwendungen umfasst mehrere Muster, die über einfaches Suchen und Ersetzen hinausgehen. Das Verständnis, wie die Methode in jedem Fall funktioniert, verhindert Fehler, bevor sie in der Produktion erscheinen.
Wie beeinflusst fall-sensitive Übereinstimmung die Ergebnisse?
replaceText führt eine exakte, groß-/kleinschreibungssensitive Übereinstimmung durch. Die Zeichenfolgen "Version 1.0", "version 1.0" und "VERSION 1.0" werden als drei separate Werte behandelt. Bevor Sie eine Ersetzung auf ein von der Festplatte geladenes Dokument durchführen, überprüfen Sie die exakte Schreibweise, indem Sie die Originalquelle prüfen oder Text aus dem PDF extrahieren und es programmatisch überprüfen.
Wie ersetze ich Text in PDF-Formularen?
PDFs, die interaktive Formularfelder enthalten, speichern ihre Textwerte getrennt vom Inhaltsstrom des Dokuments, wie in der PDF-Spezifikation definiert. Die replaceText-Methode wirkt auf den Inhaltsstrom und verändert keine Werte in Formularfeldern. Um Text in Formularfeldern zu aktualisieren, verwenden Sie stattdessen die Formularerstellungs- und Bearbeitungs-API von IronPDF. Das Mischen beider Ansätze im selben Dokument ist sicher: Formularfeld-Updates und Inhaltsstrom-Ersetzungen stören sich nicht gegenseitig.
Wie aktualisiere ich Text in vorlagenbasierten Arbeitsabläufen?
Ein gängiges Verfahren ist die Verwendung einer PDF-Vorlage mit Platzhalter-Tokens (z. B. {{CUSTOMER_NAME}} oder [INVOICE_DATE]), die zur Laufzeit durch tatsächliche Werte ersetzt werden. Rufen Sie replaceText einmal pro Platzhalter auf und verwenden Sie PageSelection.allPages(), damit die Ersetzung alle Stellen abdeckt, an denen das Token vorkommt. Bei aus HTML generierten Dokumenten funktioniert dieser Workflow ebenso gut mit renderHtmlAsPdf, gefolgt von einer Reihe von Ersetzungsaufrufen. Kombinieren Sie dies mit PDF-Wasserzeichen oder Hintergründen und Vordergründen, um Marken- oder Vertraulichkeitskennzeichnungen zum endgültigen Ergebnis hinzuzufügen.
Was sind die nächsten Schritte für die PDF-Textersetzung in Java?
Dieser Leitfaden behandelte das Ersetzen einzelner Seiten mit PageSelection.firstPage(), das selektive Ersetzen mehrerer Seiten mit PageSelection.pageRange(), das dokumentweite Ersetzen mit PageSelection.allPages() sowie den vollständigen Satz der PageSelection-Factory-Methoden. Die gleiche replaceText-API funktioniert unabhängig davon, ob das Dokument aus HTML gerendert, von der Festplatte geladen oder durch Zusammenführen mehrerer Quellen erstellt wurde.
Starten Sie eine kostenlose Testversion von IronPDF for Java und führen Sie die obigen Code-Beispiele an Ihren eigenen Dokumenten aus. Wenn Sie bereit sind, in die Produktion zu gehen, überprüfen Sie die Lizenzierungsoptionen. Lizenzen sind pro Entwickler und beinhalten ein Jahr Produktaktualisierungen.
Bereit zu sehen, was IronPDF for Java sonst noch kann? Durchsuchen Sie die vollständigen IronPDF for Java Anleitungen für Tutorials zu PDF-Erstellung, Annotationen, digitale Signaturen, Komprimierung und mehr.
Häufig gestellte Fragen
Wie kann ich mit Java Text in einer PDF-Datei ersetzen?
Verwenden Sie die replaceText-Methode von IronPDF. Rufen Sie pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") auf, um alle Instanzen des alten Texts auf der angegebenen Seite zu ersetzen. IronPDF findet und ersetzt jedes Vorkommen, während das ursprüngliche Format beibehalten wird.
Welche Parameter akzeptiert die replaceText-Methode?
Die Methode akzeptiert drei Parameter: eine PageSelection, um anzugeben, welche Seiten zu modifizieren sind, einen String mit dem zu findenden Text und einen String mit dem Ersetzungstext. Zum Beispiel ersetzt pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7") alle Instanzen auf der ersten Seite.
Kann ich nur Text auf bestimmten Seiten ersetzen?
Ja. Verwenden Sie PageSelection.firstPage() für Seite 0, PageSelection.lastPage() für die letzte Seite, PageSelection.singlePage(n) für jede Seite nach nullbasiertem Index oder PageSelection.pageRange() mit einer Liste von ganzen Zahlen für nicht zusammenhängende Seiten.
Was passiert, wenn der zu ersetzende Text nicht gefunden wird?
IronPDF wirft eine Laufzeitausnahme (Exception_RemoteException), wenn der Zieltext auf den anvisierten Seiten nicht gefunden werden kann. Wickeln Sie den Aufruf in einen try-catch-Block und extrahieren Sie optional zunächst den PDF-Text, um zu verifizieren, dass der String existiert, bevor Sie replaceText aufrufen.
Ist die Texteingabe und Groß-/Kleinschreibung empfindlich?
Ja. Die replaceText-Methode führt eine genaue, groß- und kleinschreibabhängige Übereinstimmung durch. Die Zeichenfolgen "Version 1.0", "version 1.0" und "VERSION 1.0" werden als drei verschiedene Werte behandelt. Überprüfen Sie die genaue Großschreibung, bevor Sie die Methode aufrufen.
Modifiziert replaceText die Werte von Formularfeldern?
Nein. Die replaceText-Methode operiert auf dem PDF-Inhaltsstrom und ändert nicht die Werte der interaktiven Formularfelder. Um Formularfelder zu aktualisieren, verwenden Sie die spezielle Formularbearbeitungs-API von IronPDF über die PdfDocument-Formularmethoden.
Wie ersetze ich ein Token auf einmal auf jeder Seite?
Verwenden Sie PageSelection.allPages() als erstes Argument für replaceText. Dies ersetzt jede Instanz des Zieltexts über alle Seiten in einem einzigen Aufruf, was der bevorzugte Ansatz für vorlagenbasierte Workflows mit dokumentweiten Platzhaltern ist.


