一、linux centos安装步骤:

-------------------php73 imagick扩展安装--------------------------
1、需要先安装
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install 'dnf-command(config-manager)'
dnf config-manager --set-enabled powertools2、ImageMagick安装
yum install ImageMagick ImageMagick-devel ImageMagick-perl
convert --version3、php73 imagick扩展安装
#yum --enablerepo=remi install php73-php php73-php-pear php73-php-bcmath php73-php-pecl-jsond-devel php73-php-mysqlnd php73-php-gd php73-php-common php73-php-fpm php73-php-intl php73-php-cli php73-php php73-php-xml php73-php-opcache php73-php-pecl-apcu php73-php-pdo php73-php-gmp php73-php-process php73-php-pecl-imagick php73-php-devel php73-php-mbstring php73-php-zip php73-php-ldap php73-php-imap php73-php-pecl-mcrypt
yum install php73-php-pecl-imagick4、在php.ini中添加
extension=imagick.so
-------------------php73 imagick扩展安装--------------------------

二、windows安装步骤(转载:PHP扩展之 Imagick安装 - 骑着蜗牛闯世界 - 博客园)

个人操作步骤补充:

1、先下载php_imagick扩展,拷贝待php安装目录的ext目录下,修改php.ini文件,extension=imagick

2、下载ImageMagick解压到D盘soft,然后在环境变量中PATH添加D:\soft\ImageMagick\bin

3、重启apache,此时才可以看到php_imagick扩展安装成功

4、下载Ghostscript并安装,我这边的安装目录D:\soft\gs9.53.3,在bin目录下复制gswin64.exe重命名为gs.exe,最后在环境变量中PATH添加D:\soft\gs9.53.3\bin

-----------------------------------------------------------------END----------------------------------------------------------------------------

根据环境下载合适的 imagick扩展 和 imagemagick程序

1.下载拓展
下载地址一: http://windows.php.net/downloads/pecl/releases/imagick/
下载地址二: https://pecl.php.net/package/imagick
要点: 注意对应php版本 ts还是nts x86还是x64
这里以phpinfo()为准

所以我应该下载imagick 3.4.3版本 PHP5.6  Non Thread Safe (NTS) x86 的拓展——php_imagick-3.4.3-5.6-nts-vc11-x86.zip

2. 安装拓展
解压上述文件后,将php_imagick.dll复制到php/ext目录,或者其他你的存放拓展的目录
修改php.ini 加上extension=php_imagick.dll,注意php可能有多个ini,以phpinfo为准
此时复制解压上述文件目录中其他dll到php目录,重启apache,此时phpinfo显示拓展安装成功,但是 ImageMagick number of supported formats为0,到这里成功安装了一半
3 下载imagemagick程序

ImageMagick – Download
下载地址:http://windows.php.net/downloads/pecl/deps/
imagemagick还有官网下载,此处不鼓励从imagemagick官方下载,他们的网站上我并没有找到历史版本下载,安装失败的几率很大
下载与phpinfo提示一致的版本,此时需要注意  1.软件版本对应     2.vc11还是vc14 3.x86还是x64 都要以phpinfo为准,我的

Ghostscript下载地址:
https://www.ghostscript.com/download/gsdnld.html

三、代码(转载:PHP pdf转化为图片(PNG)_ainiaa的专栏-CSDN博客_php把pdf转换为图片)

个人补充:新增解决,部分pdf转换成图片后变成黑白,一页pdf转换成多张黑白的图片

1、先获取pdf的页数

/*** 获取PDF的页数* @param string $path pdf绝对路径* @return int 返回页数*/
function getPageTotal($path){// 打开文件if (!$fp = @fopen($path,"r")) {return false;}else {$max = 0;while(!feof($fp)) {$line = fgets($fp,255);if (preg_match('/\/Count [0-9]+/', $line, $matches)){preg_match('/[0-9]+/',$matches[0], $matches2);if ($max<$matches2[0]) $max=$matches2[0];}}fclose($fp);// 返回页数return (int)$max;}
}

2、单一页转换pdf(添加 $im->setColorspace(Imagick::COLORSPACE_SRGB); //保证pdf彩色)

  for($i=0;$i<$num;$i++){$im->setColorspace(Imagick::COLORSPACE_SRGB); //保证pdf彩色$im->readImage($pdf."[".$i."]"); //设置读取pdf的第一页$im->transformImageColorSpace(Imagick::COLORSPACE_SRGB);$im->setImageColorspace(Imagick::COLORSPACE_SRGB);$name = $i . '-' . time() . '.jpg';$im->setImageFormat('jpg');if ($im->writeImage($path . $name) == true) {$return[] = $name;}}

-----------------------------------------------------------------END----------------------------------------------------------------------------

完整代码:

/*** 获取PDF的页数* @param string $path pdf绝对路径* @return int 返回页数*/
function getPageTotal($path){// 打开文件if (!$fp = @fopen($path,"r")) {return false;}else {$max = 0;while(!feof($fp)) {$line = fgets($fp,255);if (preg_match('/\/Count [0-9]+/', $line, $matches)){preg_match('/[0-9]+/',$matches[0], $matches2);if ($max<$matches2[0]) $max=$matches2[0];}}fclose($fp);// 返回页数return (int)$max;}
}/*** 将pdf文件转化为多张图片* @param string $path 本地路径** @return array|bool* @throws ImagickException*/
function pdfImgMore($path = '')
{$return = [];if (!file_exists($path)) {return false;}//获取pdf文件的页数$num = getPageTotal($path);if($num == 0){return false;}$im = new Imagick();$im->setResolution(150, 150); //设置分辨率 值越大分辨率越高$im->setCompressionQuality(100);//防止pdf生成图片页数不对$filePath = __DIR__."/pdf/";for($i=0;$i<$num;$i++){$im->setColorspace(Imagick::COLORSPACE_SRGB); //保证pdf彩色$im->readImage($path."[".$i."]"); //设置读取pdf的第一页$im->setImageFormat('jpg');$im->setImageBackgroundColor('white');$im->setImageCompose(Imagick::COMPOSITE_ATOP);$name = $i . '-' . time() . '.jpg';$fileName = $filePath.$name;//处理黑色背景问题$blankPage = new Imagick();$blankPage->newPseudoImage($im->getImageWidth(), $im->getImageHeight(), "canvas:white");$blankPage->compositeImage($im, Imagick::COMPOSITE_ATOP, 0, 0);if ($blankPage->writeImage($fileName) == true) {$return[] = "pdf/" . $name;}}$im->clear();$im->destroy();return $return;
}

linux和windows php pdf转图片,扩展安装imagick和ImageMagick相关推荐

  1. Linux、Windows、Mac下Docker的安装与使用

    Linux.Windows.Mac下Docker的安装与使用 一.Linux下的安装 二.Windows与Mac下的安装 三.Docker的使用 一.Linux下的安装 这里以Centos 7为例,首 ...

  2. linux、windows双系统系统盘制作及安装

    linux.windows双系统系统盘制作及安装 一.双系统安装 1.插入u盘重启电脑,电脑启动时按F12 进入bios设置界面(如果把握不好启动时机,可以在重启过程中不断按F2键),会自动进入bio ...

  3. linux与windows 的mab,MAB 文件扩展名: 它是什么以及如何打开它?

    MAB 文件并发症 打开 MAB 文件过程中所遇到的常见问题 缺少 Apache OpenOffice 尝试打开 MAB 文件时,您收到错误 "无法打开 MAB 文件类型". 通常 ...

  4. GNU/Linux与Windows魔兽争霸3局域网对战安装与配置

    我们两台电脑在宿舍里对战魔兽争霸3,配置如下: 我的计算机:Debian GNU/Linux 6 室友计算机:Windows 7 两台电脑通过同一个交换机连接网络,下面描述详细配置过程: 首先在Win ...

  5. Linux与Windows共享文件夹之samba的安装与使用 资源管理器直接查看服务器文件

    安装Samba sudo apt-get install samba 创建共享文件夹 // 创建的目录即之后能够在Windows主机上直接访问的目录. // 例如:在用户gzd的主目录下新建share ...

  6. Win10/Win11下图片扩展安装 HEVC/HEIF/CR2等

    一.安装Microsoft 照片和电影和电视 图像扩展和视频扩展只在微软自己的照片和播放器支持,也就是说对应格式的文件也只能用这俩应用打开. Microsoft 照片https://www.micro ...

  7. 用typescript,javescript实现pdf转图片(二)(Linux系统下)

    先在这里表示一下歉意,我的上一篇我没注意到pdf-poppler目前只支持Windows 和Mac OS,非常之难受啊,所以现在我要提供的时linux系统下面的PDF转图片, 首先先把库摆上:pdf2 ...

  8. PHP将PDF转图片-实战

    Windows环境下 一.开启 Imagick 扩展 1.安装PHP扩展:Imagick,下载地址 https://pecl.php.net/package/imagick 注意和php版本保持一致: ...

  9. Office文档转pdf和图片之NodeJS

    1.安装 libreoffice.x86_64,这个是免费的办公套件​ yum install libreoffice.x86_64 2.安装word转pdf插件:office-to-pdf npm ...

  10. PDF转换图片小工具(高清 、免费、无水印、支持随意页数)

    生活中经常用到PDF转换成图片使用比如发票的PDF文档和工作中的PDF文档,今天刚好有空借着空闲的时间做个PDF转换图片的工具分享给大家. 特点:操作简单,转换速度快 免费.支持文件名自定义 生成路径 ...

最新文章

  1. 每个程序员都应该学习使用Python或Ruby
  2. MySQL存储过程详解 mysql 存储过程
  3. 监控软件nagios错误总结
  4. 【设计模式】责任链模式
  5. 【视频】详解Scala中的类及与Java的详细区别
  6. hadoop等的下载地址
  7. 永不示弱_永不过时的网页设计:今天和2000年的在线投资组合
  8. tuxedo linux 安装
  9. gsonformat java代码_GSONFormat的简单使用
  10. synergy共享屏幕
  11. matlab 短时傅立叶变换,Matlab中短时傅里叶变换 spectrogram和stft的用法
  12. 轻量级云服务器部署K3S(公网部署)
  13. mysql实验视图与索引_视图和索引(数据库实验4)【借鉴实操】
  14. Vue组件嵌套时生命周期函数触发顺序是什么?
  15. jqGrid双击事件,并获取双击行的各个属性值
  16. CityEngine2018正版免费申请试用教程
  17. o在计算机进制中,计算机里的0和1,二进制
  18. Docker | 自定义网络(网关、子网地址)
  19. LES07 :JNI编程
  20. 论文阅读笔记《Fine-tuning Deep Neural Networks in Continuous Learning Scenarios》

热门文章

  1. DotNetBar for WinForms使用教程:图表控件用户指南(一)
  2. android 手势密码 开发,Android自定义控件实现手势密码
  3. 永磁同步电机dq坐标系中转矩公式中系数3/2的由来
  4. 信息化规划、信息化战略规划、信息资源规划、信息化项目规划之间的关系
  5. python 包之 Pygame 游戏开发教程
  6. 【算法竞赛学习笔记】弦图和区间图
  7. GB2312, BIG5, UTF8, Unicode之间的互换
  8. 提交按钮html修改样式,css提交按钮样式
  9. 获取VS2012离线语言包
  10. 制作地图的那些事(二)——制图之符号制作