Al incrustar los documentos PDF en una aplicación web, es posible que deba generar una miniatura. En otros escenarios, como la creación de un visor de PDF, es posible que deba crear una miniatura para cada página del PDF. En este artículo, le mostraremos cómo generar imágenes en miniatura de páginas PDF en Java. Cubriremos explícitamente cómo crear una miniatura de una página en particular o de todas las páginas en un archivo PDF.
- API de Java para generar miniaturas de páginas PDF
- Generar una miniatura de un archivo PDF
- Genera miniaturas de todas las páginas en PDF
API de Java para generar miniaturas de PDF - Descarga gratuita
Para generar las imágenes en miniatura de los archivos PDF, utilizaremos Aspose.PDF for Java. Es una biblioteca rica en funciones que le permite crear y manipular documentos PDF. La API le permite realizar operaciones de automatización de PDF básicas y avanzadas sin problemas. Puede descargar la API o instalarla usando las siguientes configuraciones de Maven.
Repositorio:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dependencia:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Generar una miniatura de un PDF en Java
Por lo general, debe generar una sola imagen en miniatura para un documento PDF. La página de la miniatura podría ser la portada o cualquier otra página de su elección. Los siguientes son los pasos para generar una miniatura de la página deseada de un PDF en Java.
- Cargue el archivo PDF utilizando la clase Document.
- Obtenga una referencia de la página deseada de la colección Document.getPages().
- Cree un nuevo FileOutputStream para el archivo de imagen.
- Cree una instancia de la clase Resolución para establecer la resolución de la imagen en miniatura.
- Cree una instancia de JpegDevice y configure la altura, el ancho, la resolución y la calidad de la imagen.
- Genere una miniatura usando el método JpegDevice.process(Page, FileOutputStream).
- Cierre la secuencia de archivos.
El siguiente ejemplo de código muestra cómo generar una miniatura de un archivo PDF en Java.
// Cargar documento PDF
Document doc = new Document("input.pdf");
int pageIndex = 0;
// Obtener página
Page page = doc.getPages().get_Item(pageIndex);
// Crear secuencia de archivos para la imagen
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// Crear objeto de resolución
Resolution resolution = new Resolution(300);
// Cree una instancia de JpegDevice y configure la altura, el ancho, la resolución y la
// calidad de imagen
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Convierta una página y guarde la imagen para transmitir
jpegDevice.process(page, imageStream);
// Cerrar transmisión
try {
imageStream.close();
} catch (IOException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
}
Java genera miniaturas de todas las páginas en PDF
Los siguientes son los pasos para generar miniaturas para todas las páginas en PDF en Java.
- Cargue el archivo PDF utilizando la clase Document.
- Recorra todas las páginas en PDF usando la colección Document.getPages().
- En cada iteración, realice las siguientes operaciones:
- Cree un nuevo FileOutputStream para el archivo de imagen.
- Cree una instancia de la clase Resolución para establecer la resolución de la imagen en miniatura.
- Cree una instancia de JpegDevice y configure la altura, el ancho, la resolución y la calidad de la imagen.
- Genere una miniatura usando el método JpegDevice.process(Page, FileOutputStream).
- Cierre la secuencia de archivos.
El siguiente ejemplo de código muestra cómo generar miniaturas para todas las páginas en PDF.
// Cargar documento PDF
Document doc = new Document("input.pdf");
// Bucle a través de las páginas
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// Crear objeto de resolución
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Convierta una página en particular y guarde la imagen para transmitir
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// Cerrar transmisión
try {
imageStream.close();
} catch (IOException e) {
// TODO Bloque catch generado automáticamente
e.printStackTrace();
}
}
Obtenga una licencia gratis
Puede obtener una licencia temporal gratuita para usar Aspose.PDF for Java sin limitaciones de evaluación.
Conclusión
En este artículo, ha aprendido a generar miniaturas para archivos PDF en Java. Ha visto cómo generar una miniatura de una página en particular o de todas las páginas de un archivo PDF. Además, puede explorar más sobre la API PDF de Java utilizando la documentación. En caso de que tenga alguna pregunta o consulta, puede contactarnos a través de nuestro foro.