sprintechnology / pdf-to-image
将PDF转换为图片
Requires
- php: ^7.0
- ext-imagick: *
Requires (Dev)
- phpunit/phpunit: ^6.2
README
该包提供了一个易于使用的类,用于将PDF转换为图片。
Spatie 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述 这里。
要求
您应已安装 Imagick 和 Ghostscript。有关Ghostscript的问题,请参阅 此处。
安装
该包可以通过composer安装
$ composer require spatie/pdf-to-image
使用方法
将PDF转换为图片非常简单。
$pdf = new Spatie\PdfToImage\Pdf($pathToPdf); $pdf->saveImage($pathToWhereImageShouldBeStored);
如果传递给saveImage
的路径具有jpg
、jpeg
或png
扩展名,则图片将保存为该格式。否则,输出将是jpg。
其他方法
您可以获取PDF中的总页数
$pdf->getNumberOfPages(); //returns an int
默认情况下,将渲染PDF的第一页。如果您想渲染另一页,可以这样做
$pdf->setPage(2) ->saveImage($pathToWhereImageShouldBeStored); //saves the second page
您可以覆盖输出格式
$pdf->setOutputFormat('png') ->saveImage($pathToWhereImageShouldBeStored); //the output wil be a png, no matter what
您可以将压缩质量设置为从0到100
$pdf->setCompressionQuality(100); // sets the compression quality to maximum
关于Ghostscript的问题
此包通过Imagick使用Ghostscript。为此,Ghostscript的gs
命令应可以从PHP进程访问。对于PHP CLI进程(例如,Laravel的异步作业、命令等),这通常已经如此。
但是,对于PHP FPM(例如,当在此包“在浏览器中”运行时)您可能会遇到以下问题
Uncaught ImagickException: FailedToExecuteCommand 'gs'
这可以通过在您的php-fpm.conf
文件末尾添加以下行并重新启动PHP FPM来修复。如果您不确定php-fpm.conf
文件的位置,可以检查phpinfo()
。如果您使用Laravel Valet,则php-fpm.conf
文件将位于/usr/local/etc/php/YOUR-PHP-VERSION
目录中。
env[PATH] = /usr/local/bin:/usr/bin:/bin
这将指示PHP FPM在正确的位置查找gs
二进制文件。
测试
$ composer test
更新日志
请参阅 CHANGELOG 了解最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全性
如果您发现任何安全问题,请通过电子邮件freek@spatie.be而不是使用问题跟踪器。
Postcardware
您可以自由使用此包,但如果它进入了您的生产环境,我们非常感谢您从您的家乡给我们寄一张明信片,说明您正在使用我们哪个包。
我们的地址是:Spatie,Samberstraat 69D,2060 安特卫普,比利时。
我们将所有收到的明信片发布在我们的公司网站上 这里。
致谢
支持我们
Spatie 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述 这里。
您的业务是否依赖于我们的贡献?通过 Patreon 联系我们并支持我们。所有承诺都将致力于分配人力以维护和新奇的事物。
许可证
MIT许可证(MIT)。请参阅 许可证文件 了解更多信息。