PHP实现PDF转图片的详细过程(使用imagick)
作者:JSON_L 时间:2023-09-07 13:27:34
1.环境配置:
2.实现原理:
Php使用扩展插件imagick进行图片处理,处理pdf时使用imagick去调用ghostscript
3.安装php扩展imagick
imagick是一个PHP扩展,调用的是ImageMagick提供API来进行图片的创建与修改。
我这里直接使用宝塔面板安装的,比较简单。
也可以使用源码安装。
Php > 安装扩展 > imagemagick > 安装
安装完成
命令窗口测试
php --ri imagick
4.安装ghostscript
ghostscript一款图像浏览工具,这款软件适用于Unix、Mac OS X、VMS、Windows、OS/2和Mac OS classic等操作系统的使用。Ghostscript中文版能够查看以及打印PS、EPS、PDF格式的文件
安装命令很简单
yum install ghostscript
当没有安装ghostscript 直接使用,报错:
5.pdf转图片
功能代码
/**
* 将pdf文件转化为多张png图片
*/
function pdfToPng()
{
$pdf = 'https://solveset.oss-cn-beijing.aliyuncs.com/1671686912.pdf';
$path = public_path('uploads/');
$im = new \Imagick();
$im->setResolution(120, 120); //设置分辨率 值越大分辨率越高
$im->setCompressionQuality(100);
$im->readImage($pdf);
$return = [];
foreach ($im as $k => $v) {
$v->setImageFormat('png');
$fileName = $path . md5($k . time()) . '.png';
if ($v->writeImage($fileName) == true) {
$return[] = $fileName;
}
}
print_r($return);
}
返回结果:
打开图片
Pdf转图片成功实现,因为只有一页,如果是多页则是多张图片。
来源:https://blog.csdn.net/json_ligege/article/details/128413937
标签:php,pdf,图片
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python脚本开发漏洞的批量搜索与利用(GlassFish 任意文件读取)
2023-01-30 20:08:36
![](https://img.aspxhome.com/file/2023/1/93611_0s.png)
python 获取文件列表(或是目录例表)
2021-06-27 20:14:24
XML与HTML的结合(下)
2008-09-05 17:20:00
利用canvas实现的加载动画效果实例代码
2023-06-29 22:49:51
![](https://img.aspxhome.com/file/2023/1/55891_0s.gif)
SQL Server的BUILTIN\\Administrators用户
2009-02-04 13:51:00
浅谈mysql中多表不关联查询的实现方法
2024-01-14 21:29:21
在 Linux/Mac 下为Python函数添加超时时间的方法
2023-08-17 14:27:12
![](https://img.aspxhome.com/file/2023/9/103169_0s.jpg)
python删除文件、清空目录的实现方法
2021-06-02 02:53:06
js遍历详解(forEach, map, for, for...in, for...of)
2024-04-29 13:20:06
python贪吃蛇游戏代码
2023-07-22 04:19:17
![](https://img.aspxhome.com/file/2023/3/60493_0s.jpg)
安装MySQL的步骤和方法
2009-07-30 08:38:00
![](https://img.aspxhome.com/file/UploadPic/20097/30/20097309429851s.gif)
SpringBoot集成内存数据库Sqlite的实践
2024-01-15 10:24:11
![](https://img.aspxhome.com/file/2023/4/77474_0s.png)
python 进程池pool使用详解
2022-02-13 03:42:52
![](https://img.aspxhome.com/file/2023/8/105228_0s.gif)
详解python中的数据类型和控制流
2022-08-11 14:32:50
Golang中的参数传递示例详解
2024-05-08 10:51:33
![](https://img.aspxhome.com/file/2023/8/127368_0s.png)
MySQL最新漏洞分析
2012-07-11 15:41:10
Web 2.0 框架发布
2008-03-25 09:40:00
![](https://img.aspxhome.com/file/UploadPic/20083/25/200832595359766s.jpg)
深入了解和应用Python 装饰器 @decorator
2024-01-02 09:20:05
![](https://img.aspxhome.com/file/2023/2/72152_0s.jpg)
Python tkinter三种布局实例详解
2022-11-28 11:23:44
![](https://img.aspxhome.com/file/2023/7/86417_0s.jpg)
Python中使用socks5设置全局代理的方法示例
2021-05-24 01:51:17
![](https://img.aspxhome.com/file/2023/8/98798_0s.jpg)