开发环境
windows 10
PHP 8.0
Ghostscript(ImageMagick 依赖 Ghostscript 处理 PDF,后面有安装方法)
PHP Imagick 扩展(后面有安装方法)
代码示例
目录结构
lua
www 根目录
├─output 图片输出目录
├─index.php 核心文件
├─input.pdf PDF文件
核心代码
php
<?php
$pdfPath = 'input.pdf';
$outputDir = 'output/';
if (!file_exists($outputDir)) {
mkdir($outputDir, 0777, true);
}
$imagick = new Imagick();
$imagick->setResolution(300, 300); // 设置分辨率
$imagick->readImage($pdfPath);
$imagick->setImageFormat('PNG');
foreach ($imagick as $page) {
$page->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
$page->writeImage($outputDir . 'page_' . $page->getIteratorIndex() . '.png');
}
$imagick->clear();
echo "转换完成!";
运行测试
在项目根目录下打开命令行,执行以下命令:
bash
php index.php
执行成功后,命令行输出"转换完成!",且 output 目录下生成 page_0.png、page_1.png 等图片。
安装 Ghostscript
下载页
arduino
https://www.ghostscript.com/releases/gsdnld.html
下载链接
bash
https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10050/gs10050w64.exe

双击 gs10050w64.exe
安装 Ghostscript,根据提示重启电脑。
打开命令行,输入 gswin64c -v
如果显示以下信息证明安装成功

安装 PHP 的 Imagick 扩展
perl
https://pecl.php.net/package/imagick
本地 PHP 使用版本为 php8.0.2nts,选择 Imagick 扩展对应版本进行下载
bash
https://downloads.php.net/~windows/pecl/releases/imagick/3.8.0/php_imagick-3.8.0-8.0-nts-vs16-x64.zip


解压后,把 php_imagick.dll
复制到 PHP 扩展目录 ext(D:\phpstudy\Extensions\php\php8.0.2nts\ext)
把其他的 *.dll
复制到 PHP 根目录(D:\phpstudy\Extensions\php\php8.0.2nts)
打开 php.ini
文件,添加一行
ini
extension=php_imagick
命令行输入 php -m
,存在 imagick 证明安装成功;或者编写代码,使用 phpinfo(); 查看已安装的扩展。