pdf mit mehrere Seiten in ein Image konvertieren

Hi
zu #9: Ja, das kann eine Lösung sein.
zu #10: Probiere ich aus, aber wieder mal komme ich erst heute am späten Nachmittag/Abend dazu.
Komme gerade aus einem Meeting, muss noch in zwei weitere.
MONI
 
Hi nochmals,
so, getestet, doch ich erhalte diese Fehlermeldung:

Fatal error: Uncaught ImagickException: width or height exceeds limit `/123.pdf' ... ... ... /pdf2oneimg-tester123.php(20): Imagick->appendimages(true)#1 {main} thrown in /pdf2oneimg-tester123.php on line 20

PHP:
ini_set('display_errors', '1');
error_reporting(E_ALL);
$img1 = new Imagick();
$img1->setResolution(300, 300);
$img1->readImage('123.pdf');
$img2 = new Imagick();
$img2->setResolution(300, 300);
foreach ($img1 as $c => $page) {
    $pg = new Imagick();
    $pg->setResolution(300, 300);
    $pg->setBackgroundColor('white');
    $pg->readImage('123.pdf[' . $c . ']');
    $pg->setImage($pg->mergeImageLayers(imagick::LAYERMETHOD_FLATTEN));
    $img2->addImage($pg);
}
$img2->resetIterator();
$imgOut = new Imagick();
$imgOut->setResolution(300, 300);
$imgOut = $img2->appendImages(true);
$imgOut->setImageFormat('jpeg');
$imgOut->setImageCompression(imagick::COMPRESSION_JPEG);
$imgOut->setImageCompressionQuality(100);
$imgOut->writeImage('wow.jpg');
//header("Content-Type: image/jpeg");
//echo $imgOut->getimagesblob();
$imgOut->clear();
$imgOut->destroy();
<img src="wow.jpg" width="600px">

Ich habe sieben pdf-Seiten beim Test - ev. zu lang für das Image. Ich probier mal ein "kürzeres" pdf.

UPDATE: Yeap, ist zu lang. Jetzt habe ich Probleme mit den .pdfs die ja bis zu 10 Seiten lang sein können.
Verdammt.

MONI
 
Zuletzt bearbeitet:
Die maximale Größe von JPG Bildern ist begrenzt, siehe hier:
JPEG - Wikipedia.
300x300 ist schon eine hohe Auflösung und ich kann mir gut vorstellen, dass die max. Größe bei einem mehrseitigen PDF überschritten wird. Versuche mal, ein PDF mit nur einer Seite zu konvertieren.
 
Wir müssen jetzt auch berücksichtigen, dass das Bild in einer erträglichen Zeit herunter geladen werden muss. Wie groß ist denn dass originale PDF und das JPG bei dem was funktioniert.
 
Tja,
das 10 Seiten-pdf: SIZE = 121039 - funktioniert nicht
das 3-Seiten-pdf: SIZE = 2044121 - funktioniert - Bild SIZE = 7788090 - Qualität TOP.

ich teste mal mit geringer resolution - warte bitte - kann dauern.

MONI
 
So bei einer resolution von 100, 100 an allen drei Stellen ist die Qualität immer noch gut (beim 3-Seiter)
und die Endgröße = 1538601
Jetzt teste ich noch das 10seitige pdf in geringerer resolution.
MONI
 
So geschafft, Qualität bei 100, 100 immer noch gut und alle sieben Seiten gehen durch. Auch in kurzer Zeit.
Jetzt teste ich noch ein 10seitiges pdf - aber morgen erst.
Schönen Abend und sehr lieben Dank für Deine Geduld und Hilfe bis hierhin.

MONI
 
Hallo,
Nur mal so am Rande, auch da Imagemagick Ghostscript benutzt, könnte man das ganze auch direkt mit Ghostscript lösen. Entweder man führt in php ein command aus oder installiert auch auch für Ghostscript einen php-wrapper.

Grüße
 
Zurück