Загрузка ответов о том, как это сделать для командной строки
convert /path/to/file/file.pdf[3] output.jpg
отлично … но что, если я использую в обработке памяти, я создаю PDF с PDFlib, а затем выводю его буфер в функцию, которую я хочу создать предварительный просмотр jpg выбранной страницы. Как? Мой код:
[...] $buf = $pdf->get_buffer(); //$buff is just a PDF stored in a string now. $im = new Imagick(); $im->readimageblob($buf); $im->setImageFormat("jpg"); $im->setimagecompressionquality(60); $len = strlen($im); header("Content-type: image/jpeg"); header("Content-Length: $len"); header("Content-Disposition: inline; filename=test.jpg"); echo $im;
Это создает jpeg, но всегда возвращает последнюю страницу PDF. Я хочу иметь возможность выбрать, какой из них будет преобразован. Это возможно без сохранения временных файлов и использования командной строки (exec('convert /path/to/file/file.pdf[3] output.jpg'))
синтаксис?
Позвольте добавить, что я пробовал
$im->readimageblob($buf[2]);
и это не сработало 🙂