【问题标题】:How to convert .pdf file to .png using Imagemagick PHP API如何使用 Imagemagick PHP API 将 .pdf 文件转换为 .png
【发布时间】:2011-04-19 11:42:25
【问题描述】:

我想使用 Imagemagick php API 将 .pdf 文件转换为 .png 文件。

我们可以在 shell 中使用这个:

$convert sample.pdf sample_image.png

我们可以使用 php exec() 函数发出此命令,但由于某种原因(安全),我禁用了使用 php 执行 shell 命令。

所以现在告诉我如何在不使用 php exec() 函数的情况下将我的 .pdf 文件转换为 .png 文件的解决方案?

关于这个here还有另一个讨论,但不是很清楚。

【问题讨论】:

    标签: php imagemagick imagick


    【解决方案1】:

    你一定已经安装了 php5-imagick

    $myurl = 'filename.pdf['.$pagenumber.']';
    $image = new Imagick($myurl);
    $image->setResolution( 300, 300 );
    $image->setImageFormat( "png" );
    $image->writeImage('newfilename.png');
    

    【讨论】:

    • 这对我很有用,除了它在 writeImage 中引发异常。 header("内容类型图片/png");回声$图像;解决问题。
    • 我没有任何想法了。 ImageMagick 6.8.8-9 已安装,但我没有从我的 pdf 中获得任何图像。如果我将$myurl = 'filename.pdf['.$pagenumber.']' 更改为图像,我会得到一个名为$image->writeImage('newfilename.png'); 的新图像,正如预期的那样。但是我从我的pdf中什么也没得到。也许有人有任何想法可能会出错。
    • 看图前需要先设置分辨率。仅供参考。
    • setResolution() 必须在文件读取之前使用,因此在Imagic初始化后使用readImage()按$image = new Imagick(); $image->setResolution( 30, 30); $image->readImage($myurl); 的顺序获取文件
    【解决方案2】:

    但由于某种原因(安全),我禁用了使用 php 执行 shell 命令

    您要么需要重新启用 shell 命令的执行,要么安装ImageMagick PHP extension。安装方法见here

    【讨论】:

    • ImageMagick PHP 扩展已经安装,但我需要一些简单的示例代码来解决我的问题,所以请用 PHP 代码示例进行解释。
    猜你喜欢
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    • 2018-03-16
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多