sprintechnology/pdf-to-image

将PDF转换为图片

1.8.1 2018-07-02 09:30 UTC

README

Latest Version on Packagist Software License Build Status Quality Score StyleCI Total Downloads

该包提供了一个易于使用的类,用于将PDF转换为图片。

Spatie 是一家位于比利时安特卫普的网页设计公司。您可以在我们的网站上找到所有开源项目的概述 这里

要求

您应已安装 ImagickGhostscript。有关Ghostscript的问题,请参阅 此处

安装

该包可以通过composer安装

$ composer require spatie/pdf-to-image

使用方法

将PDF转换为图片非常简单。

$pdf = new Spatie\PdfToImage\Pdf($pathToPdf);
$pdf->saveImage($pathToWhereImageShouldBeStored);

如果传递给saveImage的路径具有jpgjpegpng扩展名,则图片将保存为该格式。否则,输出将是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)。请参阅 许可证文件 了解更多信息。