dompdf下载:https://github.com/dompdf/dompdf
字体生成(下载 load_font.php 放到dompdf根目录下):https://github.com/dompdf/utils
解决中文乱码,自行下载ttf字体,运行load_font.php生成字库。在html中增加font-family: "fzssjw";为你生成的字体就行。
参数b_file生成粗体字,需要单独下载粗体字体,和***.ttf字体放在同一目录下,并命名为***_Bold.ttf。如果不安装粗体在html中h1、b等标签不会加粗。粗体和正常字体可以不为一种字体,生成时命名相同即可,生成pdf时会自动替换进去。
每增加一种字体,生成的pdf就会打包进字体文件,字体越多文件越大
php load_font.php 'fzssjw' fzssjw.ttf b_file
dompdf换页需在html中加<div style="page-break-after:always;"></div>。自动换行需加word-wrap:break-word;属性,打印大片文字是比较有用,只需设置好元素宽度就行自动换行
require_once(ORG_PATH . "dompdf/autoload.inc.php");
$dompdf = new Dompdf\Dompdf();
$dompdf->set_option('isHtml5ParserEnabled', true);
//$dompdf->set_option('debugLayout', true); //自动显示html外边框,测试比较有用
//设置纸张尺寸
$dompdf->setPaper('A4');
$str=file_get_contents("1.html");
$dompdf->loadHtml($str, 'UTF-8');
// 把网页转换成pdf
$dompdf->render();
//页脚,放在render后
$canvas = $dompdf->get_canvas();
$canvas->page_text(500, 770, "Page {PAGE_NUM} - {PAGE_COUNT}", '', 10, array(0,0,0));
// 在浏览器输出pdf文件,Attachment为1时自动下载pdf
$dompdf->stream("1.pdf",array("Attachment"=>0));
978

被折叠的 条评论
为什么被折叠?



