qdev1000 / pdf-to-image
将PDF转换为图片
Requires
- php: ^7.2|^8.0
Requires (Dev)
- phpunit/phpunit: ^8.0|^9.0
This package is auto-updated.
Last update: 2024-09-14 10:14:10 UTC
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 联系我们,而不是使用问题跟踪器。
明信片软件
您可以使用此软件包,但如果它进入您的生产环境,我们非常感谢您从您家乡寄给我们明信片,并提及您正在使用我们的哪个软件包。
我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。
我们将所有收到的明信片发布在我们的 公司网站上。
鸣谢
许可协议
MIT许可协议(MIT)。更多信息请参阅许可文件。