假设我有一个图像“ tall.png”,对于放置它的块来说太高了。我希望图像能够自动缩小以适合父块。
我的意思的简单例子:
<fo:block-container height="10cm" width="10cm" border="solid 0.5px black">
<fo:block>
<fo:external-graphic src="tall.png"
content-width="scale-down-to-fit" content-height="scale-down-to-fit"
width="100%" height="100%"/>
</fo:block>
</fo:block-container>
Run Code Online (Sandbox Code Playgroud)
上面的代码似乎无效。生成的PDF显示图像溢出了块容器。另一方面,如果我这样做...
<fo:block-container height="10cm" width="10cm" border="solid 0.5px black">
<fo:block>
<fo:external-graphic src="tall.png"
content-width="scale-down-to-fit" content-height="scale-down-to-fit"
width="10cm" height="10cm"/>
</fo:block>
</fo:block-container>
Run Code Online (Sandbox Code Playgroud)
这似乎有效。这使我感到惊讶,因为当您使用百分比(http://www.w3schools.com/xslfo/prop_height.asp)时,height属性应该引用包含块的高度。这使我认为示例中使用100%和使用10cm应该完全相同,但是它们不会产生相同的结果。
对于我要解决的实际问题,我无法为外部图形硬编码宽度和高度。我需要它保持在其父块的高度/宽度之内,无论可能是什么。任何想法如何做到这一点?