加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 使用dompdf生成PDF时文本溢出表

发布时间:2020-12-14 22:42:20 所属栏目:资源 来源:网络整理
导读:alt text http://i45.tinypic.com/j6tmdl.png 我正在使用dompdf生成一些PDF,其中包含表格中的一些文本和图像.但是如果文本中有一个大的URL,则URL会一直包装到行尾.所有文本和URL都包含在具有固定宽度和高度的div中,但URL仍然溢出. 在浏览器中呈现的相同HTML

alt text http://i45.tinypic.com/j6tmdl.png

我正在使用dompdf生成一些PDF,其中包含表格中的一些文本和图像.但是如果文本中有一个大的URL,则URL会一直包装到行尾.所有文本和URL都包含在具有固定宽度和高度的div中,但URL仍然溢出.

在浏览器中呈现的相同HTML似乎没问题.

有什么想法吗?

最佳答案
我相信DOMPDF使用相当有限的字符集来确定如何分割线.现在它只在破折号或空格处分割一条线.因此,类似于示例中的URL将会超出容器的宽度. DOMPDF只是不知道如何分解它.

从dompdf v0.6.0开始,您可以设置文本的样式,以便在任何字符处都可以删除单词,例如:

它不像打破特定角色(例如/)那样干净.如果你习惯于破解代码,你可以更优雅地解决问题.打开文本reflower类并修改分割行的正则表达式.正则表达式如下所示:

preg_split('/([s-]+)/u',$text,-1,PREG_SPLIT_DELIM_CAPTURE)

修改该代码以包含您认为可以为良好的换行符添加的任何额外字符.例如,如果您希望文本中包含极长的网址,则可能会在?,&或甚至/上打开网址:

$words = preg_split('/([s-?&;/]+)/u',PREG_SPLIT_DELIM_CAPTURE);

在dompdf 0.6.1中,可以在dompdf / include / text_frame_reflower.cls.php第86和371行中找到RegEx.在即将推出的0.7.0中,可以在dompdf / src / FrameReflower / Text.php第106和402行中找到RegEx. .

修改RegEx的缺点是这会影响所有文本(而不仅仅是URL).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读