广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP+ImageMagick如何将PDF转成图片
  • 708
分享到

PHP+ImageMagick如何将PDF转成图片

2023-06-26 17:06:15 708人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关PHP+ImageMagick如何将pdf转成图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。           &nbs

这篇文章将为大家详细讲解有关PHP+ImageMagick如何将pdf转成图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

                           

ImageMagick安装

ImageMagick是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色替换、各种效果的应用,图片的旋转、组合,文本,直线,多边形,椭圆,曲线,附加到图片伸展旋转。ImageMagick是免费软件:全部源码开放,可以自由使用,复制,修改,发布,它遵守GPL许可协议,可以运行于大多数的操作系统,ImageMagick的大多数功能的使用都来源于命令行工具

php中要使用ImageMagick,需要安装imagick扩展,imagickgd扩展类似,主要用于图像处理,但是imagick的功能更强大。下面简单介绍imagick在两种常用环境中的安装方法。

Centos 7中安装

在CentOS中可以直接使用Yum进行安装,除了安装ImageMagick,还要安装它的两个依赖ImageMagick-develImageMagick-perl

yum install -y ImageMagick ImageMagick-devel ImageMagick-perl

接着使用pecl安装扩展。找到PHP安装目录下的pecl,例如PHP安装在/usr/local/php74目录中,则pecl一般在/usr/local/php74/bin目标中,执行命令:

/usr/local/php74/bin/pecl install imagick

即可使用pecl自动下载并安装ImageMagick,最后在php.ini中添加

extension=imagick.so

即可启用扩展。

如果你需要检查一下扩展有没有安装成功,可以执行一下命令

php -m|grep imagick

如果输出imagick,说明扩展安装成功。


题外话 :如果你不知道PHP使用的是哪个php.ini配置文件,可以执行一下以下命令

php74 -i|grep ini

找到”Loaded Configuration File”那行,就知道PHP使用的是哪个配置文件了。php -i命令
作用类似于我们使用phpinfo()函数查看PHP的相关信息。


Docker安装

容器中的PHP安装扩展,推荐使用GitHub上的docker-php-extension-installer,这是一个shell脚本,可以帮我们解决扩展的依赖问题,安装扩展后还会自动清除没用的文件。我们只需要在Dockerfile中加入这个脚本即可,下面是官方的示例:

FROM php:7.2-cli# 从github上下载docker-php-extension-installer脚本ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/# 添加可执行权限并安装扩展RUN chmod +x /usr/local/bin/install-php-extensions && \    install-php-extensions gd xdebug imagick

这样构建出来的镜像就安装好所需要的扩展了。


题外话:在国内网络环境下,使用docker-php-extension-installer安装扩展经常会出现超时问题,建议使用外网的VPS构建镜像,上传到DockerHub或者其它私有仓库后,再拉到本地网络使用。可使用便宜的良心云,或者Vultr这种支持按时计费的VPS。


PDF转图片

代码示例:

// 实例化imagick对象$im = new imagick();$im->setResolution(150, 150);$im->setCompressionQuality(100);$im->readImageBlob($fileContent);$im->setImageFORMat('jpg');$im->setImageBackgroundColor('white');$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);header("Content-type: image/jpeg");echo $im->getImageBlob();

代码解读:

$im->setResolution(150, 150);

用于设置图像的分辨率。这个函数并不改变图像的实际分辨率,只是在读取或创建图像之前将其设置在Imagick对象中,这个函数需要在读取图像或创建图像之前调用。
这个函数接收两个参数,分别是横向分辨率和纵向分辨率,默认值是72*72。为了保持图像的宽高比,这两个参数值应该一样,默认值转换出来的图像不够清晰,建议使用两倍或三倍值,但同时图片的大小也会变大。


$im->setCompressionQuality(100);

设置图像的压缩质量,默认值为0;传入的参数值应为1-100,对于JPG格式图片,值越小,图像体积越小,同时清晰度也较低;但是对于PNG图片,这个结论貌似不成立,当值小于90时,图片体积反而越大,所以在转换为PNG图片格式时,保持默认值即可。


$im->readImageBlob($fileContent);

直接加载PDF文件的二进制内容,也可以使用readImage($filename)函数读取保存好的PDF文件。


$im->setImageFormat('jpg');

设置要生成的图像的格式,如jpg,png等,


$im->setImageBackgroundColor('white');$im->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);$im->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);

设置图像背景色为白色,去掉图像的alpha通道,将所有图像合并为一层,如果不执行这些操作,转换出来的图像背景会是黑色的,如下图:

PHP+ImageMagick如何将PDF转成图片


header("Content-type: image/png");echo $im->getImageBlob();

获取转换生成图像的二进制数据,输出到客户端供下载;如果需要保存到文件,可以使用writeImage($filename)函数。

php有什么特点

1、执行速度快。2、具有很好的开放性和可扩展性。3、PHP支持多种主流与非主流的数据库。4、面向对象编程:PHP提供了类和对象。5、版本更新速度快。6、具有丰富的功能。7、可伸缩性。8、功能全面,包括图形处理、编码与解码、压缩文件处理、xml解析等。

关于“PHP+ImageMagick如何将PDF转成图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: PHP+ImageMagick如何将PDF转成图片

本文链接: https://www.lsjlt.com/news/308871.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP+ImageMagick如何将PDF转成图片
    这篇文章将为大家详细讲解有关PHP+ImageMagick如何将PDF转成图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。           &nbs...
    99+
    2023-06-26
  • 使用Python将PDF转换成图片
        必须在Linux环境下,使用到的环境和工具:CentOS7+Python3.6+pdf2image+poppler        首先要在系统中安装poppler,这是一个用于呈现可移植文档格式(PDF)文档的免费软件实用程序库一、...
    99+
    2023-01-31
    转换成 图片 Python
  • Python怎么将pdf转为图片?Python如何实现pdf文件转图片
    而pdf则是用来保存一些内容已经确定好的数据,因为pdf是无法直接修改内容的,所以也会经常将pdf转为图片来保存。本文就将会来介绍一下pdf转图片的方法,往下看看吧。 1.pdf转图片的话主要实现所需要的模块叫做PyMuPDF,它就是用来...
    99+
    2023-09-02
    python Powered by 金山文档
  • php如何将html转换成pdf
    本文操作环境:windows10系统、php 7、thinkpad t480电脑。要将html转成pdf其实有很多种办法,比如我们可以使用html2pdf、mpdf、dompdf和tcpdf等方法。这四种开源库我们都可以使用composer...
    99+
    2021-02-24
    php html pdf
  • php如何将内容转换成图片
    这篇文章主要介绍php如何将内容转换成图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php将内容转换成图片的方法:1、通过正则提取出dataurl存储所需的数据,然后直接展示在页面上;2、用substr和strp...
    99+
    2023-06-20
  • php将图片的base64串 转成 图片文件
    要将图片的base64串转成图片文件,可以使用以下代码:```php```将`$base64_string`替换成实际的图片base...
    99+
    2023-09-13
    php
  • python小脚本——批量将PDF文件转换成图片
    语言:python 3 用法:选择PDF文件所在的目录,点击 确定 后,自动将该目录下的所有PDF转换成单个图片,图片名称为:   pdf文件名.page_序号.jpg 如运行中报错,需要自行根据报错内容按照缺失的库 例如: #安装库pip...
    99+
    2023-09-10
    python
  • Java如何实现将PDF转为图片格式
    本文小编为大家详细介绍“Java如何实现将PDF转为图片格式”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现将PDF转为图片格式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。代码编译环境Intel...
    99+
    2023-07-05
  • php中怎么将jpg图片转换成png图片
    这篇文章将为大家详细讲解有关php中怎么将jpg图片转换成png图片,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。php jpg转换成png图片的方法:首先安装php扩展gd和exif;然后...
    99+
    2023-06-20
  • 如何将HTML转换成PDF
    HTML转换成PDF:工具、用途、优缺点HTML(Hypertext Markup Language)是一种标记语言,用于创建和排版网页等电子文档。而PDF(Portable Document Format)则是由Adobe公司开发的一种电...
    99+
    2023-05-14
  • vue如何将页面转成图片
    这篇文章主要介绍了vue如何将页面转成图片的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue如何将页面转成图片文章都会有所收获,下面我们一起来看看吧。随着前端开发的快速发展,现在越来越多的人开始注重如何将前端...
    99+
    2023-07-05
  • html5如何将图片转换成base64
    这篇文章给大家分享的是有关html5如何将图片转换成base64的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。base64编码介绍base64是一种网络上常用的8bit字节代码的...
    99+
    2022-10-19
  • 怎么在php中将图片转成base64
    这篇文章将为大家详细讲解有关怎么在php中将图片转成base64,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。利用PHP将图片转换成base64编码的实现方法相信大家都知道Base64是网络...
    99+
    2023-06-15
  • php如何将word文档转成PDF文件
    本文小编为大家详细介绍“php如何将word文档转成PDF文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将word文档转成PDF文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。第一步:安装和配置...
    99+
    2023-07-05
  • php如何将ppt转jpg图片
    本篇内容介绍了“php如何将ppt转jpg图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP将ppt转成图片查看PHP安装COM组件1...
    99+
    2023-06-20
  • JAVA中如何使用openoffice将Excel转PDF再转图片功能
    这篇文章主要为大家展示了“JAVA中如何使用openoffice将Excel转PDF再转图片功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JAVA中如何使用openoffice将Excel转...
    99+
    2023-06-22
  • PHP如何实现PDF转换成图片时保留字体颜色
    这篇文章主要讲解了“PHP如何实现PDF转换成图片时保留字体颜色”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何实现PDF转换成图片时保留字体颜色”吧!一、为什么PDF转图片会改变字...
    99+
    2023-07-05
  • pdf如何转换成cad图纸
    pdf转换成cad图纸步骤:1、选择合适的转换工具;2、将需要转换的PDF文件准备好;3、打开选择的转换工具,并在界面中找到“打开”或“导入”选项,然后选择要转换的PDF文件;4、在转换工具中,根据需要,调整这些选项以获得最佳的转换结果;5...
    99+
    2023-08-17
  • php excel如何转换成pdf
    这篇文章主要介绍“php excel如何转换成pdf”,在日常操作中,相信很多人在php excel如何转换成pdf问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php excel如何转换成pdf”的疑惑有所...
    99+
    2023-06-20
  • 如何将php页面转为图片格式
    这篇文章主要介绍了如何将php页面转为图片格式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何将php页面转为图片格式文章都会有所收获,下面我们一起来看看吧。步骤1:安装和启用GD扩展首先,您需要确保已经安装...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作