失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php 生成 pdf dompdf 库使用

php 生成 pdf dompdf 库使用

时间:2020-01-17 05:46:01

相关推荐

php 生成 pdf  dompdf 库使用

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

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

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

在网上找了解决办法:

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

/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中文自动换行的问题;@

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!/jiangjunshow

如果觉得《php 生成 pdf dompdf 库使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。