qdev1000/pdf-to-image

dev-main 2021-12-14 04:04 UTC

This package is auto-updated.

Last update: 2024-09-14 10:14:10 UTC


README

Latest Version on Packagist Software License GitHub Workflow 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 联系我们,而不是使用问题跟踪器。

明信片软件

您可以使用此软件包,但如果它进入您的生产环境,我们非常感谢您从您家乡寄给我们明信片,并提及您正在使用我们的哪个软件包。

我们的地址是:Spatie,Kruikstraat 22,2018 安特卫普,比利时。

我们将所有收到的明信片发布在我们的 公司网站上

鸣谢

许可协议

MIT许可协议(MIT)。更多信息请参阅许可文件