PHP实现PDF转图片的详细过程(使用imagick)

 更新时间:2023年01月13日 15:28:32   作者:JSON_L  
最近有一份pdf文件,需要将其转换成图片,所以这篇文章主要给大家介绍了关于PHP实现PDF转图片的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

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转图片成功实现,因为只有一页,如果是多页则是多张图片。 

总结

到此这篇关于PHP实现PDF转图片的文章就介绍到这了,更多相关PHP PDF转图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PHP图像识别技术原理与实现

    PHP图像识别技术原理与实现

    本篇文章主要介绍了PHP图像识别技术原理与实现,这个平时做的密码验证有异曲同工之处,有需要的可以了解一下。
    2016-10-10
  • PHP内存溢出优化代码详解

    PHP内存溢出优化代码详解

    这篇文章主要介绍了PHP内存溢出优化代码详解,文中指出内存溢出原因和优化方法,有感兴趣的同学可以借鉴参考下
    2021-02-02
  • GD库实现webp转换jpg的PHP程序

    GD库实现webp转换jpg的PHP程序

    PHP程序来执行webp格式转换成jpg格式有几种方法:一是安装imagemagick实现,二是安装GD库实现,可以直接用dwebp命令,本文我们将介绍使用PHP的图像处理库GD,编写一个简单的PHP程序来完成这个任务
    2024-03-03
  • php redis setnx分布式锁简单原理解析

    php redis setnx分布式锁简单原理解析

    这篇文章主要介绍了php redis setnx分布式锁简单原理解析,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

    如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )

    这篇文章主要介绍了如何批量清理系统临时文件(C# C/C++ php python java )的相关资料,需要的朋友可以参考下
    2016-02-02
  • 浅析THINKPHP的addAll支持的最大数据量

    浅析THINKPHP的addAll支持的最大数据量

    这篇文章主要介绍了THINKPHP的addAll支持的最大数据量,需要的朋友可以参考下
    2015-02-02
  • 使用YUI+Ant 实现JS CSS压缩

    使用YUI+Ant 实现JS CSS压缩

    YUI库是一组工具和控件,它们用JavaScript写成, 为的是用DOM 脚本,DHTML和AJAX等技术创建丰富的网页交互式应用程序。YUI 基于BSD协议,对所有的使用方式都是免费的。YUI 项目包括YUI 库和两个创建时工具:YUI Compressor (压缩)和YUI Doc(JavaScripts代码的文档引擎)
    2014-09-09
  • 解决Laravel无法使用COOKIE和SESSION的问题

    解决Laravel无法使用COOKIE和SESSION的问题

    今天小编就为大家分享一篇解决Laravel无法使用COOKIE和SESSION的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Laravel基础_关于view共享数据的示例讲解

    Laravel基础_关于view共享数据的示例讲解

    今天小编就为大家分享一篇Laravel基础_关于view共享数据的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • 使用PHP如何实现高效安全的ftp服务器(一)

    使用PHP如何实现高效安全的ftp服务器(一)

    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务,本文给大家介绍使用PHP如何实现高效安全的ftp服务器(一),对php ftp服务器相关知识感兴趣的朋友一起学习吧
    2015-12-12

最新评论