【发布时间】:2020-06-14 23:23:02
【问题描述】:
我们正在使用此 XSL-FO 在目录页面中生成条目:
<fo:block text-align-last="justify">
<xsl:value-of select="@title" />
<fo:leader leader-pattern="dots" />
<fo:page-number-citation ref-id="{@id}" />
</fo:block>
当页面的标题很长时,页码会换行。如果页面标题的长度足以将页码插入新行但又不够长到足以进入新行本身,则当页码应右对齐时,页码将左对齐。
据我所知,XML 是正确的,这是 XSL-FO 本身的问题。有没有一种方法可以在不重新设计任何其他布局的情况下使所有页码正确对齐?
更新:
感谢托尼·格雷厄姆的回复,不幸的是,出于某种原因,这对我来说似乎不是。在应该有一个连续领导者的行上,我最终会得到两组领导者点,它们之间有一个我无法摆脱的小间隙。但它确实激发了这个对我来说足够好的解决方案:
<fo:block text-align-last="justify">
<xsl:value-of select="@title" />
<fo:leader leader-pattern="dots" />
<fo:page-number-citation keep-with-previous="always" ref-id="{@id}" />
</fo:block>
【问题讨论】:
-
你用什么软件生成PDF?如果您使用的是 Antenna House Formatter,它具有处理这种情况的扩展:docs.antennahouse.com/formatter/…
-
除非您使用的格式化程序支持强制 fo:leader 无条件扩展,例如上面的示例页面,否则无法解决这种情况。
标签: xsl-fo page-numbering