【发布时间】:2012-06-23 02:36:12
【问题描述】:
我想通过 PHP 将下载的 pdf 文件转换为图像。为此,我使用了 PHP 的 Imagemagick 扩展。问题是,如果我通过 file_get_contents 函数下载 pdf 文件,我无法使用下载的内容创建 Imagemagic 对象。代码如下:
<?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();
}
?>
我收到以下错误:
无法读取文件:%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。
标签: php imagemagick