Преобразование PDF в JPG-образ с помощью PHP

Я использую ImageMagik, чтобы попытаться преобразовать содержимое PDF в JPG, но продолжаю получать пустой jpg. Я убедился, что perms – это 777 на все для тестирования, поэтому я немного потерял, как продолжить.

Вот сценарий, который я запускаю

<?php exec('convert testfile.pdf output.jpg', $output, $return_var); ?> 

Попробуй это.

 <?php $pdf = 'testfile.pdf'; $save = 'output.jpg'; exec('convert "'.$pdf.'" -colorspace RGB -resize 800 "'.$save.'"', $output, $return_var); ?> 

Используйте абсолютный путь к двоичному, например:

 exec('/usr/bin/convert testfile.pdf output.jpg', $output, $return_var); 

Но убедитесь, что ваш convert двоичный файл находится на /usr/bin вы можете проверить это с помощью следующей команды:

which convert

 convert -normalize yourfile.pdf[0] yourdestination.jpg 

ImageMagick внутренне использует GhostScript и, как правило, преобразование ImageMagick медленнее Сравнение с Ghoastscript, поэтому, если вам интересно только преобразовать PDF в изображения, то команда Ghostscript gs выполняется быстрее. ниже – примерная обложка вокруг Ghostscript, которую я написал несколько дней назад.

PDFLib-Php

 $pdflib = new ImalH\PDFLib\PDFLib(); $pdflib->setPdfPath($pdf_file_path); $pdflib->setOutputPath($folder_path_for_images); $pdflib->setImageQuality(95); $pdflib->setDPI(300); $pdflib->setPageRange(1,$pdflib->getNumberOfPages()); $pdflib->convert(); 

Здесь у меня есть мое решение. Используйте Imagick прямо в вашем php-коде.

Преобразование всех страниц PDF в JPG

  // create Imagick object $imagick = new Imagick(); // Reads image from PDF $imagick->readImage('file.pdf'); // Writes an image $imagick->writeImages('converted.jpg', false); 

Преобразование конкретной страницы PDF в JPG

  // create Imagick object $imagick = new Imagick(); // Read image from PDF $imagick->readImage('test.pdf[0]'); // Writes an image $imagick->writeImages('converted_page_one.jpg'); 

Другой способ справиться с этой проблемой – использовать библиотеку пространственных / pdf-изображений .

Ура!