eprofos / php-wkhtmltopdf
一个PHP库,用于使用wkhtmltopdf将HTML转换为PDF,具有广泛的定制选项。
0.1.0
2024-05-28 08:47 UTC
Requires
- php: >=7.4
- symfony/process: 5.4
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.57
- phpunit/phpunit: ^9.6
README
一个PHP库,使用wkhtmltopdf命令行工具将HTML转换为PDF,具有广泛的定制选项。
安装
您可以通过composer安装此包
composer require eprofos/php-wkhtmltopdf
注意
此包需要在您的系统上安装wkhtmltopdf二进制文件。您可以从各自的操作系统官方网站下载。
使用方法
以下是一个基本示例,说明如何使用此库
use Eprofos\PhpWkhtmltopdf\WKHtmlToPdf; $wkhtmltopdf = new WKHtmlToPdf('/path/to/wkhtmltopdf'); $wkhtmltopdf->addPage('https://example.com') ->setPageSize('A4') ->setOrientation('Portrait') ->setGrayscale(true) ->setZoom(0.75) ->generate('output.pdf');
这将根据https://example.com的HTML内容生成名为output.pdf的PDF文件,并具有以下选项
- 页面大小:A4
- 方向:纵向
- 灰度:启用
- 缩放级别:75%
API参考
WKHtmlToPdf类提供了以下方法
构造函数
__construct(string $binary = '')
构造函数接受一个可选的$binary参数,它是wkhtmltopdf二进制文件的路径。如果没有提供,构造函数将尝试使用默认路径(Windows上的C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe和其他平台上的/usr/local/bin/wkhtmltopdf)。
添加页面
addPage(string $content, array $options = []): self addCover(string $content, array $options = []): self addToc(array $options = []): self
addPage()向PDF文档添加页面。参数$content可以是URL或HTML内容。addCover()向PDF文档添加封面页面。参数$content可以是URL或HTML内容。addToc()向PDF文档添加目录页面。
设置选项
setOption(string $name, ?string $value = null): self setOptions(array $options): self setHeader(string $html, array $options = []): self setFooter(string $html, array $options = []): self setMargins(string $top, string $right, string $bottom, string $left): self setOrientation(string $orientation): self setPageSize(string $size): self setZoom(float $zoom): self setDpi(int $dpi): self setGrayscale(bool $grayscale = false): self setLowQuality(bool $lowQuality = true): self
这些方法允许您设置PDF生成过程的各种选项,例如标题、页脚、边距、方向、页面大小、缩放级别、DPI、灰度模式和低质量模式。
生成PDF
generate(string $output): string
generate()方法根据指定的输出文件路径生成PDF文件。它返回wkhtmltopdf命令的输出。
许可证
此库采用MIT许可证。有关更多详细信息,请参阅LICENSE文件。
贡献
欢迎贡献!请提交拉取请求或打开问题,以帮助改进此库。
联系方式
如果您遇到错误或想请求新功能,请访问问题跟踪器。