php 生成 pdf dompdf 库使用

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

中文支持弄好了。但是发现了中文不自动换行的情况。

在网上找了解决办法:

================

http://zlkb.net/619.html

最近刚好需要生成PDF文档,供下载打印用……


找了不少PDF工具,发现DOMPDF是最好用的,支持HTML最好。


顺便把其中遇到的问题也记录一下:


1.HTML要用table排版
用DOMPDF生成HTML文档,首先要先解决这个问题,没用DOMPDF生成过PDF的朋友,会在这个看似简单的问题上吃亏。作为过来人,我可以告诉你,最好用DIV,不要用table排版。原因是如果你用table排版时,如果是多个table嵌套,DOMPDF在渲染的时候会卡死,严重地会拖垮服务器的运行。用DIV就不会有这种情况发生。
另一个不能用table的原因是,下面提到的自动换行的解决方案,在table里面是没有作用的。


2.安装中文字体,让中文不会出现乱码
2.1. 准备好字体文件,如宋体,要准备好四个字体文件,分别为:常规、加粗、斜体和粗斜体,文件格式为ttf。
2.2. 进入DOMPDF字体安装页面,一般为http://localhost/dompdf/www/fonts.php
2.3. 定义字体名称,字体名称最好和css的字体名一致,如宋体为SimSun,这样的好处是在html不用再声明中文字体名称。
2.4. 根据要求,上传对应的四个字体文件,点击安装按钮,等待安装完成。
2.5. 特别提醒:如果是特别字体,或者字体名称跟css的命名不一致,需要在html中用到该字体的地方,用css代码设定字体名称,如:font-family:xxx


3.让中文实现自动换行
默认状态下,使用DOMPDF生成中文PDF时是不会自动换行的,需要对DOMPDF的代码做修改才能自动换行,具体的修改方法如下:
待修改的文件及位置:\dompdf\include\text_frame_reflower.cls.php
找到以下代码块:
// split the text into words
$words = preg_split(‘/([\s-]+)/u’, $text, -1, PREG_SPLIT_DELIM_CAPTURE);
$wc = count($words);
注释掉这两行代码,换成以下的代码块:
//解决DOMPDF中文自动换行的问题;@phpdb.net
preg_match_all(‘/./u’, $text, $array);
$words = $array[0];
$wc = count($words);
保存文件即可。


5、让DOMPDF也支持CSS float
如果要让DOMPDF支持CSS 样式的FLOAT效果,需要在配置文件中进行设置,方法如下:
5.1. 打开dompdf_config.inc.php
5.2. 找到DOMPDF_ENABLE_CSS_FLOAT的定义位置,值设置为true,如:
def(“DOMPDF_ENABLE_CSS_FLOAT”, true);


我刚刚测试的是使用的simsun字体,但太大了,非常不好!!等下再更换一个字体试试

=======================

要用表格,或自己PATCH程序吧。上面的内容的修改自动转行会报错。我没有细看。

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值