Я хочу преобразовать файл с нисходящим PDF в изображение через PHP. Для этой цели я использую расширение Imagemagick для PHP. Проблема в том, что если я загружу файл pdf через функцию file_get_contents, я не могу создать объект Imagemagic с этим загруженным контентом. Вот код:Преобразование PDF в изображение с ImageMagick
<?php
$url = "pdf webaddress";
$pdfData = file_get_contents($url);
try
{
$img = new Imagick($pdfData);
$img->setResolution(480,640);
$img->setImageFormat("jpeg");
$img->writeImage("test.jpeg");
}
catch(Exception $e)
{
echo $e->getMessage();
}
?>
Я получаю следующее сообщение об ошибке:
Unable to read the file: %PDF-1.6 %גדֿ׃ 7 0 obj <> endobj 86 0 obj <>/Filter/FlateDecode/ID[]/Index[7 146]/Info 6 0 R/Length 257/Prev 592751/Root 8 0 R/Size 153/Type/XRef/W[1 3 1]>>stream h�bbd
`b
ׁ‘6 ’9DעƒH
Теперь, если я прочитаю в локально сохраненном файле PDF, все работает отлично. Код:
$image = "output.png";
$img = new Imagick("path to pdf file");
$img->setResolution(480,640);
$img->setImageFormat("jpeg");
$img->writeImage("test.jpeg");
Любые предложения, помощь приветствуется.
Вам необходимо прочитать его локально с помощью пути к файлу pdf. PHP работает на сервере, создайте папку для pdf и используйте его для Imagick. – Ryan