eprofos/php-wkhtmltopdf

一个PHP库,用于使用wkhtmltopdf将HTML转换为PDF,具有广泛的定制选项。

0.1.0 2024-05-28 08:47 UTC

This package is auto-updated.

Last update: 2024-09-30 05:30:57 UTC


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文件。

贡献

欢迎贡献!请提交拉取请求或打开问题,以帮助改进此库。

联系方式

如果您遇到错误或想请求新功能,请访问问题跟踪器