图像无法完全显示

时间:2014-03-20 10:49:29

标签: xml xslt xslt-1.0 xsl-fo apache-fop

我需要在我的pdf文件中显示svg图像。下面是我的xslt代码:

<fo:block text-align="left"
          display-align="left"
          absolute-position="absolute"
          left="-1.5cm"
          top="-1cm">
  <fo:external-graphic content-width="scale-to-fit"
                         width="100%"
                         content-height="50%"
                         scaling="uniform">
    <xsl:attribute name="src">
         <xsl:value-of select="$src" />
    </xsl:attribute>
  </fo:external-graphic>
</fo:block>

阐释: 我的xml有很多图像。上面的代码循环运行并逐个显示图像。但对于一些高度超过页面高度的图像,图像会被切割。所以我尝试给予身高= 50%。但有了这个,我的图像宽度也在减少。

基本上我想要的是图像应该适合在块中。不应该削减更大的图像。它们应该适合给定的块。请帮忙。

1 个答案:

答案 0 :(得分:2)

  

但如果我减少高度,宽度也会减少。

这可能是因为您在图形上指定了scaling="uniform"。这将始终保持宽高比&#34; (参见规范here)的相关部分。

<fo:external-graphic content-width="scale-to-fit"
                     width="100%"
                     content-height="50%"
                     scaling="non-uniform">
   <!--...-->
</fo:external-graphic>