Durante l’incorporamento dei documenti PDF in un’applicazione Web potrebbe essere necessario generare una miniatura. In altri scenari, come la creazione di un visualizzatore PDF, potrebbe essere necessario creare una miniatura per ogni pagina del PDF. In questo articolo, ti mostreremo come generare immagini in miniatura di pagine PDF in Java. Tratteremo esplicitamente come creare una miniatura di una pagina particolare o di tutte le pagine in un file PDF.
- API Java per generare miniature di pagine PDF
- Genera una miniatura di un file PDF
- Genera miniature di tutte le pagine in PDF
API Java per generare miniature di PDF - Download gratuito
Per generare le immagini in miniatura dei file PDF, utilizzeremo Aspose.PDF per Java. È una libreria ricca di funzionalità che ti consente di creare e manipolare documenti PDF. L’API consente di eseguire senza problemi operazioni di automazione PDF di base e avanzate. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.
Archivio:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Dipendenza:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Genera una miniatura di un PDF in Java
Di solito, devi generare una singola immagine in miniatura per un documento PDF. La pagina per la miniatura potrebbe essere la copertina o qualsiasi altra pagina a tua scelta. Di seguito sono riportati i passaggi per generare una miniatura della pagina desiderata di un PDF in Java.
- Carica il file PDF utilizzando la classe Document.
- Ottieni un riferimento della pagina desiderata dalla raccolta Document.getPages().
- Crea un nuovo FileOutputStream per il file immagine.
- Crea un’istanza della classe Resolution per impostare la risoluzione dell’immagine in miniatura.
- Crea un’istanza di JpegDevice e imposta l’altezza, la larghezza, la risoluzione e la qualità dell’immagine.
- Genera miniatura usando il metodo JpegDevice.process(Page, FileOutputStream).
- Chiudi il flusso di file.
L’esempio di codice seguente mostra come generare una miniatura di un file PDF in Java.
// Carica documento PDF
Document doc = new Document("input.pdf");
int pageIndex = 0;
// Ottieni pagina
Page page = doc.getPages().get_Item(pageIndex);
// Crea flusso di file per l'immagine
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// Crea oggetto di risoluzione
Resolution resolution = new Resolution(300);
// Crea un'istanza di JpegDevice e imposta altezza, larghezza, risoluzione e
// qualità dell'immagine
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Converti una pagina e salva l'immagine per lo streaming
jpegDevice.process(page, imageStream);
// Chiudi flusso
try {
imageStream.close();
} catch (IOException e) {
// TODO Blocco catch generato automaticamente
e.printStackTrace();
}
Java Genera miniature di tutte le pagine in PDF
Di seguito sono riportati i passaggi per generare miniature per tutte le pagine in PDF in Java.
- Carica il file PDF utilizzando la classe Document.
- Scorri tutte le pagine in PDF utilizzando la raccolta Document.getPages().
- In ogni iterazione, eseguire le seguenti operazioni:
- Crea un nuovo FileOutputStream per il file immagine.
- Crea un’istanza della classe Resolution per impostare la risoluzione dell’immagine in miniatura.
- Crea un’istanza di JpegDevice e imposta l’altezza, la larghezza, la risoluzione e la qualità dell’immagine.
- Genera miniatura usando il metodo JpegDevice.process(Page, FileOutputStream).
- Chiudi il flusso di file.
L’esempio di codice seguente mostra come generare miniature per tutte le pagine in PDF.
// Carica documento PDF
Document doc = new Document("input.pdf");
// Scorri le pagine
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// Crea oggetto Risoluzione
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Converti una pagina particolare e salva l'immagine per lo streaming
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// Chiudi flusso
try {
imageStream.close();
} catch (IOException e) {
// TODO Blocco catch generato automaticamente
e.printStackTrace();
}
}
Ottieni una licenza gratuita
Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.PDF per Java senza limitazioni di valutazione.
Conclusione
In questo articolo, hai imparato come generare miniature per file PDF in Java. Hai visto come generare una miniatura di una pagina particolare o di tutte le pagine in un file PDF. Inoltre, puoi esplorare di più sull’API Java PDF utilizzando la documentazione. In caso di domande o domande, puoi contattarci tramite il nostro forum.