热搜:NVER node 开发 php

php dompdf 使用

2024-08-15 15:30:02
php dompdf 使用

新版本DOMPDF安装
版本是6 测试版


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;


 $html = file_get_contents('pdf.html');
 上面多种方法引用模板。


// $html =
  // '

'.
  // '

Put your html here, or generate it with your favourite '.
  // 'templating system.
再看一下支持中文否?

'.
  // '';
  
$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 模板中。



如果出现没自动换行的中文,用DIV 试试。对 table 支持不好。