2

我正在使用 XSL-FO 和 XML 生成 PDF。在文本框中,用户可以输入“1”之类的数据,然后按 ENTER,然后按“2”、“ENTER”、“3”等。但在 PDF 中,输出为“1234567”。如何保留换行符?我已经尝试过white-space-collapselinefeed-treatmentwhite-space-treatment,但这并没有帮助。不过,换行(输入)以 XML 形式出现。

<xsl:template match="AddCmt">
<fo:block keep-together="always"> Additional Comments 
    <fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm"> 
        <fo:block wrap-option="wrap" linefeed-treatment="preserve" white-space-collapse="false" white-space-treatment="preserve"> 
            <xsl:attribute name="id"> 
                <xsl:value-of select="../CMT_ID"/> 
            </xsl:attribute> 
            <xsl:value-of select="../ANS_CMT"/> 
        </fo:block> 
    </fo:block-container> 
</fo:block> 

4

1 回答 1

1

它应该与以下 xml 一起使用(您应该添加所有属性):

<xsl:template match="AddCmt">
    <fo:block keep-together="always"> Additional Comments 
        <fo:block-container border-style="solid" height="20mm" width="170mm" space-after="5mm"> 
            <fo:block wrap-option="wrap" linefeed-treatment="preserve" white-space-collapse="false" white-space-treatment="preserve"> 
                <xsl:attribute name="id"> 
                    <xsl:value-of select="../CMT_ID"/> 
                </xsl:attribute> 
                <xsl:value-of select="../ANS_CMT"/> 
            </fo:block> 
        </fo:block-container> 
    </fo:block> 
</xsl:template> 

如果您的 XML 已经没有换行符,那么您的 PDF 就不可能。

于 2016-06-28T09:08:12.293 回答