ncjoes / poppler-php
Poppler-utils 的完整、全面且灵活的 PHP 封装
Requires
- php: >=5.5.9
- illuminate/config: ^5.3
- illuminate/support: ^5.3
Requires (Dev)
- phpunit/phpunit: 5.5.*
This package is auto-updated.
Last update: 2024-09-17 17:38:28 UTC
README
PopplerPhp 是 Poppler-utils 的一个完整且非常灵活的 PHP 封装。这个包是为了让您能够使用 PHP 和 Poppler-utils 从 PDF 文件中提取内容,并将 PDF 文件转换为以下任何格式而提供的
- HTML
- JPG, PNG, TIFF
- PostScript (PS)
- 封装 PostScript (EPS)
- 可缩放矢量图形 (SVG)
- 纯文本
您还可以使用此包在 PHP 脚本中拆分 PDF 文件、合并 PDF 文件以及从 PDF 文件中分离嵌入项。使用 NcJoes\PopplerPhp\PdfInfo
类,您可以查询任何 PDF 文件的元数据。
重要提示
安装
建议通过 Composer 安装 Poppler-PHP。
在您的项目目录下运行此命令
composer require ncjoes/poppler-php
或将此行添加到您的 composer.json
{ "ncjoes/poppler-php": "0.1.*" }
依赖关系
为了使用 Poppler-PHP,您需要安装 Poppler。根据您的配置,请遵循 http://poppler.freedesktop.org/ 上的说明。您还需要配置您的 PHP 环境以启用 shell 访问。
简要说明:
如果您使用的是 Ubuntu 发行版,只需从 apt 安装即可
sudo apt-get install poppler-utils
对于 Windows 用户
首先在此处下载 Windows 的 poppler-utils: http://blog.alivate.com.au/poppler-windows/。
解压缩下载的存档,并将 bin
目录的内容复制到 your-project-path/vendor/bin/poppler/
。
对于 OS/X 用户
1. 安装 brew
Brew 是 OS/X 上著名的包管理器: https://brew.sh.cn/(aptitude 风格)。
2. 安装 poppler
brew install poppler
用法
这里有一些示例。
<?php // if you are using composer, just use this use NcJoes\PopplerPhp\PdfInfo; use NcJoes\PopplerPhp\Config; use NcJoes\PopplerPhp\PdfToCairo; use NcJoes\PopplerPhp\PdfToHtml; use NcJoes\PopplerPhp\Constants as C; // set Poppler utils binary location Config::setBinDirectory('C:/path-to-project/vendor/bin/poppler'); // set output directory Config::setOutputDirectory('C:/path-to-project/storage/poppler-output'); // get pdf meta-data $pdf = new PdfInfo('path-to-file\file.pdf'); $info = $pdf->getInfo(); //returns an associative array $authors = $pdf->getAuthors(); //...e.t.c. //Convert PDF document to various image formats $cairo1 = new PdfToCairo(__DIR__.'/sources/test1.pdf'); $cairo2 = clone $cairo1; $cairo3 = clone $cairo1; $cairo4 = clone $cairo1; $cairo5 = clone $cairo1; $cairo6 = clone $cairo1; $cairo1->firstPageOnly(); $cairo1->generatePNG(); $cairo2->firstPageOnly(); $cairo2->generateJPG(); //$cairo3->firstPageOnly(); //$cairo3->generateTIFF(); //PDT to TIFF conversion is not working at the moment, hope to fix it soon $cairo4->startFromPage(1)->stopAtPage(1); $cairo4->generatePS(); $cairo5->setPostScriptLevel(C::_LEVEL3)->startFromPage(1)->stopAtPage(1); $cairo5->generateEPS(); $cairo6->startFromPage(1)->stopAtPage(2); $cairo6->generateSVG(); //generate HTML $pdfToHtml = new PdfToHtml(__DIR__.'/tests/sources/test1.pdf'); $pdfToHtml->setZoomRatio(1.8); $pdfToHtml->exchangePdfLinks(); $pdfToHtml->startFromPage(1)->stopAtPage(5); $pdfToHtml->generateSingleDocument(); $pdfToHtml->noFrames(); $pdfToHtml->oddPagesOnly(); $pdfToHtml->outputToConsole(); print_r($pdfToHtml->generate()); //html string ?>
许可证
PopplerPHP 包是开源软件,许可协议为 MIT 许可证。
反馈 & 贡献
通知我任何问题、错误或改进。谢谢 👍