När du bäddar in PDF-dokumenten i en webbapplikation kan du behöva skapa en miniatyrbild. I andra scenarier, som att skapa en PDF-visare, kan du behöva skapa en miniatyrbild för varje sida i PDF-filen. I den här artikeln kommer vi att visa dig hur du genererar miniatyrbilder av PDF-sidor i Java. Vi kommer uttryckligen att täcka hur man skapar en miniatyrbild av en viss sida eller alla sidor i en PDF-fil.
- Java API för att generera miniatyrbilder av PDF-sidor
- Skapa en miniatyrbild av en PDF-fil
- Generera miniatyrbilder av alla sidor i PDF
Java API för att generera miniatyrbilder av PDF - Gratis nedladdning
För att generera miniatyrbilder av PDF-filer kommer vi att använda Aspose.PDF för Java. Det är ett funktionsrikt bibliotek som låter dig skapa och manipulera PDF-dokument. API:et låter dig utföra grundläggande såväl som avancerade PDF-automatiseringsoperationer sömlöst. Du kan ladda ner API:t eller installera det med hjälp av följande Maven-konfigurationer.
Förvar:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Beroende:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Skapa en miniatyrbild av en PDF i Java
Vanligtvis måste du skapa en enda miniatyrbild för ett PDF-dokument. Sidan för miniatyrbilden kan vara försättssidan eller valfri annan sida. Följande är stegen för att skapa en miniatyrbild av den önskade sidan i en PDF-fil i Java.
- Ladda PDF-filen med klassen Document.
- Få en referens till den önskade sidan från samlingen Document.getPages().
- Skapa en ny FileOutputStream för bildfilen.
- Skapa en instans av klassen Resolution för att ställa in upplösningen för miniatyrbilden.
- Instantiera JpegDevice och ställ in bildens höjd, bredd, upplösning och kvalitet.
- Generera miniatyrer med metoden JpegDevice.process(Page, FileOutputStream).
- Stäng filströmmen.
Följande kodexempel visar hur man genererar en miniatyrbild av en PDF-fil i Java.
// Ladda PDF-dokument
Document doc = new Document("input.pdf");
int pageIndex = 0;
// Skaffa sida
Page page = doc.getPages().get_Item(pageIndex);
// Skapa filström för bild
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageIndex + ".jpg");
// Skapa upplösningsobjekt
Resolution resolution = new Resolution(300);
// Skapa en instans av JpegDevice och ställ in höjd, bredd, upplösning och
// bildkvalitet
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Konvertera en sida och spara bilden för att streama
jpegDevice.process(page, imageStream);
// Stäng strömmen
try {
imageStream.close();
} catch (IOException e) {
// TODO Autogenererat fångstblock
e.printStackTrace();
}
Java Generera miniatyrbilder av alla sidor i PDF
Följande är stegen för att generera miniatyrer för alla sidor i PDF i Java.
- Ladda PDF-filen med klassen Document.
- Bläddra igenom alla sidor i PDF med Document.getPages()-samlingen.
- Utför följande operationer i varje iteration:
- Skapa en ny FileOutputStream för bildfilen.
- Skapa en instans av klassen Resolution för att ställa in upplösningen för miniatyrbilden.
- Instantiera JpegDevice och ställ in bildens höjd, bredd, upplösning och kvalitet.
- Generera miniatyrer med metoden JpegDevice.process(Page, FileOutputStream).
- Stäng filströmmen.
Följande kodexempel visar hur man genererar miniatyrer för alla sidor i PDF.
// Ladda PDF-dokument
Document doc = new Document("input.pdf");
// Bläddra igenom sidorna
for (int pageCount = 0; pageCount < doc.getPages().size(); pageCount++) {
FileOutputStream imageStream = new FileOutputStream("Thumbnails_" + pageCount + ".jpg");
// Skapa Resolution-objekt
Resolution resolution = new Resolution(300);
JpegDevice jpegDevice = new JpegDevice(45, 59, resolution, 100);
// Konvertera en viss sida och spara bilden för att streama
jpegDevice.process(doc.getPages().get_Item(pageCount), imageStream);
// Stäng strömmen
try {
imageStream.close();
} catch (IOException e) {
// TODO Autogenererat fångstblock
e.printStackTrace();
}
}
Skaffa en gratis licens
Du kan skaffa en gratis tillfällig licens för att använda Aspose.PDF för Java utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du genererar miniatyrer för PDF-filer i Java. Du har sett hur man skapar en miniatyrbild av en viss sida eller alla sidor i en PDF-fil. Dessutom kan du utforska mer om Java PDF API med hjälp av dokumentationen. Om du skulle ha några frågor eller funderingar kan du kontakta oss via vårt forum.