jamesyapkm / poppler-php
Poppler-utils 的完整、全面且灵活的 PHP 封装器
1.2.1
2023-03-30 07:49 UTC
Requires
- php: >=5.5.9
Requires (Dev)
README
PopplerPhp 是 Poppler-utils 的完整且非常灵活的 PHP 封装器。此包提供给您,以便您可以使用 php 和 poppler-utils 从 PDF 文件中提取内容,并将 PDF 文件转换为以下任何格式
- HTML
- JPG, PNG, TIFF
- PostScript (PS)
- 封装 PostScript (EPS)
- 可缩放矢量图形 (SVG)
- 纯文本
您还可以使用此包在 PHP 脚本中分割 PDF 文件、合并 PDF 文件以及从 PDF 文件中分离嵌入的项目。通过 jamesYapKM\PopplerPhp\PdfInfo
类,您可以查询任何 PDF 文件的元数据。
重要提示
安装
建议通过 Composer 安装 Poppler-PHP。
在您的项目目录中运行此命令
composer require jamesYapKM/poppler-php
或将此行添加到您的 composer.json
{ "jamesYapKM/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 jamesYapKM\PopplerPhp\PdfInfo; use jamesYapKM\PopplerPhp\Config; use jamesYapKM\PopplerPhp\PdfToCairo; use jamesYapKM\PopplerPhp\PdfToHtml; use jamesYapKM\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 许可证。
反馈 & 贡献
通知我任何问题、错误或改进。谢谢 👍