Welche Bibliotheken, Erweiterungen usw. wären erforderlich, um einen Teil eines PDF-Dokuments in eine Bilddatei zu rendern?
Die meisten PHP-PDF-Bibliotheken, die ich gefunden habe, konzentrieren sich auf das Erstellen von PDF-Dokumenten. Gibt es jedoch eine einfache Möglichkeit, ein Dokument in einem für die Webnutzung geeigneten Bildformat zu rendern?
Unsere Umgebung ist ein LAMP-Stapel.
.jpg
Erweiterung haben zu lassen. Ich habe die .htaccess AddHandler-Methode ausprobiert und sie hat nicht funktioniert.Antworten:
Du brauchst
ImageMagick
undGhostScript
Die
[0]
Mittelpage 1
.quelle
$im->thumbnailImage(1500, 0);
wird Ihr JPG-Bild auf eine Breite von 1500 eingestellt und die Skalierung beibehalten. Siehe DokumentationFür diejenigen, die ImageMagick aus irgendeinem Grund nicht haben, funktionieren GD-Funktionen auch in Verbindung mit GhostScript. Führen Sie den Befehl ghostscript mit aus
exec()
, um eine PDF-Datei in JPG zu konvertieren, und bearbeiten Sie die resultierende Datei mitimagecreatefromjpeg()
.Führen Sie den Ghostscript-Befehl aus:
Erstellen Sie zum Bearbeiten ein neues Platzhalterbild
$newimage = imagecreatetruecolor(...)
und bringen Sie das aktuelle Bild ein.$image = imagecreatefromjpeg('whatever.jpg')
Und dann können Sie verwenden , umimagecopyresampled()
die Größe zu ändern, oder eine beliebige Anzahl von anderen eingebauten, nichtimagemagick
Befehlequelle
gs
Binärdatei angeben.something;rm -rf /
?Sie können die Seitenzahl auch mit abrufen
Anschließend können Sie mit einer Schleife Daumen für alle Seiten erstellen, z.
quelle
Verwenden Sie die PHP-Erweiterung Imagick . Verwenden Sie die Funktion setResolution, um die gewünschte Größe des Rasterausgabebilds zu steuern
(Erweiterung auf Paolo Bergantino seine Antwort und Luis Melgratti seinen Kommentar. Sie müssen die Auflösung einstellen, bevor Sie das Bild laden.)
quelle
Wenn Sie die PDF-Datei aus einem Blob laden, erhalten Sie auf diese Weise die erste Seite anstelle der letzten Seite:
quelle
Sie können auch versuchen, das mit imagemagick gelieferte Dienstprogramm 'convert' auszuführen.
quelle
convert
Binärdatei angeben.echo 'image-0.jpg';
gibt eine Zeichenfolge zurück.Ich bin der Autor von PDFlib , einem GhostScript- Wrapper für PHP. Der Vorteil der Verwendung dieser Bibliothek ist, dass sie bereits getestet wurde und nicht erforderlich ist
ImageMagic
Immer
GhostScript
Befehle sind schneller alsImageMagic
wenn es um die pdf , so dass Sie entweder für einen Ghostscript - Wrapper oder reine Ghostscript - Befehle gehenquelle
Ich installiere fertig! Es hat funktioniert!
Sie können Imagemagick unter Windows installieren .
In
php (local)
Gebrauch Anrufexec(<command line>)
ex:Außerdem können Sie
class imagick
in der PHP Imagick-Klasse verwendet werdenDanke, alles hat mir geholfen!
quelle
Anders denken: Mit der folgenden Bibliothek können Sie PDF-Dateien mit Javascript in Bilder konvertieren
http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs
quelle
Hier ist eine einfache Klasse, die ich für einige Projekte geschrieben und verwendet habe. Es wird nur umbrochen
imagick
und das Schreiben jeder Seite auf die Festplatte behandelt. Wenn noch jemand nach einer einfachen Möglichkeit sucht, kann dieser Link hilfreich sein.quelle