Comment supprimer des pages d'un PDF en Java
Supprimer des pages PDF en Java est simple avec IronPDF : la bibliothèque expose les méthodes removePage et removePages, soutenues par PageSelection, vous offrant un contrôle précis sur les pages à supprimer — qu'il s'agisse d'une seule page, d'une plage contiguë ou d'un ensemble dispersé d'index de pages. Tous les index de pages dans IronPDF sont basés sur zéro, donc la première page d'un document est toujours à l'index 0.
Démarrage rapide : Supprimer des pages PDF en Java
- Installez IronPDF for Java via Maven ou Gradle
- Définissez votre clé de licence avec
License.setLicenseKey() - Charger le PDF avec
PdfDocument.fromFile() - Supprimer une seule page avec
removePage() - Économisez le résultat avec
saveAs()
```java :title=Quickstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/quickstart.java import java.io.IOException ; import java.nio.file.Path; import com.ironsoftware.IronPdf.License; import com.ironsoftware.ironpdf.PdfDocument ;
public class Main { public static void main(String[] args) throws IOException { // Définir la clé de licence avant d'appeler toute méthode IronPDF License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Charger le PDF source depuis le disque
PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));
// Supprimer la première page (index zéro)
pdf.removePage(0);
// Enregistrer le PDF modifié dans un nouveau fichier
pdf.saveAs(Path.of("modified.pdf"));
}
}
Supprimer des pages d'un PDF est une tâche courante de traitement de documents. Vous pouvez avoir besoin de supprimer une page de couverture avant de distribuer un rapport, de couper des sections confidentielles d'un document avant de le partager en externe, ou d'éliminer des pages blanches introduites par un scanner ou un modèle. IronPDF gère tous ces cas via une API Java cohérente sans nécessiter d'outils d'édition PDF natifs sur la machine hôte.
La bibliothèque s'intègre aux applications Java via Maven ou Gradle et prend en charge toute la gamme des opérations de manipulation PDF au-delà de la suppression de pages, y compris la [fusion de PDFs](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/), la [division de documents](https://ironpdf.com/java/how-to/java-split-pdf-tutorial/), et l'[ajout de filigranes](https://ironpdf.com/java/how-to/custom-watermark/). Pour une vue d'ensemble complète de la configuration et des fonctionnalités disponibles, visitez la [vue d'ensemble du démarrage](https://ironpdf.com/java/docs/).
Les exemples de ce guide couvrent trois scénarios : la suppression d'une seule page par index, la suppression d'une plage de pages contiguës à l'aide de `PageSelection`, et la suppression de plusieurs pages non consécutives en toute sécurité sans déclencher d'erreurs de décalage d'index.
<div class="hsg-featured-snippet">
<h2>Comment supprimer des pages d'un PDF en Java</h2>
<ol>
<li><a href="https://ironpdf.com/java/#download-modal">Installez la bibliothèque Java pour supprimer des pages PDF</a></li>
<li>Utilisez la classe <strong>PdfDocument</strong> pour charger le PDF</li>
<li>Utilisez <code>removePage</code> pour supprimer une seule page par index</li>
<li>Utilisez <code>removePages</code> avec <code>PageSelection</code> pour supprimer plusieurs pages ou une plage</li>
<li>Enregistrez le PDF modifié avec <code>saveAs</code></li>
</ol>
</div>
## De quoi ai-je besoin avant de commencer?
Avant de supprimer des pages d'un PDF, confirmez qu'IronPDF est configuré dans votre projet Java. La bibliothèque nécessite Java 8 ou plus et s'intègre via [Maven ou Gradle](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf). Ajoutez la dépendance `IronPdf` au fichier de compilation de votre projet. Pour obtenir des instructions de configuration complètes, consultez la [présentation " Pour commencer](https://ironpdf.com/java/docs/) ".
Une clé de licence valide est requise pour l'utilisation en développement et en production. Définissez la clé au début de votre application avant d'appeler toute méthode IronPDF. Pour plus de détails sur les options de licence, visitez le [guide des clés de licence](https://ironpdf.com/java/get-started/license-keys/).
ConseilsTous les indices de page dans IronPDF utilisent une numérotation basée sur zéro. Page 1 de votre document est l'indice 0, la page 2 est l'indice 1, et ainsi de suite.
## Comment supprimer une seule page d'un PDF ?
La méthode `removePage(int pageIndex)` accepte un index de page à partir de zéro et supprime exactement cette page du document. Après que l'appel est terminé, toutes les pages suivantes sont décalées d'une position vers le bas, donc tout index que vous avez mis en cache avant l'appel peut ne plus pointer vers la même page.
Par exemple, si un document comporte cinq pages (indexées de 0 à 4) et que vous supprimez l'index 2, la page qui se trouvait à l'index 3 se trouve désormais à l'index 2, et la page qui se trouvait à l'index 4 se trouve désormais à l'index 3. Planifiez votre séquence de suppression en tenant compte de ce décalage, en particulier lorsque vous appelez `removePage` plusieurs fois de suite.
```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/single-page.java
import java.io.IOException ;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Charger le PDF source depuis le disque
PdfDocument pdf = PdfDocument.fromFile(Path.of("report.pdf"));
// Remove the cover page at index 0 (the first page)
pdf.removePage(0);
// Save the modified PDF -- the original file is not overwritten
pdf.saveAs(Path.of("report-no-cover.pdf"));
}
}
Ce modèle est l'approche la plus simple lorsque vous savez exactement quelle page retirer et que vous n'en avez qu'une à supprimer. Pour supprimer une plage de pages contiguës en une seule opération, utilisez removePages avec une plage PageSelection à la place.
Comment supprimer une plage de pages d'un PDF ?
La méthode removePages(PageSelection) supprime toutes les pages couvertes par la sélection donnée en une seule opération atomique, ce qui évite le problème de décalage d'index qui survient lors de l'appel multiple de removePage. Utilisez PageSelection.pageRange(int fromIndex, int toIndex) pour spécifier la plage — les deux extrémités sont incluses et la numérotation commence à zéro.
L'exemple ci-dessous supprime les pages 3, 4 et 5 d'un document en passant fromIndex = 2 et toIndex = 4. Parce que les trois pages sont supprimées en une fois, aucun décalage d'index intermédiaire ne se produit pendant l'opération.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/page-range.java
import java.io.IOException ;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
import com.ironsoftware.ironpdf.edit.PageSelection;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load a multi-page PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("annual-report.pdf"));
// Remove pages 3, 4, and 5 using a zero-based inclusive range (indexes 2 to 4)
pdf.removePages(PageSelection.pageRange(2, 4));
// Save the result to a new file
pdf.saveAs(Path.of("annual-report-trimmed.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/page-range.java
import java.io.IOException ;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
import com.ironsoftware.ironpdf.edit.PageSelection;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load a multi-page PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("annual-report.pdf"));
// Remove pages 3, 4, and 5 using a zero-based inclusive range (indexes 2 to 4)
pdf.removePages(PageSelection.pageRange(2, 4));
// Save the result to a new file
pdf.saveAs(Path.of("annual-report-trimmed.pdf"));
}
}
PageSelection.pageRange est l'approche à privilégier chaque fois que vous devez supprimer un bloc de pages adjacentes. Cette méthode est plus propre et plus efficace que de parcourir individuellement les appels removePage, et la sémantique à opération unique signifie que le nombre de pages n'est mis à jour qu'une seule fois.
Comment supprimer plusieurs pages non consécutives ?
Lorsque vous devez supprimer des pages qui ne sont pas contiguës, deux options pratiques s'offrent à vous : utiliser removePages avec un PageSelection ciblant des index individuels, ou appeler removePage plusieurs fois dans un ordre soigneusement défini.
Si vous appelez removePage plusieurs fois, procédez toujours de l'index le plus élevé vers le plus bas. Supprimer d'abord une page à index inférieur décale tous les index supérieurs d'une place vers le bas, ce qui fait que les appels suivants ciblent les mauvaises pages. En commençant à la fin du document et en travaillant à rebours, chaque suppression laisse les index inférieurs restants intacts.
L'exemple ci-dessous supprime la première page, une page intermédiaire, et la dernière page d'un document de six pages. Les appels sont ordonnés de l'index le plus élevé au plus bas -- 5, 3, 0 -- pour éviter les dérives d'index.
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.java
import java.io.IOException ;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load a six-page PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));
// Remove non-consecutive pages: always work from highest index to lowest
// to prevent index shifting from affecting subsequent removals.
// Remove the last page (index 5 in a six-page document)
pdf.removePage(5);
// Remove a page in the middle (index 3 -- now safe because no lower index has shifted)
pdf.removePage(3);
// Remove the first page (index 0 -- lowest, so processed last)
pdf.removePage(0);
// Save the modified PDF
pdf.saveAs(Path.of("contract-redacted.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/non-consecutive-pages.java
import java.io.IOException ;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load a six-page PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));
// Remove non-consecutive pages: always work from highest index to lowest
// to prevent index shifting from affecting subsequent removals.
// Remove the last page (index 5 in a six-page document)
pdf.removePage(5);
// Remove a page in the middle (index 3 -- now safe because no lower index has shifted)
pdf.removePage(3);
// Remove the first page (index 0 -- lowest, so processed last)
pdf.removePage(0);
// Save the modified PDF
pdf.saveAs(Path.of("contract-redacted.pdf"));
}
}
removePage cible la bonne page, quel que soit le nombre de pages déjà supprimées.Si l'ensemble des pages à supprimer est déterminé dynamiquement, un schéma concis consiste à trier votre liste d'index dans l'ordre inverse et à boucler :
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
import java.io.IOException ;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load the PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));
// Define the zero-based page indexes to remove
List<Integer> pagesToRemove = Arrays.asList(0, 3, 5);
// Sort descending to avoid index-shift errors during sequential removal
pagesToRemove.sort(Comparator.reverseOrder());
// Remove each page in reverse-index order
for (int pageIndex : pagesToRemove) {
pdf.removePage(pageIndex);
}
// Save the modified PDF
pdf.saveAs(Path.of("document-pages-removed.pdf"));
}
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-delete-pdf-pages-tutorial/dynamic-removal.java
import java.io.IOException ;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironpdf.PdfDocument ;
public class Main {
public static void main(String[] args) throws IOException {
// Définir la clé de licence avant d'appeler toute méthode IronPDF
License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01") ;
// Load the PDF from disk
PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));
// Define the zero-based page indexes to remove
List<Integer> pagesToRemove = Arrays.asList(0, 3, 5);
// Sort descending to avoid index-shift errors during sequential removal
pagesToRemove.sort(Comparator.reverseOrder());
// Remove each page in reverse-index order
for (int pageIndex : pagesToRemove) {
pdf.removePage(pageIndex);
}
// Save the modified PDF
pdf.saveAs(Path.of("document-pages-removed.pdf"));
}
}
Trier la liste d'index dans l'ordre décroissant avant la boucle est un schéma sûr et polyvalent qui fonctionne quel que soit le nombre de pages ciblées ou comment la liste d'entrée est ordonnée.
Quelles sont les prochaines étapes pour supprimer des pages PDF en Java ?
Les méthodes removePage et removePages d'IronPDF vous offrent un contrôle précis sur la suppression de pages, que vous ayez besoin de supprimer une seule page, une plage de pages ou un ensemble de pages dispersées. Le modèle d'indexation basé sur zéro est cohérent dans toute l'API Java d'IronPDF, donc les mêmes conventions s'appliquent lorsque vous passez à la division, à la fusion ou au réordonnancement des pages.
Pour continuer à travailler avec la structure des pages PDF et la manipulation de documents, explorez ces ressources connexes :
- Diviser des PDF en Java : extraire des pages ou des plages de pages spécifiques dans des fichiers PDF séparés
- Fusionner des PDF en Java : combiner plusieurs documents en un seul PDF avec un contrôle total sur les pages
- Compresser des PDF en Java : réduire la taille du fichier après avoir supprimé des pages pour optimiser la sortie pour la distribution
- Sommaires et favoris en Java : gérer les structures de navigation qui peuvent faire référence aux pages que vous avez supprimées
- Exemples IronPDF for Java : copiez-collez des exemples de code pour l'API Java complète d'IronPDF
Commencez votre essai gratuit pour supprimer des pages de PDFs dans votre flux de travail Java. Pour acheter une licence pour une utilisation en production, consultez les options de licence.
Questions Fréquemment Posées
Comment supprimer une seule page d'un PDF en Java ?
Chargez le PDF avec PdfDocument.fromFile(), puis appelez pdf.removePage(pageIndex) avec un index basé sur zéro. Par exemple, pdf.removePage(0) supprime la première page. Enregistrez le résultat avec pdf.saveAs().
Comment supprimer une plage de pages d'un PDF en Java ?
Appelez pdf.removePages(PageSelection.pageRange(fromIndex, toIndex)). Les index de début et de fin sont tous deux basés sur zéro et inclusifs. Par exemple, PageSelection.pageRange(2, 4) supprime la troisième, quatrième, et cinquième page du document en une seule opération atomique.
Pourquoi dois-je supprimer les pages de l'index le plus élevé au plus bas ?
Quand vous appelez removePage plusieurs fois, chaque suppression décale tous les index de page suivants d'une position vers le bas. Supprimer de l'index le plus élevé au plus bas garantit que chaque appel cible la bonne page car aucune page au précédent index inférieur n'a encore été supprimée pour causer un décalage.
Qu'est-ce que PageSelection dans IronPDF Java ?
PageSelection est une classe du package com.ironsoftware.ironpdf.edit qui définit sur quelles pages une méthode doit agir. PageSelection.pageRange(fromIndex, toIndex) crée une sélection couvrant un bloc contigu d'index de pages inclusifs basés sur zéro à utiliser avec removePages.
Quels sont les prérequis pour supprimer des pages PDF en Java avec IronPDF ?
Vous avez besoin de Java 8 ou supérieur, la bibliothèque IronPDF ajoutée comme dépendance Maven ou Gradle, et une clé de licence valide définie avec License.setLicenseKey() avant tout appel IronPDF. Aucun outil PDF natif ou cadre supplémentaire ne sont requis.
La fonction removePage modifie-t-elle le fichier PDF original ?
Non. removePage et removePages modifient l'objet PdfDocument en mémoire. Le fichier original sur le disque reste inchangé jusqu'à ce que vous appeliez pdf.saveAs(Path.of("output.pdf")) pour écrire le document modifié sur un nouveau chemin.


