Ersetzen von Text in einer PDF-Datei
IronPDF for Java gibt Entwicklern direkte Kontrolle über bestehenden PDF-Inhalt durch die Methode replaceText. Ganz gleich, ob Sie einen Tippfehler in einer Charge generierter Berichte korrigieren, Versionsnummern in Vorlagendokumenten austauschen oder Verträge mit kundenspezifischen Daten personalisieren möchten, die Methode akzeptiert eine Seitenauswahl, eine Suchzeichenfolge und eine Ersetzungszeichenfolge und kümmert sich um den Rest. Dieser Leitfaden behandelt Einzelseitenaustausch, Mehrseitenausrichtung, jede verfügbare PageSelection-Option und praktische Muster für vorlagengetriebene Workflows.
Schnellstart: Text in einem PDF ersetzen
Fügen Sie die IronPDF-Abhängigkeit hinzu, laden oder rendern Sie ein PDF, rufen Sie replaceText auf und speichern Sie das Ergebnis:
:title=Quickstart Replace Text
//: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("<h1>.NET6</h1>");
pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
pdf.saveAs("replaceText.pdf");
}
}
:title=Quickstart Replace Text
//: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("<h1>.NET6</h1>");
pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7");
pdf.saveAs("replaceText.pdf");
}
}
Minimaler Arbeitsablauf (5 Schritte)
- Herunterladen der Java-Bibliothek zum Ersetzen von Text in einer PDF-Datei
- Laden Sie ein bestehendes PDF oder rendern Sie eines aus HTML
- Rufen Sie
pdf.replaceText(PageSelection, oldText, newText)auf, um auf ausgewählten Seiten zu ersetzen - Verwenden Sie
PageSelectionMethoden, um zu steuern, welche Seiten geändert werden - Speichern und exportieren Sie das aktualisierte PDF mit
pdf.saveAs("output.pdf")
Wie kann ich Text auf einer einzelnen Seite ersetzen?
Die Methode replaceText akzeptiert drei Argumente: eine PageSelection, die eine oder mehrere Seiten anvisiert, den genauen Text zum Finden und den Ersetzungszeichenfolgen. Um die erste Seite zu zielen, ü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 ist replaceText(PageSelection pageSelection, String oldText, String newText). Das Matching ist standardmäßig groß-/kleinbuchstabensensitiv: "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. Die IronPDF Java-Abhängigkeit wird auf Maven Central veröffentlicht und erfordert Java 8 oder höher.
:title=Replace Text on First Page
//: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 {
// Set the IronPDF license key (required for production use)
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Render HTML content into a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Define the search and replacement strings
String oldText = ".NET6";
String newText = ".NET7";
// Replace all instances of oldText on the first page only
// PageSelection.firstPage() targets page index 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Save the modified PDF
pdf.saveAs("replaceText.pdf");
}
}
:title=Replace Text on First Page
//: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 {
// Set the IronPDF license key (required for production use)
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Render HTML content into a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Define the search and replacement strings
String oldText = ".NET6";
String newText = ".NET7";
// Replace all instances of oldText on the first page only
// PageSelection.firstPage() targets page index 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText);
// Save the modified PDF
pdf.saveAs("replaceText.pdf");
}
}
Die Methode replaceText integriert sich natürlich in IronPDFs HTML zu PDF-Konvertierungsworkflow. 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. Für von der Festplatte geladene Dokumente, übergeben Sie den Dateipfad an PdfDocument.fromFile anstelle von renderHtmlAsPdf.
Wie sieht die Ausgabe aus?
Wie ersetze ich Text über mehrere Seiten hinweg?
Um bestimmte Seiten anzuvisieren, anstatt nur die erste, übergeben Sie eine Liste von nullbasierten Seitennummern 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. Der Austausch erfolgt auf den Seiten 0 und 2 (die erste und die dritte Seite). Seite 1 (die zweite Seite) behält den ursprünglichen Text unverändert bei. Seitenindizes beginnen immer bei 0, was mit den nullbasierten Array-Konventionen von Java übereinstimmt.
:title=Replace Text on Multiple Specific Pages
//: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 {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Build a 3-page PDF from HTML using CSS page breaks
String html = "<p> .NET6 </p>" +
"<p> This is 1st Page </p>" +
"<div style='page-break-after: always;'></div>" +
"<p> This is 2nd Page</p>" +
"<div style='page-break-after: always;'></div>" +
"<p> .NET6 </p>" +
"<p> This is 3rd Page</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Pages are zero-indexed: 0 = first page, 2 = third page
// Page index 1 (second page) is intentionally excluded
List<Integer> pages = Arrays.asList(0, 2);
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
:title=Replace Text on Multiple Specific Pages
//: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 {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Build a 3-page PDF from HTML using CSS page breaks
String html = "<p> .NET6 </p>" +
"<p> This is 1st Page </p>" +
"<div style='page-break-after: always;'></div>" +
"<p> This is 2nd Page</p>" +
"<div style='page-break-after: always;'></div>" +
"<p> .NET6 </p>" +
"<p> This is 3rd Page</p>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6";
String newText = ".NET7";
// Pages are zero-indexed: 0 = first page, 2 = third page
// Page index 1 (second page) is intentionally excluded
List<Integer> pages = Arrays.asList(0, 2);
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf");
}
}
0 ist die erste Seite, Seite 1 ist die zweite, usw.Wenn Sie mehrseitige PDFs aus HTML erstellen, verwenden Sie die CSS page-break-after-Eigenschaft, um zu steuern, wo Seitenumbrüche erfolgen. Das richtige individuelle Papierformat und die Ausrichtung der Seite 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?
Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.
Welche Optionen für die Seitenauswahl sind verfügbar?
Die Klasse PageSelection bietet statische Fabrikmethoden, die jedes gebräuchliche Zielmuster 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?
Wann sollte ich jede PageSelection-Methode verwenden?
allPages() ist die einfachste Wahl für ein globales Finden und Ersetzen: jede Instanz des Zieltexts im gesamten Dokument wird in einem Aufruf ersetzt. Verwenden Sie firstPage() oder lastPage() für schnelle Bearbeitungen, um Titelseiten oder Fußzeilen der letzten Seite zu decken, ohne den Rumpf zu berühren. Wählen Sie pageRange(int, int), wenn der Text auf einem fortlaufenden Satz von Seiten wie einem Kapitel oder Abschnitt erscheint. 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 oder Dokumenten, die Lesezeichen und Gliederungen 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 listet alle PageSelection-Überladungen mit vollständiger Parameterdokumentation auf.
replaceText-Aufrufe in einen try-catch-Block ein. 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 in einem einzigen Aufruf einen dokumentweiten Ersatz durch, was der effizienteste Ansatz für den globalen Tokenersatz ist. Das folgende Beispiel lädt ein PDF von der Festplatte und ersetzt jedes Vorkommen eines Platzhalters im gesamten Dokument:
:title=Replace Text on All Pages
//: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 {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Replace the placeholder token on every page simultaneously
// This is equivalent to calling replaceText for each page individually
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Save the updated document
pdf.saveAs("contract-v2.pdf");
}
}
:title=Replace Text on All Pages
//: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 {
// Set the IronPDF license key
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Replace the placeholder token on every page simultaneously
// This is equivalent to calling replaceText for each page individually
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Save the updated document
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. Für einseitige Dokumente produzieren allPages() und firstPage() identische Ergebnisse. Bevorzugen Sie allPages(), wenn die Seitennummer 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 exakte, groß-/kleinbuchstabensensitive Übereinstimmungen durch. Die Zeichenfolgen "Version 1.0", "version 1.0" und "VERSION 1.0" werden als drei unterschiedliche 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 Methode replaceText arbeitet an den Inhaltsströmen und ändert keine Formularfeldwerte. 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 Muster besteht darin, eine PDF-Vorlage mit Platzhalter-Token aufrechtzuerhalten (zum Beispiel {{CUSTOMER_NAME}} oder [INVOICE_DATE]) und sie zur Laufzeit durch die tatsächlichen Werte zu ersetzen. Rufen Sie replaceText einmal pro Platzhalter auf, und verwenden Sie PageSelection.allPages(), damit der Ersatz jede Stelle abdeckt, an der das Token erscheint. Für Dokumente, die aus HTML generiert werden, funktioniert dieses Workflow genauso gut mit renderHtmlAsPdf gefolgt von einer Reihe von Ersatzaufrufen. 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?
In diesem Leitfaden wurden der Einzelseitenaustausch mit PageSelection.firstPage(), der selektive mehrseitige Austausch mit PageSelection.pageRange(), der dokumentweite Austausch mit PageSelection.allPages() und das gesamte Set von PageSelection-Fabrikmethoden behandelt. Die gleiche replaceText-API funktioniert, unabhängig davon, ob das Dokument aus HTML gerendert wurde, von der Festplatte geladen oder durch das Verschmelzen mehrerer Quellen zusammengebaut 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.


