首页 > 作文

PHP中使用imagick实现把PDF转成图片

更新时间:2023-04-06 20:11:04 阅读: 评论:0

php manual里,对imagick的描述,真的是简洁,每个成员函数,点击打开就看到如下文本:

复制代码 代码如下:

warning

this function is currently not documented; only its argument list is available.

刚才解决了php加载问题后,对图片的处三分钟故事理相当方便,网上随便找了一段:


复制代码 代码如下:

<?php

hekmnader(“content-type: image/jpeg”);

/**

* 缩小图片尺寸.

*

* @param $image 待处理的二进制图片

* @param $width 处理后图片尺寸的宽度(px)

* @param $height 处理后图片尺寸的高度(px)

* @param $crop 是否裁剪图片

*

* @return 处理好的二进制图片

*/

function resize($image, $width, $height不解之迷, $crop)

{

$imagick = new imagick($image);

$w = $imagick->getimagewidth();

$h = $imagick->getimageheight();

if ($w > $width || $h > $height)

{

if ($crop)

{

$imagick->cropthumbnailimage($width, $height);

}

el

{

$imagick->resizeimage($width, $height, imagick::filter_lanczos, 1, true);

}

}

$procesd_image =表白的话真实点的 $imagick->getimageblob();

return $procesd_image;

}

$s=resize(“123.jpg”, 60, 40, 1);

echo $s;

?>

但我要用这个扩展做的,是将pdf转成png。pdf哦!


复制代码 代码如下:

<?php

/**

* pdf2png

* @param $pdf 待处理的pdf文件

* @param $path 待保存的图片路径

* @param $page 待导出的页面 -1为全部 0为第一页 1为第二页

* @return 保存好的图片路径和文件名

*/

function pdf2png($pdf,$path,$p侠之大者为国为民age=-1)

{

if(!extension_loaded(‘imagick’))

{

return fal;

}

if(!file_exists($pdf))

{

return fal;

}

$im = new imagick();

$im->tresolution(120,120);

$im->tcompressionquality(100);

if($page==-1)

$im->readimage($pdf);

el

$im->readimage($pdf.”[“.$page.”]”);

foreach ($im as $key => $var)

{

$var->timageformat(‘png’);

$filename = $path.”/”. md5($key.time()).’.png’;

if($var->writeimage($filename) == true)

{

$return[] = $filename;

}

}

return $return;

}

$path=”images”;//请确保当前目录下有这个文件夹,由于一直要用,所以就不加检测了

$s=pdf2png(“test.pdf”,$path);

$scount=count($s);

for($i=0;$i<$scount;$i++)

{

echo “<div align=center><font color=red>page“.($i+1).”</font><br><a href=\””.$s[$i].”\” target=_blank><img border=3 height=120 width=90 src=\””.$s[$i].”\”></a></div><p>”;

}

?>

跟上面的差不多吧?可是总是不成功,readimage那边异常了,查看错误输出:


复制代码 代码如下:

php fatal error: uncaught exception ‘imagickexception’ with message ‘postscriptdelegatefailed `test.pdf’: no such file or directory’

百度谷歌了好久,最后灵机一动,不是说postscript么?我找,我装。

这个postscript,其实是ghostscript。

装好后,一跑,ok啦!

本文发布于:2023-04-06 20:11:03,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/64f57277c5735a23e59f22ed8be8dd54.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP中使用imagick实现把PDF转成图片.doc

本文 PDF 下载地址:PHP中使用imagick实现把PDF转成图片.pdf

标签:代码   图片尺寸   图片   要用
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图