来自我的第一个问题;我目前正在修复一个图形服务,它使用XSLFO将我们的语法转换为FO,并最终将其转换为PDF。使用XSLFO显示SVG
之前,我们一直在使用PNG图形从PDF出口网络,但是这创造了真难看的结果,所以我们决定用SVG去代替PDF。
然而,SVG似乎并没有大规模进入SVG画布正常。
这里是之前碰到XSLFO语法:
<img src="someimage.svg">
这里是XSLFO我使用:
<xsl:template match="img">
<fo:block space-after="12pt">
<fo:instream-foreign-object width="20cm" height="15cm" content-width="scale-to-fit" content-height="scale-to-fit" scaling="uniform" background-color="#cccccc">
<svg:svg x="0" y="0" width="100" height="100" viewBox="0 0 100 100">
<svg:image x="0" y="0" width="100" height="100">
<xsl:if test="@src">
<xsl:attribute name="xlink:href">
<xsl:choose>
<xsl:when test="starts-with(@src, 'http://')">
<xsl:value-of select="@src"/>
</xsl:when>
<xsl:when test="starts-with(@src, 'https://')">
<xsl:value-of select="@src"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat($baseurl, @src)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:if>
</svg:image>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
</xsl:template>
的SVG会出现在PDF,和它似乎包含在画布内 - 但无论出于何种原因,我无法正确缩放。这真的非常巨大,其结果是SVG的裁剪版本非常丰富。
我跑出来的建议,在这里 - 有没有人在这里有这方面的经验?
PS:该图像是使用蜡染的最新版本创建的,宽度和高度被设置正常。