【问题标题】:How to wrap continuous text of data?如何包装连续的数据文本?
【发布时间】:2015-06-19 21:41:27
【问题描述】:

我正在使用 Apache 的 FOP 库从 XML 生成 PDF。我有一个<fo:block>,我在上面使用了一个wrap-option="wrap"。在 XML 中,如果该块从中获取值的字段有任何换行符或空格,则它会换行文本。但是,如果没有换行符/空格/制表符等,它不会换行。

我怎样才能实现包装这些没有换行符/空格/制表符的数据?

【问题讨论】:

标签: xsl-fo apache-fop


【解决方案1】:

wrap-option="wrap" 属性确实强制处理器在某些位置将文本分成几行,它只是声明 (XSL-FO 规范,§ 7.16.13 "wrap-option"):

如果行超出可用的块宽度会发生换行

还要注意"wrap" 是默认属性值,所以不需要显式设置它,除非继承的值是"no-wrap"

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2019-08-30
    • 2019-11-18
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多