Comment diviser un PDF en Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

Diviser un PDF en Java est simple avec IronPDF, qui fournit les méthodes copyPage, copyPages, et splitBy sur la classe PdfDocument pour extraire des pages individuelles, tirer des plages de pages ou diviser un document à une limite. Chaque méthode renvoie un nouveau PdfDocument que vous sauvegardez indépendamment de l'original.

Démarrage rapide : Diviser un PDF en Java

  1. Installez IronPDF for Java via Maven ou Gradle
  2. Définissez votre clé de licence avec License.setLicenseKey()
  3. Chargez le PDF avec PdfDocument.fromFile()
  4. Utilisez copyPage() pour extraire une seule page
  5. Enregistrez le résultat avec saveAs()
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
 :title=Quickstart
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the first page (zero-based index 0) into a new document
        PdfDocument firstPage = pdf.copyPage(0);

        // Save the extracted page as a standalone PDF
        firstPage.saveAs(Path.of("page-one.pdf"));
    }
}
JAVA

La division de PDF est une exigence courante lors de la production de documents de manière programmatique. Un rapport généré en tant que fichier unique peut avoir besoin d'être fragmenté en sections individuelles avant la distribution. Les workflows d'archivage nécessitent souvent de stocker chaque chapitre ou facture comme un fichier séparé. Les scénarios de partage sélectif, comme l'envoi d'une plage de pages spécifique à un client, bénéficient de l'extraction exacte des pages requises plutôt que de l'envoi de l'intégralité du document.

IronPDF gère les trois schémas de division à travers une API cohérente sur la classe PdfDocument. La même classe utilisée pour générer des PDFs à partir de HTML ou charger des fichiers existants expose les méthodes d'extraction de pages, de sorte que la division s'intègre naturellement dans tout workflow IronPDF existant. Pour la configuration et la configuration des dépendances, référez-vous à la vue d'ensemble de démarrage.

Tous les index de pages dans IronPDF sont basés sur zéro. Si votre document source a dix pages, les indices valides vont de 0 à 9. Cela s'applique à copyPage, aux deux bornes de copyPages et à l'argument de limite de splitBy. Passer un indice hors de portée générera une exception à l'exécution, donc validez les comptes de pages par rapport à pdf.getPageCount() lorsque vous travaillez avec des documents de longueur variable.

De quoi ai-je besoin avant de commencer?

Avant de diviser des PDFs, confirmez qu'IronPDF est ajouté à votre projet Java en tant que dépendance Maven ou Gradle. La bibliothèque nécessite Java 8 ou supérieur. Ajoutez l'artefact IronPDF de Maven Central à votre fichier de compilation :

<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
<dependency>
    <groupId>com.ironsoftware</groupId>
    <artifactId>ironpdf</artifactId>
    <version>2024.9.1</version>
</dependency>
XML

Pour les projets Gradle, ajoutez la ligne équivalente implementation à votre build.gradle. Les instructions complètes de dépendance et de configuration sont disponibles dans la vue d'ensemble de démarrage.

Une clé de licence valide est requise. Réglez-la au démarrage de l'application avant d'appeler toute méthode IronPDF :

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");
JAVA

Pour les options de licence et les clés d'essai, visitez le guide des clés de licence.

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 extraire une seule page d'un PDF ?

La méthode copyPage(int pageIndex) extrait une page de PdfDocument et la renvoie comme un nouveau PdfDocument indépendant. Le document original n'est pas modifié. L'argument pageIndex est basé sur zéro : passez 0 pour la première page, 1 pour la seconde, et ainsi de suite.

Cette méthode est appropriée lorsque votre flux de travail nécessite d'isoler une page spécifique, telle que l'extraction d'une page de couverture, d'une page de signature signée, ou d'une facture unique d'un document généré par lot.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Extract the third page (zero-based index 2) into a new document
        PdfDocument thirdPage = pdf.copyPage(2);

        // Save the extracted page as a standalone PDF
        thirdPage.saveAs(Path.of("third-page.pdf"));
    }
}
JAVA

Le PdfDocument retourné est totalement indépendant de la source. Vous pouvez appliquer d'autres transformations, ajouter des annotations, ou le fusionner avec d'autres documents avant de l'enregistrer.

Icon Quote related to Comment extraire une seule page d'un PDF ?

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Comment extraire une seule page d'un PDF ?

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Comment extraire une seule page d'un PDF ?

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Comment extraire une seule page d'un PDF ?

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Comment extraire une seule page d'un PDF ?

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Comment extraire une seule page d'un PDF ?

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment extraire une plage de pages d'un PDF ?

La méthode copyPages(int fromIndex, int toIndex) extrait une plage continue de pages et les renvoie comme un nouveau PdfDocument. Les deux fromIndex et toIndex sont basés sur zéro et inclusifs : passer copyPages(1, 4) sur un document de dix pages extrait les pages 2, 3, 4 et 5 (indices 1 à 4).

L'extraction de plages de pages convient aux scénarios tels que l'extraction d'un chapitre d'un rapport à plusieurs chapitres, l'extraction d'une annexe multipage, ou l'isolement d'un ensemble de diapositives à partir d'une présentation exportée en PDF.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/copy-page-range.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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load a multi-page source PDF
        PdfDocument pdf = PdfDocument.fromFile(Path.of("multi-page-report.pdf"));

        // Extract pages 2 through 5 (zero-based indexes 1 through 4, inclusive)
        PdfDocument chapter = pdf.copyPages(1, 4);

        // Save the extracted page range as a standalone document
        chapter.saveAs(Path.of("chapter-pages-2-to-5.pdf"));
    }
}
JAVA

Si le document source a moins de pages que la toIndex demandée, IronPDF lancera une exception. Vérifiez pdf.getPageCount() avant d'appeler copyPages lorsque vous travaillez avec des documents dont le nombre de pages peut varier.

Comment diviser un PDF en deux documents ?

La méthode splitBy(int splitAfterPageIndex) divise un PDF à une limite et renvoie un List<PdfDocument> contenant exactement deux éléments. Le premier élément contient les pages de l'indice 0 à splitAfterPageIndex (inclusif). Le deuxième élément contient toutes les pages restantes de splitAfterPageIndex + 1 à la fin du document.

Par exemple, appeler splitBy(2) sur un document de dix pages produit :

  • parts.get(0) : pages 0, 1, 2 (les trois premières pages)
  • parts.get(1) : pages 3 à 9 (les sept pages restantes)

Cette méthode convient pour diviser un document à une limite connue : séparer une feuille de couverture du corps, diviser un document à une rupture de section, ou couper un fichier de lot en deux moitiés pour un traitement parallèle.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/java-split-pdf-tutorial/split-by-boundary.java
import java.io.IOException;
import java.nio.file.Path;
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 {
        // Set the license key before calling any IronPDF methods
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

        // Load the source PDF from disk
        PdfDocument pdf = PdfDocument.fromFile(Path.of("source.pdf"));

        // Split after page index 2 -- first part: pages 0-2, second part: pages 3 to end
        List<PdfDocument> parts = pdf.splitBy(2);

        // Save the first part (pages 0 through 2)
        parts.get(0).saveAs(Path.of("part-one.pdf"));

        // Save the second part (pages 3 through end)
        parts.get(1).saveAs(Path.of("part-two.pdf"));
    }
}
JAVA

Veuillez notersplitBy retourne toujours une liste avec exactement deux éléments. Si splitAfterPageIndex est égal à l'indice de la dernière page du document, le deuxième élément sera un document vide. Validez la limite de division par rapport à pdf.getPageCount() - 1 lorsque le point de division est calculé dynamiquement.

Quelles sont les prochaines étapes pour diviser des PDFs en Java ?

Les méthodes copyPage, copyPages et splitBy d'IronPDF couvrent l'ensemble des exigences de division de PDF en Java, depuis l'extraction de pages uniques jusqu'à la division basée sur des plages ou sur des limites. Chaque méthode renvoie un PdfDocument indépendant prêt pour une manipulation supplémentaire ou une sauvegarde immédiate.

Pour continuer à travailler avec des documents PDF en Java, explorez ces ressources connexes :

Commencez votre essai gratuit pour ajouter le découpage de PDF à 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 diviser un PDF en Java avec IronPDF?

Chargez votre PDF avec PdfDocument.fromFile(), puis appelez copyPage(index) pour extraire une seule page, copyPages(from, to) pour extraire une plage, ou splitBy(index) pour diviser le document en deux parties. Enregistrez chaque résultat avec saveAs().

Quelle est la différence entre copyPage, copyPages, et splitBy?

copyPage(index) extrait une seule page par index de base zéro. copyPages(fromIndex, toIndex) extrait une plage contiguë où les deux bornes sont inclusives. splitBy(index) divise le document à une limite et renvoie une List<PdfDocument> avec deux éléments: les pages 0 jusqu'à l'index de limite, et toutes les pages restantes.

Les indexes de pages dans IronPDF sont-ils basés sur zéro ou sur un?

Les indexes de pages dans IronPDF sont basés sur zéro. La première page d'un document est l'index 0, la seconde est l'index 1, et ainsi de suite. Cela s'applique à copyPage, copyPages, et splitBy.

Que renvoie splitBy?

splitBy(splitAfterPageIndex) renvoie une List<PdfDocument> avec exactement deux éléments. Le premier élément contient les pages 0 jusqu'à l'index de division (inclus). Le deuxième élément contient toutes les pages restantes. Si l'index de division est la dernière page, le deuxième élément sera un document vide.

Quels sont les prérequis pour diviser des PDF en Java avec IronPDF?

Vous avez besoin de Java 8 ou plus, de la bibliothèque IronPDF ajoutée en tant que dépendance Maven ou Gradle, et d'une clé de licence valide définie avec License.setLicenseKey() avant tout appel à IronPDF.

Comment extraire les pages 2 à 5 d'un PDF en Java?

Utilisez pdf.copyPages(1, 4) pour extraire les pages 2 à 5. IronPDF utilise des index de base zéro, donc la page 2 est l'index 1 et la page 5 est l'index 4. Les deux bornes sont incluses. Enregistrez le résultat avec saveAs().

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite
Prêt à commencer?
Version : 2026.6 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.