首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Imagick多页PDF到JPG致命错误

Imagick多页PDF到JPG致命错误
EN

Stack Overflow用户
提问于 2016-08-03 10:34:29
回答 1查看 780关注 0票数 1

不起作用的

  • 将文件名-多页PDF PDF文件转换为JPG
  • 将文件名-多页PDF PDF文件转换为JPG

致命错误:默认异常'ImagickException‘与消息'Postscript委托失败’/path/to/filename-多页pdf.c‘:没有这样的文件或目录@ error/pdf.c/ReadPDFImage/664’在.

当我用fopen在webs上找到一个解决方案时,然后使用fopen句柄的readImageFile:

致命错误:带有消息'Postscript委托失败‘/tmp/magick-rGGsdy9f’的未命名异常'ImagickException‘:没有这样的文件或目录@ error/pdf.c/ReadPDFImage/664’

什么起作用:

  • 将文件名-多页PDF 1 PDF文件转换为JPG (第二页)
  • 将文件名-单页PDF转换为JPG /list

使用的PHP代码:

代码语言:javascript
运行
复制
<?php

  // this does work for a single page file
  // it does NOT work for multiple page file
  // it does NOT work when using pdffile.pdf[0]
  // it DOES work when using pdffile.pdf[1]

  $filename = '/path/to/pdffile.pdf';  
  $im = new Imagick();
  $im->readImage($filename);
  $im = $im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
  $im->scaleImage(150, 150, true);
  $im->writeImage('/path/to/image/pdffile.jpg');
?>


<?php
  // i used alternative code which gave me the second /tmp/ dir error (see above)

  $filename = '/path/to/pdffile.pdf';    
  $pdf_handle = fopen($filename, 'rb');
  $doc_preview = new Imagick();
  $doc_preview->setResolution(150,150);
  $doc_preview->readImageFile($pdf_handle);
  $doc_preview->setIteratorIndex(0);
  $doc_preview->setImageFormat('jpeg');
  $doc_preview->writeImage('/path/to/image/pdffile.jpg');
  $doc_preview->clear();
  $doc_preview->destroy();

?>

通过宿主提供程序安装模块

  • ImageMagick v6.7.2.7-5
  • Ghostscript 8.70

有人知道该怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-15 07:47:59

经过一些研究,我发现主机提供商没有安装最近的版本。经过几天的测试和调试,他们成功地安装了最新的版本,现在一切都正常了。我文章中的代码很好,可以供其他人使用:)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38741131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档