如何包装连续的数据文本?

时间:2015-04-14 10:10:49

标签: xsl-fo apache-fop

我正在使用Apache的FOP库从XML生成PDF。我有一个<fo:block>,我正在使用wrap-option =“wrap”。在XML中,如果此块获取值的字段具有任何换行符或空格,则它将包装文本。但是,如果没有断路器/空格/标签等,它就不会换行。

如何实现包含没有断路器/空格/标签的数据?

1 个答案:

答案 0 :(得分:1)

属性wrap-option="wrap"执行强制处理器将文本分解为某些位置的行,它只是说明  (XSL-FO规范,§ 7.16.13 "wrap-option"):

  

如果线溢出可用的块宽度

,则会发生换行

另请注意,"wrap"是默认属性值,因此无需显式设置它,除非继承的值为"no-wrap"

为了使换行实际构建多行,文本必须有一些可行的断点:“常规”空格,换行符,连字点......

如果您的字段值没有空格且您无法启用连字符(例如,因为它们是长数字/字母数字字符串)您可以在此期间添加零宽度空格&#x200B;) XSLT转换:这些字符构成有效的中断位置,否则是不可见的。