2016-08-03 53 views
1

Was nicht funktioniert:Imagick mehrerer PDF-Seiten zu JPG fatalen Fehlern

  • Konvertieren von Dateinamen-Multiple-pages.pdf [0] PDF-Datei JPG
  • Konvertieren von Dateinamen-multiple-pages.pdf PDF-Datei JPG

Fatal error: Uncaught exception 'ImagickException' with message 'Postscript delegate failed `/path/to/filename-multiple-pages.pdf': No such file or directory @ error/pdf.c/ReadPDFImage/664' in ...

Wenn ich versuche, dies mit einem sollution auf den Stegen mit fopen gefunden und dann readImageFile des fopen Griff mit:

Fatal error: Uncaught exception 'ImagickException' with message 'Postscript delegate failed `/tmp/magick-rGGsdy9f': No such file or directory @ error/pdf.c/ReadPDFImage/664'

Was funktioniert:

  • Konvertieren von Dateinamen-Multiple-pages.pdf [1] PDF-Datei JPG (die zweite Seite)
  • Konvertieren von Dateinamen-Single-page.pdf PDF to JPG [/ list]

Der verwendete PHP-Codes:

<?php 

    // this does work for a single page file 
    // it does NOT work for multiple page file 
    // it does NOT work when using pdffile.pdf[0] 
    // it DOES work when using pdffile.pdf[1] 

    $filename = '/path/to/pdffile.pdf'; 
    $im = new Imagick(); 
    $im->readImage($filename); 
    $im = $im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN); 
    $im->scaleImage(150, 150, true); 
    $im->writeImage('/path/to/image/pdffile.jpg'); 
?> 


<?php 
    // i used alternative code which gave me the second /tmp/ dir error (see above) 

    $filename = '/path/to/pdffile.pdf';  
    $pdf_handle = fopen($filename, 'rb'); 
    $doc_preview = new Imagick(); 
    $doc_preview->setResolution(150,150); 
    $doc_preview->readImageFile($pdf_handle); 
    $doc_preview->setIteratorIndex(0); 
    $doc_preview->setImageFormat('jpeg'); 
    $doc_preview->writeImage('/path/to/image/pdffile.jpg'); 
    $doc_preview->clear(); 
    $doc_preview->destroy(); 

?> 

installierten Module von Anbieter

  • ImageMagick Hosting v6.7.2.7-5
  • Ghost 8,70

Hat jemand eine Idee, was zu tun?

+0

Sind Sie sicher, dass der Pfad korrekt ist? und PHP kann es reat? Sie können testen, ob (is_file ('/path/to/pdffile.pdf')) echo 'OK'; sonst echo 'NICHT DATEI'; – Amazone

Antwort

0

Nach einigen Recherchen fand ich heraus, dass der hosting-Anbieter keine aktuellen Versionen installiert hat. Nach einigen Tagen des Testens und Debuggens gelang es ihnen, die neuesten Versionen zu installieren, und alles funktioniert jetzt. Der Code in meinem Beitrag ist gut und kann von anderen verwendet werden :).

+0

Können Sie bitte Ihre Antwort als akzeptiert markieren? –