break-down / pdf-to-image
将PDF转换为图片
0.0.5
2018-08-08 13:34 UTC
Requires
- php: >=5.6.32
- ext-imagick: *
This package is not auto-updated.
Last update: 2024-09-23 16:26:46 UTC
README
A wrapper around Imagick to ease out conversion of PDF file to a JPEG/JPG image.
要求
您应该已经安装了Imagick和Ghostscript。有关Ghostscript的问题,请参见相关问题。
安装
该包可以通过composer安装
$ composer require break-down/pdf-to-image
用法
将PDF转换为图片非常简单。
$pdf = new BreakDown\PdfToImage\PdfToImage(new BreakDown\PdfToImage\Resources\FilePath($pathToPdfFile)); $pdf->savePageAsImage($pageNumber, $pathToWhereImageShouldBeStored);
如果传递给saveImage
的路径具有扩展名jpg
、jpeg
或png
,则图片将以该格式保存。否则,输出将是jpg。
其他方法
您可以获取PDF中的总页数
$pdf->getNumberOfPages(); //returns an int
您可以覆盖输出格式
$pdf->setOutputFormat('png') ->savePageAsImage($pageNumber, $pathToWhereImageShouldBeStored); //the output wil be a png, no matter what
您可以设置压缩质量,从0到100
$pdf->setCompressionQuality(100); // sets the compression quality to maximum
关于Ghostscript的问题
此包通过Imagick使用Ghostscript。为此,Ghostscripts的gs
命令应可以从PHP进程中访问。对于PHP CLI进程(例如Laravel的异步作业、命令等),这通常已经是这种情况。
然而,对于PHP在FPM上(例如在浏览器中运行此包时)您可能会遇到以下问题
Uncaught ImagickException: FailedToExecuteCommand 'gs'
这可以通过在php-fpm.conf
文件末尾添加以下行并重新启动PHP FPM来修复。如果您不确定php-fpm.conf
文件的位置,您可以检查phpinfo()
。
env[PATH] = /usr/local/bin:/usr/bin:/bin
这将指示PHP FPM在正确的位置查找gs
二进制文件。
致谢
许可协议
MIT许可协议(MIT)。请参阅许可文件以获取更多信息。