1
我需要将多页PDF转换为将在浏览器中显示的一系列PNG。imagick error将pdf转换为png:Postscript委托失败`/ tmp/magick-bpkD9zy7':@ error/pdf.c/ReadPDFImage/663
此代码:
$images = new imagick();
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}
但它产生的这种质量较差,他们几乎是不可读的PNG图像。
此代码:
$images = new imagick();
$images->setresolution(1024,0);
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}
生成在readimage以下错误():
Postscript delegate failed `/tmp/magick-bpkD9zy7': @ error/pdf.c/ReadPDFImage/663
我需要能够栅格化PDF在比imagick默认更高的分辨率,以获得良好的足够的质量能够读取PNG。任何帮助将不胜感激。
编辑 - 下面是解 - 由于SITES DONE RIGHT
$images = new imagick();
$images->setimageunits(RESOLUTION_PIXELSPERINCH);
$images->setresolution(150,150);
$images->readimage($_FILES['upload']['tmp_name']);
$images->setformat('png');
foreach ($images as $pageNumber => $image) {
//Save individual images
}
这是我写的用于我的项目之一将PDF转换为一组图像的命令。 'convert -colorspace rgb -units PixelsPerInch -density 200x200 -resize 768x1024 -quality 90 my_pdf_file.pdf my_images_output.jpg''我想如果你使用exec函数,它可以像PHP那样运行。另外请注意,正如你所看到的,我正在创建JPG,因此对于PNG,它将不得不进行一些修改! – 2013-02-13 21:29:56
我欣赏这个建议,但我无法使用它。我遇到的问题是,如果在阅读PDF之前设置了_any_参数,我会得到上述错误。 – 2013-02-14 14:34:16
网站已完成 - 我明白您的意思了!我将PixelsPerInch设置为1024,这导致我在临时目录中耗尽空间。 – 2013-02-14 14:50:00