导出到PDF表格列未包装

时间:2014-12-01 14:16:37

标签: xsl-fo apache-fop docx4j

我创建了非常简单的测试,其中包含2列的表。一列包含没有空格的长行和第二列小行。在doc中,我看到第一行中的那行被包装

我使用

将此文档转换为PDF

结果是相同的 - 第一列的行被写入第二列

2 个答案:

答案 0 :(得分:1)

不是解决方案,但由于这是一个XSL FO / FOP问题,为了深入了解该问题,请参阅:

XSL-FO: Force Wrap on Table Entries

XSL-FO fop. Long text flows into adjacent cells/block, obscuring stuff there

跟踪https://github.com/plutext/docx4j/issues/142

答案 1 :(得分:0)

以下内容并不漂亮,但它通过在每个字符后插入零宽度空格来实现包装。如果您愿意,可以在每个x个字符处插入它们,或者使用其他一些启发式方法来选择更好的休息位置。

String zeroWidthSpace = Character.toString((char) 8203);
textToInsert = textToInsert(("(.)"), "$1" + zeroWidthSpace);
td.getContent().add(mdp.createParagraphOfText(textToInsert));