bnbwebexpertise / pdf-to-image
使用 Imagick 扩展将 PDF 转换为图片。由 spatie/pdf-to-image 分支而来
1.2.6
2019-06-13 07:13 UTC
Requires
- php: >=5.5.0
- ext-imagick: *
- smalot/pdfparser: ~0.14
Requires (Dev)
- phpunit/phpunit: 4.*
- scrutinizer/ocular: ~1.1
README
此包提供了一个易于使用的类,用于将 PDF 转换为图片。
要求
您应已安装 Imagick 和 Ghostscript。
安装
此包可以通过 composer 安装。
$ composer require bnbwebexpertise/pdf-to-image
用法
将 PDF 转换为图片非常简单。
$pdf = new Bnb\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
您可以配置自定义设置(其中页面是页码)
$beforeImageReadSettings = function (\Imagick $imagick, $page) { $imagick->setColorspace(\Imagick::COLORSPACE_SRGB); return $imagick; }; $beforeImageWriteSettings = function (\Imagick $imagick, $page) { $imagick->resizeImage(1024, 1024, \Imagick::FILTER_LANCZOS, 0, true); $imagick->setImageColorspace(\Imagick::COLORSPACE_GRAY); return $imagick; }; $pdf = new Pdf($this->testFile, $beforeImageReadSettings, $beforeImageWriteSettings) ->saveImage($pathToWhereImageShouldBeStored); //the output will be resized to a grayscale image with a best-fit dimension of 1024x1024
变更日志
请参阅 CHANGELOG 以获取更多信息。
测试
$ composer test
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 support@bnb.be 报告,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 以获取更多信息。