Diviser un PDF en plusieurs fichiers en Java

PDF est l’un des formats de fichiers les plus connus qui prennent en charge les éléments textuels, graphiques et bien d’autres. L’une des raisons de sa popularité est sa portabilité. Dans certains cas, vous devrez peut-être diviser un gros fichier PDF en plusieurs fichiers. Pour résoudre ce problème par programmation, cet article explique différentes manières de comment fractionner des fichiers PDF en Java.

API Java pour fractionner des fichiers PDF

GroupDocs.Merger fournit la solution pour fusionner et diviser des fichiers de nombreux formats de fichiers différents. Nous utiliserons son API Java pour diviser les fichiers PDF de différentes manières. Téléchargez le fichier JAR à partir de la section des téléchargements, ou utilisez simplement les dernières configurations de référentiel et de dépendance Maven dans vos applications Java.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-merger</artifactId>
        <version>21.9</version> 
</dependency>

Diviser un fichier PDF en fichiers multipages en Java

Les étapes suivantes expliquent comment diviser un fichier PDF en fichiers multipages :

  • Chargez le fichier PDF en utilisant la classe Merger.
  • Définissez le format des fichiers de sortie.
  • Définissez les intervalles de page à l’aide de SplitOptions.
  • Divisez le PDF chargé selon l’intervalle défini à l’aide de la méthode split().

L’exemple de code suivant montre comment diviser des fichiers PDF en fichiers multipages en Java.

/*
 * Diviser les fichiers PDF en plusieurs fichiers de page en Java
 */
// Charger le fichier PDF
Merger merger = new Merger("path/document.pdf"); 

// Définir le format des fichiers de sortie
String filePathOut = "path/splitPDF_{0}.{1}";

// Définir les intervalles de fractionnement et le mode de fractionnement
SplitOptions splitOptions = new SplitOptions(filePathOut,  new int[] { 3, 6, 8 }, SplitMode.Interval);

// Diviser le PDF selon des intervalles donnés
merger.split(splitOptions);

Diviser un fichier PDF en plusieurs fichiers d’une seule page en Java

Les étapes suivantes expliquent comment diviser un PDF pour extraire des pages en plusieurs fichiers d’une seule page :

  • Chargez le fichier PDF en utilisant la classe Merger.
  • Définissez le format des fichiers de sortie.
  • Définissez les numéros de page exacts à l’aide de SplitOptions.
  • Divisez le PDF chargé en fonction des pages définies à l’aide de la méthode split().

L’exemple de code suivant montre comment diviser des fichiers PDF en plusieurs fichiers d’une seule page en Java.

/*
 * Diviser le fichier PDF en fichiers d'une seule page en Java
 */
// Charger le fichier PDF
Merger merger = new Merger("path/document.pdf");

// Définir le format des fichiers de sortie
String filePathOut = "path/splitPDF_{0}.{1}"; 

// Définir les pages à extraire en tant que document d'une seule page
SplitOptions splitOptions = new SplitOptions(filePathOut, new int[] { 3, 6, 8 });

// Fractionner le PDF selon les options de fractionnement
merger.split(splitOptions);

Extraire des pages de fichiers PDF par plage en Java

Les étapes suivantes expliquent comment extraire des pages d’un PDF en les divisant selon la plage donnée :

  • Chargez le fichier PDF en utilisant la classe Merger.
  • Définissez le format des fichiers de sortie.
  • Indiquez la plage de pages à l’aide de SplitOptions.
  • Utilisez la méthode split() pour diviser le PDF chargé en fonction de la plage définie.

L’extrait de code suivant montre comment diviser un PDF et extraire des pages en fournissant une plage en Java.

/*
 * Diviser le fichier PDF par plage donnée en fichiers d'une seule page en Java
 */
// Charger le fichier PDF
Merger merger = new Merger("path/document.pdf"); 

// Définir le format des fichiers de sortie
String filePathOut = "path/splitPDF_{0}.{1}";

// Définir la plage à extraire en tant que documents d'une seule page
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7);

// Fractionner le PDF selon les options de fractionnement
merger.split(splitOptions);

Extraire des pages de fichiers PDF à l’aide du filtre pair/impair en Java

Les étapes suivantes expliquent comment extraire les pages paires/impaires dans la plage donnée du fichier PDF en les divisant :

  • Chargez le fichier PDF en utilisant la classe Merger.
  • Définissez le format des fichiers de sortie.
  • Indiquez la plage de pages à l’aide de SplitOptions.
  • Appliquez le filtre pair, impair ou toutes les pages à l’aide de RangeMode.
  • Utilisez la méthode split() pour diviser le PDF chargé en fonction du filtre défini.

L’extrait de code suivant montre comment extraire toutes les pages paires/impaires dans la plage définie d’un fichier PDF à l’aide de Java.

/*
 * Diviser le fichier PDF par plage et filtre donnés (pages paires/impaires) en fichiers d'une seule page en Java
 */
// Charger le fichier PDF
Merger merger = new Merger("path/document.pdf"); 

// Définir le format des fichiers de sortie
String filePathOut = "path/splitPDF_{0}.{1}";

// Définir la plage et le filtre pour extraire toutes les pages ODD dans la plage donnée en tant que documents d'une seule page
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 7, (Integer)RangeMode.OddPages);

// Fractionner le PDF selon les options de fractionnement
merger.split(splitOptions);

Résumé des changements de code

La seule chose qui diffère dans les scénarios ci-dessus est la façon de créer SplitOptions. Vous pouvez utiliser les configurations suivantes selon vos besoins dans votre code.

  • Pour les fichiers multipages - Utiliser l’intervalle : [1,2], [3,4,5], [6,7], [8,9,10].
new SplitOptions(outputFile,  new int[] { 3, 6, 8 }, SplitMode.Interval)
  • Pages individuelles : [3], [6], [8]
new SplitOptions(outputFile, new int[] { 3, 6, 8 });
  • Pour extraire les pages de la plage : [3], [4], [5]
new SplitOptions(outputFile, 3, 5);
  • Plage avec filtre : [3], [5], [7]
new SplitOptions(outputFile, 3, 7, (Integer)RangeMode.OddPages);

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans les limitations d’évaluation.

Conclusion

En résumé, vous avez appris différentes manières de fractionner des fichiers PDF en Java. Tout d’abord, nous divisons le fichier PDF en documents de plusieurs pages ainsi qu’en plusieurs documents d’une seule page. Ensuite, une par une, nous avons extrait toutes les pages et les pages paires/impaires du fichier PDF dans la plage donnée. Vous devriez maintenant être sûr de créer votre propre application Java de fractionnement de PDF à l’aide de l’API GroupDocs.Merger.

Pour en savoir plus sur l’API, consultez la documentation. Pour toute question, contactez-nous via le forum.

Voir également