我使用Docbook-XSL和Apache生成包含表的PDF文档。在默认设置下,表具有固定宽度的列和行在字边界处的换行。但是,如果一个单词大于单元格的宽度,它就会溢出该单元格。在这种情况下,我想把这些词分拆成多行。这是怎么做到的呢?
连字符不是一种解决办法,因为这些词不一定是英文的。(编辑:在其他语言中连字符也不是一个解决方案。它可能不知道数据是用什么语言,也可能有“单词”不能连字符,例如数字字符串。)
我找到了将keep-together.within-column="always"用于fo:table-row的建议,但这似乎没有任何效果。
(编辑:)另一个建议是在所有字符之间插入零宽度空格。但这也打破了短词中间字。我需要一个解决方案,只要有可能就打破字界,只有在需要的时候,才需要中间字。
发布于 2016-05-11 13:20:08
FOP,就像几乎每一个FO处理器一样,可以将英语以外的语言连字符。请参阅http://xmlgraphics.apache.org/fop/2.1/hyphenation.html
您可以尝试使用FO处理器,例如Antenna House AH格式化程序,该处理器实现“自动”表布局,并根据文本可以中断的位置调整表列的宽度(以及对多种语言进行连字符)。
在表格单元格中拆分文本的其他答案如下:
https://stackoverflow.com/questions/37162083
复制相似问题