Comment remplacer du texte dans un PDF
IronPDF for Java permet aux développeurs de contrôler directement le contenu PDF existant via la méthode replaceText. Que vous ayez besoin de corriger une faute de frappe dans un lot de rapports générés, de remplacer des numéros de version dans des modèles de documents ou de personnaliser des contrats avec des données spécifiques au client, la méthode accepte une sélection de page, une chaîne de recherche et une chaîne de remplacement, et se charge du reste. Ce guide couvre le remplacement d'une seule page, le ciblage de plusieurs pages, toutes les options PageSelection disponibles et des modèles pratiques pour les workflows basés sur des modèles.
Démarrage rapide : Remplacer du texte dans un PDF
Ajoutez la dépendance IronPDF, chargez ou affichez un PDF, appelez replaceText, puis enregistrez le résultat :
```java :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(""); pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7"); pdf.saveAs("replaceText.pdf") ; } }
<div class="hsg-featured-snippet">
<h3>Flux de travail minimal (5 étapes)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">Téléchargez la bibliothèque Java pour remplacer du texte dans un PDF</a></li>
<li>Chargez un PDF existant ou rendez-en un à partir de HTML</li>
<li>Appelez <code>pdf.replaceText(PageSelection, oldText, newText)</code> pour remplacer sur des pages ciblées</li>
<li>Utilisez les méthodes <code>PageSelection</code> pour contrôler les pages modifiées</li>
<li>Enregistrez et exportez le PDF mis à jour avec <code>pdf.saveAs("output.pdf")</code></li>
</ol>
</div>
## Comment remplacer du texte sur une seule page?
La méthode `replaceText` accepte trois arguments : un `PageSelection` qui cible une ou plusieurs pages, le texte exact à rechercher et la chaîne de remplacement. Pour cibler la première page, passez `PageSelection.firstPage()`. Toutes les instances de la chaîne de recherche sur cette page sont remplacées en un seul appel. Si le texte ne peut pas être trouvé sur les pages ciblées, la méthode lance une exception d'exécution. La capture d'écran ci-dessous montre à quoi ressemble cette exception dans la console.

### Quels paramètres replaceText accepte-t-il ?
La signature de la méthode est `replaceText(PageSelection pageSelection, String oldText, String newText)`. La correspondance est sensible à la casse par défaut : `"net6"` et `"NET6"` sont traités comme des chaînes différentes. Vérifiez l'exactitude de la casse dans le PDF rendu avant d'appeler la méthode. Vous pouvez confirmer le texte exact en [extrayant d'abord le contenu texte du PDF](https://ironpdf.com/java/examples/extract-image-from-pdf/). La dépendance IronPDF Java est publiée sur [Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf) et nécessite Java 8 ou une version ultérieure.
```java :title=Remplacer le texte de la première 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 {
// Définissez la clé de licence IronPDF (nécessaire pour l'utilisation en production)
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Rendez le contenu HTML dans un document PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>.NET6</h1>");
// Définissez les chaînes de recherche et de remplacement
String oldText = ".NET6" ;
String newText = ".NET7" ;
// Remplacez toutes les instances de oldText uniquement sur la première page
// PageSelection.firstPage() cible l'index de page 0
pdf.replaceText(PageSelection.firstPage(), oldText, newText) ;
// Enregistrez le PDF modifié
pdf.saveAs("replaceText.pdf") ;
}
}
La méthode replaceText s'intègre naturellement au flux de travail de conversion HTML vers PDF d'IronPDF. Rendez d'abord le modèle HTML, puis appliquez le remplacement de texte pour injecter des valeurs dynamiques. Cela maintient votre HTML propre tout en produisant le résultat personnalisé. Pour les documents chargés à partir du disque, transmettez le chemin d'accès au fichier à PdfDocument.fromFile au lieu d'utiliser renderHtmlAsPdf.
À quoi ressemble le résultat ?
Comment remplacer du texte sur plusieurs pages ?
Pour cibler des pages spécifiques plutôt que la première, transmettez une liste de numéros de page indexés à partir de zéro à PageSelection.pageRange(List<Integer>). La méthode remplace le texte de recherche sur chaque page de la liste et laisse toutes les autres pages inchangées. Ce modèle convient aux documents avec des en-têtes ou pieds de page cohérents sur des pages connues, ou aux rapports générés en lot où une chaîne de version n'apparaît que sur certaines pages.
Quelles pages sont modifiées lors de l'utilisation d'une liste de pages ?
Dans l'exemple ci-dessous, un PDF de trois pages est créé à partir de HTML. Le remplacement s'applique aux pages 0 et 2 (la première et la troisième page). La page 1 (la deuxième page) conserve le texte original tel quel. Les index de page commencent toujours par 0, conformément aux conventions de Java en matière de tableaux indexés à partir de zéro.
```java :title=Remplacer du texte sur plusieurs pages spécifiques //: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 {
// Définissez la clé de licence IronPDF License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Construisez un PDF de 3 pages à partir de HTML à l'aide de sauts de page CSS String html = "
.NET6
" + "Ceci est la 1ère page
" + "" + "Ceci est la 2ème page
" + "" + ".NET6
" + "Ceci est la 3ème page
";PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
String oldText = ".NET6" ;
String newText = ".NET7" ;
// Les pages sont indexées à partir de zéro : 0 = première page, 2 = troisième page
// L'index de page 1 (deuxième page) est intentionnellement exclu
List
pdf.replaceText(PageSelection.pageRange(pages), oldText, newText);
pdf.saveAs("replaceTextOnMultiplePages.pdf"); } }
Veuillez noterTous les index de pages dans IronPDF suivent l'indexation à partir de zéro. La page `0` est la première page, la page `1` est la deuxième, et ainsi de suite.
Lors de la création de fichiers PDF multipages à partir de HTML, utilisez la [propriété CSS `page-break-after`](https://developer.mozilla.org/en-US/docs/Web/CSS/page-break-after) pour contrôler l'emplacement des limites de page. Définir la [taille de papier personnalisée](https://ironpdf.com/java/examples/custom-pdf-paper-size/) et l'[orientation de page](https://ironpdf.com/java/examples/pdf-page-orientation/) appropriées avant le rendu garantit que les positions de contenu correspondent à vos attentes lors de l'exécution du remplacement de texte. Après avoir enregistré, vérifiez la sortie en ouvrant le PDF et en confirmant que seules les pages ciblées ont changé.
### À quoi ressemble le résultat ?
<iframe loading="lazy" src="/static-assets/ironpdf-java/howto/find-replace-text/replaceTextOnMultiplePages.pdf" width="100%" height="400px"></iframe>
<hr>
## Quelles sont les options de sélection de pages disponibles ?
La classe `PageSelection` fournit des méthodes de fabrique statiques qui couvrent tous les modèles de ciblage courants. Aucune création d'instance n'est nécessaire ; appelez les méthodes directement sur la classe. Tous les index sont basés sur zéro.
### Quelles méthodes ciblent une seule page ou plusieurs pages ?
<table class="content__data-table" data-content-table>
<caption>Méthodes de fabrique PageSelection pour l'API replaceText</caption>
| Méthode| Description du projet|
|---|---|
| `PageSelection.allPages()` | Sélectionne chaque page du document|
| `PageSelection.firstPage()` | Sélectionne la page à l'index `0` |
| `PageSelection.lastPage()` | Sélectionne la page finale, quelle que soit la longueur du document|
| `PageSelection.singlePage(int pageIndex)` | Sélectionne une page spécifique par index basé sur zéro|
| `PageSelection.pageRange(int startIndex, int endIndex)` | Sélectionne une plage contiguë comprise entre `startIndex` et `endIndex` inclus |
| `PageSelection.pageRange(List<Integer> pageList)` | Sélectionne des pages à partir d'un ensemble arbitraire d'index (par exemple, `[0, 2]` sélectionne les pages 1 et 3) |
</table>
### Quand devrais-je utiliser chaque méthode PageSelection?
`allPages()` est le choix le plus simple pour un remplacement global : chaque occurrence du texte cible dans l'ensemble du document est remplacée en un seul appel. Utilisez `firstPage()` ou `lastPage()` pour effectuer des modifications rapides sur les pages de garde ou les pieds de page de la dernière page sans toucher au corps du texte. Choisissez `pageRange(int, int)` lorsque le texte apparaît sur une série de pages consécutives, comme un chapitre ou une section. Utilisez `pageRange(List<Integer>)` lorsque les pages cibles ne sont pas contiguës ; par exemple, lors du remplacement d'une chaîne de version qui n'apparaît que sur les pages 1, 3, et 7.
Lorsque vous travaillez avec des [PDFs fusionnés](https://ironpdf.com/java/examples/split-pdfs/) ou des documents qui incluent des [signets et contours](https://ironpdf.com/java/how-to/bookmarks/), identifie d'abord la plage de pages pour chaque section logique, puis applique des remplacements ciblés pour éviter de modifier accidentellement les en-têtes ou pieds de page partagés. [La référence de l'API](https://ironpdf.com/object-reference/api/) [IronPDF for Java](https://ironpdf.com/object-reference/api/) répertorie toutes les surcharges `PageSelection` avec une documentation complète sur les paramètres.
ImportantEnvelopper les appels `replaceText` dans un bloc try-catch. La méthode lance une exception d'exécution lorsque le texte de recherche spécifié n'est trouvé sur aucune des pages ciblées. Une étape de validation (extraction de texte et confirmation de la présence de la chaîne) évite les échecs inattendus en production.
### Comment remplacer le texte sur toutes les pages en une seule fois ?
`PageSelection.allPages()` effectue un remplacement à l'échelle du document en un seul appel, ce qui constitue l'approche la plus efficace pour la substitution globale de tokens. L'exemple ci-dessous charge un PDF depuis le disque et remplace chaque occurrence d'un jeton de remplacement à l'échelle de l'ensemble du document :
```java :title=Remplacer le texte sur toutes les 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 {
// Définissez la clé de licence IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Chargez un PDF existant depuis le disque
PdfDocument pdf = PdfDocument.fromFile(Paths.get("contract-template.pdf"));
// Remplacez le jeton de remplacement sur chaque page simultanément
// Cela équivaut à appeler replaceText pour chaque page individuellement
pdf.replaceText(PageSelection.allPages(), "{{VERSION}}", "2.0");
// Enregistrez le document mis à jour
pdf.saveAs("contract-v2.pdf");
}
}
Ce modèle s'associe naturellement à des flux de travail basés sur des modèles où le même espace réservé apparaît dans les en-têtes, les pieds de page ou le texte du corps sur plusieurs pages. Pour les documents d'une seule page, allPages() et firstPage() produisent des résultats identiques. Privilégiez allPages() lorsque le nombre de pages est susceptible de varier lors de l'exécution.
Comment puis-je gérer des scénarios courants de remplacement de texte ?
Le remplacement de texte dans les applications Java couvre plusieurs modèles qui vont au-delà d'une simple recherche et remplacement. Comprendre comment la méthode se comporte dans chaque cas empêche les bogues avant qu'ils n'apparaissent en production.
Comment la correspondance sensible à la casse influence-t-elle les résultats ?
replaceText effectue une correspondance exacte, sensible à la casse. Les chaînes "Version 1.0", "version 1.0" et "VERSION 1.0" sont considérées comme trois valeurs distinctes. Avant d'exécuter un remplacement sur un document chargé depuis le disque, confirmez exactement la casse en examinant la source originale ou en extrayant le texte du PDF et en l'inspectant par programmation.
Comment puis-je remplacer le texte dans les formulaires PDF ?
Les PDF contenant des champs de formulaire interactifs stockent leurs valeurs de texte séparément du flux de contenu du document, tel que défini dans la spécification PDF. La méthode replaceText opère sur le flux de contenu et ne modifie pas les valeurs des champs de formulaire. Pour mettre à jour le texte à l'intérieur des champs de formulaire, utilisez plutôt l'API de création et d'édition de formulaire d'IronPDF. Mélanger les deux approches dans le même document est sans danger : les mises à jour des champs de formulaire et les remplacements de flux de contenu n'interfèrent pas entre elles.
Comment puis-je mettre à jour le texte dans les flux de travail basés sur des modèles ?
Une pratique courante consiste à utiliser un modèle PDF contenant des balises de remplacement (par exemple {{CUSTOMER_NAME}} ou [INVOICE_DATE]) et à les remplacer au moment de l'exécution par des valeurs réelles. Appelez replaceText une fois par espace réservé, en utilisant PageSelection.allPages() afin que le remplacement couvre tous les emplacements où le jeton apparaît. Pour les documents générés à partir de HTML, ce workflow fonctionne tout aussi bien avec renderHtmlAsPdf suivi d'une série d'appels de remplacement. Combinez cela avec le filigrane PDF ou les arrière-plans et avant-plans pour ajouter des marques de marque ou de confidentialité au résultat final.
Quelles sont les prochaines étapes pour le remplacement de texte PDF en Java ?
Ce guide a abordé le remplacement d'une seule page avec PageSelection.firstPage(), le remplacement sélectif de plusieurs pages avec PageSelection.pageRange(), le remplacement à l'échelle du document avec PageSelection.allPages(), ainsi que l'ensemble complet des méthodes d'usine PageSelection. La même API replaceText fonctionne que le document ait été généré à partir de HTML, chargé depuis un disque ou assemblé en fusionnant plusieurs sources.
Commencez un essai gratuit de IronPDF for Java et exécutez les exemples de code ci-dessus avec vos propres documents. Lorsque vous êtes prêt à déployer en production, examinez les options de licence. Les licences sont par développeur et comprennent un an de mises à jour du produit.
Prêt à voir ce que d'autre IronPDF for Java peut faire ? Parcourez les guides IronPDF for Java complets pour des tutoriels sur la génération de PDF, l'annotation, les signatures numériques, la compression, et plus.
Questions Fréquemment Posées
Comment remplacer du texte dans un PDF à l'aide de Java ?
Utilisez la méthode replaceText d'IronPDF. Appelez pdf.replaceText(PageSelection.firstPage(), "oldText", "newText") pour remplacer toutes les instances de l'ancien texte sur la page spécifiée. IronPDF trouve et remplace chaque occurrence tout en préservant le format d'origine.
Quels paramètres la méthode replaceText accepte-t-elle ?
La méthode accepte trois paramètres : un PageSelection pour spécifier quelles pages modifier, une String avec le texte à trouver, et une String avec le texte de remplacement. Par exemple, pdf.replaceText(PageSelection.firstPage(), ".NET6", ".NET7") remplace toutes les instances sur la première page.
Puis-je remplacer du texte sur certaines pages seulement ?
Oui. Utilisez PageSelection.firstPage() pour la page 0, PageSelection.lastPage() pour la dernière page, PageSelection.singlePage(n) pour n'importe quelle page par index basé sur zéro, ou PageSelection.pageRange() avec une liste d'entiers pour des pages non contiguës.
Que se passe-t-il si le texte à remplacer n'est pas trouvé ?
IronPDF génère une exception au moment de l'exécution (Exception_RemoteException) lorsque le texte cible ne peut pas être trouvé sur les pages ciblées. Enveloppez l'appel dans un bloc try-catch et extrayez éventuellement le texte du PDF au préalable pour vérifier que la chaîne existe avant d'appeler replaceText.
La recherche de texte est-elle sensible à la casse ?
Oui. La méthode replaceText effectue une correspondance exacte, sensible à la casse. Les chaînes "Version 1.0", "version 1.0" et "VERSION 1.0" sont traitées comme trois valeurs distinctes. Vérifiez la casse exacte avant d'appeler la méthode.
La méthode replaceText modifie-t-elle les valeurs des champs de formulaire ?
Non. La méthode replaceText fonctionne sur le flux de contenu PDF et ne modifie pas les valeurs des champs de formulaire interactifs. Pour mettre à jour les champs de formulaire, utilisez l'API d'édition de formulaire dédiée d'IronPDF via les méthodes de formulaire PdfDocument.
Comment puis-je remplacer un jeton sur chaque page à la fois ?
Utilisez PageSelection.allPages() comme premier argument de replaceText. Cela remplace chaque instance du texte cible sur toutes les pages en un seul appel, qui est l'approche préférée pour les flux de travail basés sur des modèles avec des espaces réservés à l'échelle du document.


