[英]XSL:FO inline and pretty print
我正在尝试使用xsl:fo创建pdf。 我陷入内联元素的问题。 我需要用一个粗体字写一行。 例如:
我需要这个要大胆。
我可以用以下代码做到这一点:
<fo:block>
<fo:inline>I need </fo:inline><fo:inline font-weight="bold">this</fo:inline><fo:inline> to be bold</fo:inline>
</fo:block>
但是,由于我以编程方式编写xml,因此它会被漂亮地打印出来(我可以将其禁用,但随后它将在一行上,并且这是人类不可读的。)
像这样格式化时不起作用:
<fo:block>
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
生成pdf时,在文本之间会留出较大的水平间距。
您知道如何进行这项工作吗? 非常感谢。
我同意@Andremonly。
检查是否未在任何祖先FO上设置white-space-collapse="false"
(请参阅https://www.w3.org/TR/xsl11/#white-space-collapse )。
还有其他影响空白处理的属性。 您会看到以下哪些匹配项?
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="page"
margin="0.1in" page-height="4in" page-width="3in">
<fo:region-body region-name="body" margin="6pt"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:flow flow-name="body">
<fo:block>
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-collapse="false">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-treatment="preserve">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-treatment="preserve" white-space-collapse="false">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block linefeed-treatment="preserve">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-collapse="false" linefeed-treatment="preserve">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-treatment="preserve" linefeed-treatment="preserve">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
<fo:block white-space-treatment="preserve" white-space-collapse="false" linefeed-treatment="preserve">
<fo:inline>I need </fo:inline>
<fo:inline font-weight="bold">this</fo:inline>
<fo:inline> to be bold</fo:inline>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.