Lors de l’intégration des documents PDF dans une application Web, vous devrez peut-être générer une vignette. Dans d’autres scénarios, tels que la création d’un visualiseur PDF, vous devrez peut-être créer une vignette pour chaque page du PDF. Dans cet article, nous allons vous montrer comment générer des images miniatures de pages PDF en Java. Nous expliquerons explicitement comment créer une vignette d’une page particulière ou de toutes les pages d’un fichier PDF.
- API Java pour générer des vignettes de pages PDF
- Générer une vignette d’un fichier PDF
- Générer des vignettes de toutes les pages en PDF
API Java pour générer des vignettes de PDF - Téléchargement gratuit
Pour générer les vignettes des fichiers PDF, nous utiliserons Aspose.PDF for Java. Il s’agit d’une bibliothèque riche en fonctionnalités qui vous permet de créer et de manipuler des documents PDF. L’API vous permet d’effectuer des opérations d’automatisation PDF de base et avancées de manière transparente. Vous pouvez télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.
Repository:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependency:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Générer une vignette d’un PDF en Java
Habituellement, vous devez générer une seule image miniature pour un document PDF. La page de vignette peut être la page de couverture ou toute autre page de votre choix. Voici les étapes pour générer une vignette de la page souhaitée d’un PDF en Java.
- Chargez le fichier PDF à l’aide de la classe Document.
- Obtenez une référence de la page souhaitée à partir de la collection Document.getPages().
- Créez un nouveau FileOutputStream pour le fichier image.
- Créez une instance de la classe Resolution pour définir la résolution de l’image miniature.
- Instanciez JpegDevice et définissez la hauteur, la largeur, la résolution et la qualité de l’image.
- Générez une vignette à l’aide de la méthode JpegDevice.process(Page, FileOutputStream).
- Fermez le flux de fichiers.
L’exemple de code suivant montre comment générer une vignette d’un fichier PDF en Java.
// Charger le document PDF
Document doc = new Document("input.pdf");
int pageIndex = 0;
// Obtenir la page
Page page = doc.getPages().get_Item(pageIndex);
// Créer un flux de fichiers pour l'image
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// Créer un objet de résolution
Resolution resolution = new Resolution(300);
// Créez une instance de JpegDevice et définissez la hauteur, la largeur, la résolution et
// qualité d'image
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Convertir une page et enregistrer l'image pour diffuser
jpegDevice.process(page, imageStream);
// Fermer le flux
try {
imageStream.close();
} catch (IOException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}
Java Générer des vignettes de toutes les pages en PDF
Voici les étapes pour générer des vignettes pour toutes les pages au format PDF en Java.
- Chargez le fichier PDF à l’aide de la classe Document.
- Parcourez toutes les pages du PDF à l’aide de la collection Document.getPages().
- A chaque itération, effectuez les opérations suivantes :
- Créez un nouveau FileOutputStream pour le fichier image.
- Créez une instance de la classe Resolution pour définir la résolution de l’image miniature.
- Instanciez JpegDevice et définissez la hauteur, la largeur, la résolution et la qualité de l’image.
- Générez une vignette à l’aide de la méthode JpegDevice.process(Page, FileOutputStream).
- Fermez le flux de fichiers.
L’exemple de code suivant montre comment générer des vignettes pour toutes les pages d’un PDF.
// Charger le document PDF
Document doc = new Document("input.pdf");
// Parcourir les pages en boucle
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// Créer un objet de résolution
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Convertir une page particulière et enregistrer l'image à diffuser
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// Fermer le flux
try {
imageStream.close();
} catch (IOException e) {
// TODO Bloc catch généré automatiquement
e.printStackTrace();
}
}
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser Aspose.PDF for Java sans limitation d’évaluation.
Conclusion
Dans cet article, vous avez appris à générer des vignettes pour les fichiers PDF en Java. Vous avez vu comment générer une vignette d’une page particulière ou de toutes les pages d’un fichier PDF. En outre, vous pouvez en savoir plus sur l’API Java PDF à l’aide de la documentation. Si vous avez des questions ou des questions, vous pouvez nous contacter via notre forum.