我試圖通過<fo:external-graphic>
將徽標覆蓋到我正在處理的XSL-FO頁面的svg梯度標題上。如何將XSL-FO外部圖形置於前面
<fo:block top="0mm" left="0mm" padding="0mm" margin="0mm" line-height="0mm">
<fo:external-graphic padding="0mm" margin="0mm" content-width="20mm" content-height="20mm" width="0mm" height="0mm" src="http://www.pdmagic.com/pdc/images/magic_hat.gif"/>
</fo:block>
<fo:block text-align="center" intrusion-displace="none">
<fo:instream-foreign-object border="solid black 1px" content-width="10.5in" content-height="0.556in">
<svg xml:space="preserve" viewBox="0 0 850 45">
<g>
<defs>
<linearGradient id="topGrad" x1="0%" y1="0%" x2="100%" y2="100%" spreadMethod="pad">
<stop offset="0%" stop-color="#FFFFFF"/>
<stop offset="100%" stop-color="{$UserDefinedColor}"/>
</linearGradient>
</defs>
<rect x="0" y="0" width="850" height="45" style="fill: url(#topGrad); stroke: black;" />
</g>
</svg>
</fo:instream-foreign-object>
</fo:block>
的問題是,因爲包含該圖像的<fo:block>
是梯度塊之前,it renders behind the gradient。如果有方法來指定繪製順序,我想這將是最快的解決方案。
我試着將圖片放置在<svg>
而不是內部,<image height="45" width="40" href="http://www.pdmagic.com/pdc/images/magic_hat.gif"/>
,但這只是呈現爲一個破碎的圖像(同樣爲.png文件)。
https://www.w3.org/TR/xsl11/#z-index可能有幫助但我不知道它是否對FO處理器有很好的支持,尤其是涉及到外來物體。 –