ivanpepelko / php-wkhtmltopdf
wkhtmltopdf php 绑定
v1.0.0-beta
2016-08-23 10:22 UTC
Requires
- php: ^5.4 | ^7.0
- guzzlehttp/guzzle: ^6.2
- symfony/css-selector: ^3.1
- symfony/dom-crawler: ^3.1
- symfony/process: ^3.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^1.12
- symfony/var-dumper: ^3.1
Suggests
- h4cc/wkhtmltopdf-amd64: Convert html to pdf using webkit (qtwebkit). Static linked linux binary for amd64 systems.
- h4cc/wkhtmltopdf-i386: Convert html to pdf using webkit (qtwebkit). Static linked linux binary for i386 systems.
This package is auto-updated.
Last update: 2024-09-26 21:49:59 UTC
README
基本上:wkhtmltopdf php 绑定。
安装?
直接
composer require ivanpepelko/php-wkhtmltopdf
让它运行...
...容易
<?php use WkHtmlToPdf\WkHtmlToPdf; require_once 'vendor/autoload.php'; $pdf = new WkHtmlToPdf('/usr/local/bin/wkhtmltopdf'); $pdf->setInputPath('html/invoice.html') ->setOutputPath('pdf/invoice.pdf') ->useRecommendedOptions() ->convert() ;
或
<?php use WkHtmlToPdf\WkHtmlToPdf; require_once 'vendor/autoload.php'; $pdf = new WkHtmlToPdf('/usr/local/bin/wkhtmltopdf'); header("Content-type:application/pdf"); header("Content-Disposition:attachment;filename='hello.pdf'"); echo $pdf->setInputHtml(' <!DOCTYPE html> <html> <head><title>Hello world!</title></head> <body><h1>Hello</h1><p>world!</p></body> </html> </html> ') ->useRecommendedOptions() ->convert() ->output() ;
或类似的东西。
构造函数传递的第一个参数是 wkhtmltopdf 二进制文件的路径。我推荐这些(带有修复的 qt 的 wkhtmltopdf)
其他内容
页眉和页脚
<?php $pdf->setFooterCenterText($text) ->setHeaderLeftText($text) ->setFooterSpacing($spacing) ->setHeaderFontName($name) ->setFooterHtml($html); // etc, you get the point
在页眉和页脚的文本字符串中,以下变量将被替换
[page]
被当前正在打印的页数替换[frompage]
被要打印的第一页的页数替换[topage]
被要打印的最后一页的页数替换[webpage]
被正在打印的页面的 URL 替换[section]
被当前节的名字替换[subsection]
被当前子节的名字替换[date]
被系统本地格式的当前日期替换[isodate]
被 ISO 8601 扩展格式的当前日期替换[time]
被系统本地格式的当前时间替换[title]
被当前页面对象的标题替换[doctitle]
被输出文档的标题替换[sitepage]
被当前正在转换的网站中的页面数替换[sitepages]
被当前正在转换的网站中的页数替换
此外,您还可以通过 addHeaderFooterVar()
或 addHeaderFooterVars()
方法定义额外的变量
<?php $pdf->addHeaderFooterVar('var1', 'value2') ->addHeaderFooterVars(['var3' => 'value4']);
注意: 这将不适用于 html(setHeaderHtml()
或 setFooterHtml()
)。
注意 2: wkhtmltopdf 在 html 页眉和页脚方面存在问题,它会添加灰色背景(问题#2416 - 将在 0.12.4 中修复)。
缓存
<?php $pdf->setCacheDir($dir);