Dieser Artikel beschreibt die Methode zur Implementierung von Screenshots von PDF -Dateien in Java. Teilen Sie es für Ihre Referenz wie folgt weiter:
In einer von mir kürzlich erstellten Website ist eine PDF -Datei hochgeladen, die PDF -Coverseite angezeigt und dann auf die Cover -Seite klicken, um online zu lesen. Hier wird PDFrender verwendet, um Screenshots von PDF zu machen.
public static boolean createScreenshoot (String -Quelle, String -Ziel) {Datei Datei = neue Datei (Quelle); if (! file.exists ()) {System.err.println ("path [" + source + "] Die entsprechende PDF -Datei existiert nicht!"); false zurückgeben; } try {randomAccessfile raf = new randomAccessfile (Datei, "r"); Filechannel Channel = raf.getchannel (); Bytebuffer buf = Channel.map (filechannel.mapMode.read_only, 0, Channel.size ()); Pdffile pdffile = new pdffile (buf); int num = pdffile.getNumpages (); für (int i = 1; i <num; i ++) {pdfpage page = pdffile.getPage (1); // Die Breite und Höhe für den DOC am Standard -Zoom -Rechteck rechteck = neuer Rechteck (0, 0, (int) Seite.getbbox () .getWidth (), (int) page.getbbox (). geteight ()) erhalten; // Bild Bild imag img = page.getImage (rect.width, rect.height, // Breite & rect, // clip rect null, // null für den ImageObserver true, // Hintergrund mit weißem True // blockieren, bis die Zeichnung fertig ist); Bufferedimage tag = new bufferedimage (rect.width, rect.height, bufferedimage.type_int_rgb); tag.getGraphics (). DrawImage (IMG, 0, 0, rect.width, rect.height, null); FileOutputStream out = new FileOutputStream (Ziel+i+"jpg"); JpegimageCoder cccoder = jpegcodec.createjpeGenCoder (out); CCCODER.ECODE (Tag); // jpeg coding out.close (); } Return true; } catch (Ausnahme e) {e.printstacktrace (); zurückkehren; }Wenn Sie das PDF online anzeigen müssen, müssen Sie den Antwortheader einstellen
response.setContentType ("application/pdf");Anhang: pdfrender.jar Klicken Sie hier , um diese Website herunterzuladen .
Für mehr Java-bezogene Inhalte können Leser, die an dieser Website interessiert sind, die Themen "Zusammenfassung von Java Image Operation Skills", "Zusammenfassung von Java-Datum und Zeit-Betriebsfähigkeiten", "Zusammenfassung der Java-Operation DOM-Knotenkenntnisse", "Zusammenfassung der Java-Datei und des Verzeichnisbetriebs" und "Tutorials of Java Data Struktur und Algorithm", Zusammenfassung von Java-Datum und Zeit ".
Ich hoffe, dieser Artikel wird für Java -Programme aller hilfreich sein.