发布于 2014-12-17 13:18:32 | 3496 次阅读 | 评论: 0 | 来源: PHPERZ
DomPDF HTML到PDF的转换工具
dompdf是一个HTML到PDF的转换工具。它的核心是一个遵循大部份CSS2.1样式的Rendering引擎。dompdf采用样式驱动,它能够下载并读取外部样式,整个样式标签和单个HTML元素的样式属性。它同样支持目当大部份HTML属性。
本文为大家讲解的是一个php dompdf类库入门使用示例,感兴趣的同学参考下.
dompdf是一个HTML到PDF的转换工具。它的核心是一个遵循大部份CSS2.1样式的Rendering引擎。dompdf采用样式驱动,它能够下载并读取外部样式,整个样式标签和单个HTML元素的样式属性。它同样支持目当大部份HTML属性。
DOMPDF下载:
https://github.com/dompdf/dompdf
php-font-lib下载:
https://github.com/PhenX/php-font-lib
1. 新版的DOMPDF似乎默认没有php-font-lib, 下载完之后放到dompdf\lib\php-font-lib目录中.
2. 检查/安装新的字体, 中文字体推荐使用Google的DroidSansFallback, 只有3MB多.
(1) 安装字体前修改一下dompdf_config.inc.php配置文件中的
def("DOMPDF_ADMIN_USERNAME", "yourname");
def("DOMPDF_ADMIN_PASSWORD", "yourpassword");
用户名,是安装字体时要的。
(2) 检查一下dompdf_config.inc.php中是否包含php-font-lib的路径配置, 请确认系统能找到Font.php
require_once(DOMPDF_LIB_DIR . "/php-font-lib/src/FontLib/Font.php");
加到配置文件中。
(3) 浏览器进入dompdf/www/fonts.php进行字体安装
四种字体,正常的,粗体,斜体,等,一个个安装。
include 'dompdf6/dompdf_config.inc.php';
$html = <<<END
END;
$html = file_get_contents('pdf.html');
上面多种方法引用模板。
// $html =
// '<html><body>'.
// '<p>Put your html here, or generate it with your favourite '.
// 'templating system.<br />再看一下支持中文否?</p>'.
// '</body></html>';
$dompdf = new DOMPDF();
// $dompdf->load_html(utf8_decode( $html ), 'UTF-8');
$dompdf->load_html( $html, 'UTF-8');
// $dompdf->load_html( $html, 'GBK');
$dompdf->render();
$dompdf->stream("sample.pdf");
如果 中文不支持,为中文加上字体定义:
在HTML 模板中。
<span style="font-size:16.0pt;line-height:105%;font-family:droidsans">
如果出现没自动换行的中文,用DIV 试试。对 table 支持不好。