我正在使用html2pdf(本身使用TCPDF)将HTML表格元素转换为PDF文件 . 此表具有动态内容,这意味着其列数可以变化(有时为3,有时为11列等) .
一列包含一个非常长的数字(例如:BF8545498134587) . 我的问题是,当有很多列时,这个数字超过了列宽 . 我想把它包起来(比如在HTML / CSS中使用wrap-word) . 但是html2pdf不支持这些CSS属性 .
我找到了一个解决方案(那里:Html2pdf doesn't support word-break:break-all css),它包括在每个字符之间插入零宽度空格(HTML中为 ​
,UTF-8为 \xE2\x80\x8B
) . 它在HTML中工作得很好,但在PDF文档中,这个零宽度空间被'?'取代 .
我试图改变TCPDF类中的font-family(发现这个:http://www.fileformat.info/info/unicode/char/200b/fontsupport.htm知道这个HTML实体使用哪种字体)但没有改变......
我看到其他答案告诉使用TCPDF函数,如 writeHTMLCell()
或使用 MultiCell()
而不是 Cell()
,但我不能在这里告诉我 .
所以我现在不知道在哪里看 .
在此先感谢您的帮助 .
3 回答
尼古拉斯,你必须检查你是否在保存文件而不使用BOM . 例如,在Windows的Notepad或Linux的Geany中,您可以轻松设置此选项 .
确保将文件编码保持为UTF-8 .
将根据您的HTML2PDF设置处理UTF-8字符:
编辑1:
你使用空间的方式
' '
- 不是一个很好的做法,我希望问题来自这里 . 尝试用 
或%20
替换它 . 我会选择第一个 .说明:
%20
编辑2:
可能使用保证金会有所帮助:
编辑3:
在一些Adobe论坛上找到,他们建议使用sapce:
说明:
几天前解决了这个问题:发现并使用了“mpdf” . 这个很棒:)
http://www.mpdf1.com/mpdf/index.php
您应该在长号中使用<wbr>而不是零宽度空格,以允许html2pdf中的单词内的换行符 .