windows下php7.4安装imagick、ImageMagick、GhostScript实现pdf转图片
实现word转pdf->pdf转图片->对转换后的图片处理完成后再生成pdf功能。
本地windows开发环境配置方式:
- 查看
phpinfo
确定需下载的imagick
扩展类型,下载地址为:https://windows.php.net/downloads/pecl/releases/imagick
考虑到ImageMagick
官网不支持历史版本下载,imagick
扩展优先使用高版本,确保两者版本一致。
实际下载为:https://windows.php.net/downloads/pecl/releases/imagick/3.7.0/php_imagick-3.7.0-7.4-ts-vc15-x64.zip
- 将下载后的文件解压
php_imagick.dll
按常规扩展安装方式复制到ext
文件夹,同时需将CORE_RL_*
文件复制到apache
目录下的bin
目录中,php.ini添加extension=imagick
。重启apache
后phpinfo
中显示imagick
扩展已安装。 - 但
ImageMagick supported formats
中显示为0,按Imagick compiled with ImageMagick version
中提示的对应版本下载ImageMagick
。
实际下载为:https://windows.php.net/downloads/pecl/deps/ImageMagick-7.1.0-18-vc15-x64.zip
解压后将bin
目录添加到系统环境变量。 - 重启电脑
- 查看
phpinfo
是否正常或php –ri imagick
- 安装
GhostScript
,建议选择php_imagick.dll
发布日期与GhostScript
发布版本日期相近的版本。程序安装后默认自动添加到环境变量中。
实际下载为:https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9561/gs9561w64.exe
linux下:
cd /usr/local/src/
wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/ghostpdl-10.01.1.tar.gz
tar zxvf ghostpdl-10.01.1.tar.gz
cd ghostpdl-10.01.1
./configure
make
make install
ln -s /usr/local/bin/gs /usr/bin/gs
gs -v
- 安装
tecnickcom/tcpdf
实现图片转pdf;安装spatie/pdf-to-image
实现pdf转图片;
演示代码:
<?php
/**
* Desc:
* User: SenSen Wechat:1050575278
* Date: 2022/05/09
* Time: 10:18
*/
namespace app\index\controller;
use Spatie\PdfToImage\Pdf;
class Test extends Auth
{
/**
* pdf转img
*/
public function pdf2img()
{
$pdf = new Pdf(root_path().'public/uploads/tmp/test.pdf');
$pdf->setCompressionQuality(80);
$pdf->saveAllPagesAsImages(root_path().'public/uploads/tmp');
echo $pdf->getNumberOfPages();
}
/**
* img转pdf
*/
public function img2pdf()
{
$pdf = new \TCPDF();
$pdf->SetMargins(0, 0, 0);
$pdf->SetAutoPageBreak(false, 0);
$pdf->setPrintFooter(false);
$pdf->setPrintHeader(false);
for ($i=1; $i<=3; $i++){
$pdf->AddPage();
$img_file = root_path().'public/uploads/tmp/'.$i.'.jpg';
$pdf->Image($img_file, 0, 0, 210, 297, '', '', '', false, 300, '', false, false, 0);
}
$pdf->Output("img2pdf.pdf", 'D');
}
}
ghostscript文档:https://ghostscript.readthedocs.io/en/latest/
附件下载:
ImageMagick-7.1.0-18-vc15-x64.zip
php_imagick-3.7.0-7.4-ts-vc15-x64.zip