Display die erste Seite des PDF als Bild
Bin ich der Erstellung von web-Anwendung, wo ich bin, die Anzeige von Bildern/pdf-in Miniatur-format. Onclicking jeweiligen Bild - /pdf-es öffnen sich in einem neuen Fenster.
Für das PDF, ich habe (dies ist der code, der in einem neuen Fenster)
<iframe src="images/testes.pdf" width="800" height="200" />
Mit dieser kann ich sehen, alle PDF-Dokuments im web-browser. Aber für kleine Zwecke, ich möchte nur die Anzeige der ersten Seite der PDF-Datei als Bild.
Versuchte ich
<h:graphicImage value="images/testes.pdf" width="800" height="200" />
aber es funktioniert nicht. Irgendeine Idee, wie dieses zu erhalten getan?
Update 1
Vermittele ich den Pfad der pdf-Datei, zum Beispiel Zweck. Allerdings habe ich Bilder in der Datenbank. Im eigentlichen habe ich den code wie unten.
<iframe src="#{PersonalInformationDataBean.myAttachmentString}" width="800" height="200" />
Update 2
Zur Vereinfachung der Miniaturansicht, was ich verwende, ist
<h:graphicImage height=200 width=200 value="....">
aber ich brauche, um zu erreichen, dasselbe für PDF auch.
Hoffe, ich bin klar, was ich erwarte...
- Ich glaube nicht, dass es getan werden könnte, ohne einige Fremdanbieter-api konvertieren der pdf (erste Seite) in Bild zuerst....
- Safari ist die Anzeige von pdf-in
h:graphicImage
. - Siehe meine aktualisierte Frage. Irgendeine Idee, wie dieses zu erhalten getan?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, ob alle Browser eingebettete PDF-Datei (erfolgt über
<h:graphicImage value="some.pdf" ... />
) gleich gut.Extrahieren 1. Seite als PDF
Wenn Sie darauf bestehen, auf die Verwendung von PDF -, würde ich empfehlen, eine von diesen 2 Kommandozeilen-tools zum extrahieren der ersten Seite einer PDF-Datei:
pdftk
Beide sind verfügbar für Linux, Mac OS X und Windows.
pdftk-Befehl
Ghostscript-Befehl
(Unter Windows verwenden Sie
gswin32c.exe
odergswin64c.exe
stattgs
.)der letzten veröffentlichten version v9.05, der Vorherige Satz ist nicht mehr wahr. Ich fand, dass Ghostscript (einschließlich aller startup-overhead) benötigt ~1 Sekunde zum extrahieren der 1. Seite von der Seite 756 PDF-Spezifikation, während das Programm PDFTK benötigt ~11 Sekunden.pdftk
ist etwas schneller als Ghostscript, wenn es um die Seite Extraktion, aber für eine einzelne Seite, der Unterschied ist wohl neglectable.Umwandlung 1. Seite zu JPEG
Wenn Sie sicher sein wollen, dass auch ältere Browser können die Anzeige Ihres 1. Seite gut, dann konvertieren zu JPEG. Ghostscript ist dein Freund hier (ImageMagick, es geht nicht von selbst, es braucht die Hilfe von Ghostscript sowieso):
Sollten Sie brauchen, Seite 33, kann man es so machen:
Wenn Sie eine Reihe von PDF-Dateien, wie pages 17-23, versuchen Sie dies:
Beachten Sie, dass die
%03d
notation Schritten mit jeder Seite verarbeitet, beginnend mit 1. So Ihre erste JPEG ' s würde der namepage-16+001-of-input-PDF.jpeg
.Vielleicht ist PNG besser?
Sich bewusst sein, dass JPEG ist kein format, gut geeignet für Bilder mit hoher schwarz+weiß-Kontrast und scharfen Kanten wie text-Seiten. PNG ist viel besser für diese.
Erstellen Sie ein PNG von der 1. Seiten einer PDF-Datei mit Ghostscript ist einfach:
Den analogen Optionen als mit JPEGs sind wahr, wenn es zu extrahieren, Bereiche von Seiten.
Warnung: nicht verwenden Ma9ic-Skript (geschrieben in einer anderen Antwort), es sei denn, Sie wollen...
Während es kann gut für Sie arbeiten, es gibt so viele Probleme in diesen 8 kleine Zeilen Bash.
Erste,
es nutzt
identify
zu extrahieren, die Anzahl von Seiten aus der PDF-Eingabedatei. Allerdingsidentify
(Teil von ImageMagick) ist völlig unfähig zu Prozess-PDFs ganz von selbst. Es hat ausgeführt Ghostscript als 'delegieren' zum verarbeiten von PDF-input. Es wäre viel effizienter zu nutzen Ghostscript direkt, anstatt indirekt, mittels ImageMagick.Zweite,
es nutzt
convert
PDF->JPEG-Konvertierung. Dieselbe Anmerkung wie oben: es nutzt Ghostscript sowieso, also warum nicht direkt?Dritte,
er läuft über die Seiten und läuft eine andere
convert
Prozess für jede einzelne Seite der PDF-Datei, 100 konvertiert eine 100-Seiten-PDF-Datei. Das heißt: es läuft auch 100 Ghostscript-Befehle zu erzeugen 100 JPEGs.Vierten,
Fahim Parkar s Frage war, um ein Miniaturbild aus der ersten Seite der PDF-Datei, nicht von allen.
Macht das Skript ausführen mindestens 201 verschiedene Befehle für ein 100 Seiten-PDF, wenn es alles könnte sein, in nur 1 Befehl. Wenn Sie Ghostscript direkt...
Verwenden Sie das richtige Werkzeug für den job, und verwenden Sie es richtig!
Update:
Da ich gefragt wurde, hier ist meine alternative Umsetzung zu Ma9ic Schrift.
Habe ich sogar einen benchmark auf. Ich wandelte die 756-Seiten-PDF-1.7-Spezifikation JPEGs mit beiden Skripts:
-dFirstPage=1 -dLastPage=1
.Dies ist, was ich verwendet