Apache FOP XSL/XSLT - 在生成的 PDF 中将文本加粗
Apache FOP XSL/XSLT - Making text bold in generated PDF
我有一个 xml 这样的:
<?xml version="1.0" encoding="UTF-8"?>
<TermsAndConditions>
<clause><clausetext>Terms and Conditions of Supply - Please read carefully</clausetext></clause>
<clause><clausetext>Available only to <bold>customers who have an existing</bold> account.</clausetext></clause>
</TermsAndConditions>
并且样式 sheet 是:
<fo:page-sequence master-reference="simple" >
<fo:flow flow-name="xsl-region-body">
<xsl:for-each select="data/TermsAndConditions/clause">
<fo:block font-size="10pt" font-family="Arial" color="#6d6e71"><xsl:value-of select="clausetext" />
</fo:block>
<fo:block font-size="10pt" font-family="Arial" line-height="10pt" space-after.optimum="3pt" text-align="justify"> </fo:block>
</xsl:for-each>
</fo:flow>
</fo:page-sequence>
如何在生成的 pdf 中将标签 < bold > bold > 之间的文本设为粗体?目前能看到条款,但文字全正常
此外,我使用 w3schools.com 的 tryit 编辑器尝试了类似的操作:
[ http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_if ]
采用以下样式 sheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates mode="tttt" />
</body>
</html>
</xsl:template>
<xsl:template match="bold" mode="tttt">
<b><xsl:value-of select="." /></b>
</xsl:template>
</xsl:stylesheet>
我得到了想要的输出。
<b>
是 html 语法,对于 fo 这可能应该是:
<xsl:template match="bold" mode="tttt">
<fo:inline font-weight="bold"><xsl:value-of select="." /></fo:inline>
</xsl:template>
</xsl:stylesheet>
我有一个 xml 这样的:
<?xml version="1.0" encoding="UTF-8"?>
<TermsAndConditions>
<clause><clausetext>Terms and Conditions of Supply - Please read carefully</clausetext></clause>
<clause><clausetext>Available only to <bold>customers who have an existing</bold> account.</clausetext></clause>
</TermsAndConditions>
并且样式 sheet 是:
<fo:page-sequence master-reference="simple" >
<fo:flow flow-name="xsl-region-body">
<xsl:for-each select="data/TermsAndConditions/clause">
<fo:block font-size="10pt" font-family="Arial" color="#6d6e71"><xsl:value-of select="clausetext" />
</fo:block>
<fo:block font-size="10pt" font-family="Arial" line-height="10pt" space-after.optimum="3pt" text-align="justify"> </fo:block>
</xsl:for-each>
</fo:flow>
</fo:page-sequence>
如何在生成的 pdf 中将标签 < bold > bold > 之间的文本设为粗体?目前能看到条款,但文字全正常
此外,我使用 w3schools.com 的 tryit 编辑器尝试了类似的操作: [ http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_if ]
采用以下样式 sheet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates mode="tttt" />
</body>
</html>
</xsl:template>
<xsl:template match="bold" mode="tttt">
<b><xsl:value-of select="." /></b>
</xsl:template>
</xsl:stylesheet>
我得到了想要的输出。
<b>
是 html 语法,对于 fo 这可能应该是:
<xsl:template match="bold" mode="tttt">
<fo:inline font-weight="bold"><xsl:value-of select="." /></fo:inline>
</xsl:template>
</xsl:stylesheet>