重叠外部图形

时间:2015-01-05 14:46:58

标签: apache-fop

我想在图片A前面重叠图片B.

但我不会看到图片A,只有我会删除图片B。

我也经历过z-index = 1和z-index = 2。但这仅适用于图像和文字?

<fo:table-row>
	<fo:table-cell border="1pt solid black" padding="2pt">
		<fo:block-container>
			<fo:block-container position="absolute">
				<fo:block>
					<fo:external-graphic content-width="scale-to-fit" content-height="100%" width="100%" scaling="uniform">
						<xsl:attribute name="src">
							<xsl:value-of select="./giftCardLogo" />
						</xsl:attribute>
					</fo:external-graphic>
				</fo:block>
			</fo:block-container>
			<fo:block-container position="absolute">
				<fo:block>
					<fo:external-graphic content-width="scale-to-fit" content-height="100%" width="100%" scaling="uniform">
						<xsl:attribute name="src">
							<xsl:value-of select="./giftCardThemePicture" />
						</xsl:attribute>
					</fo:external-graphic>
				</fo:block>
			</fo:block-container>
		</fo:block-container>
	</fo:table-cell>
	<fo:table-cell border="1pt solid black" padding="2pt">
		<fo:block>
			<fo:instream-foreign-object>
				<bc:barcode xmlns:bc="http://barcode4j.krysalis.org/ns">
					<xsl:attribute name="message">
						<xsl:value-of select="./giftCardNumber" />
					</xsl:attribute>
					<bc:datamatrix>
						<bc:module-width>1.0mm</bc:module-width>
					</bc:datamatrix>
				</bc:barcode>
			</fo:instream-foreign-object>
		</fo:block>
	</fo:table-cell>
	<fo:table-cell border="1pt solid black" padding="2pt">
		<fo:block>&#x00A0;</fo:block>
	</fo:table-cell>
</fo:table-row>

1 个答案:

答案 0 :(得分:0)

(你没有提到你正在使用的图像的格式,输出格式以及哪个版本的FOP,所以要给你一个答案并不容易)

如果我理解正确,你有两个图像,并希望将它们放在同一个位置,一个作为背景,一个作为前景;例如,一个可以有水平线,另一个垂直线,你希望在输出中看到一个网格,但你只能看到&#34; last&#34;一套线。

我使用FOP 1.1执行测试,使用具有透明背景和不同对象透明度(alpha通道)的png和svg图像,以及创建PDF输出(可能是最常见的选项):每个按预期显示。

因此,您的问题可能是由以下原因造成的:

  • 图片格式:png,gif和svg支持透明背景/ alpha通道; jpg没有
  • SVG功能使用:即使您使用svg图像,也会处理一些功能(效果,图案,参考图像......),创建光栅化图像,thus losing transparency
  • 输出格式FOP's page about graphics formats表示对于gif和png图像&#34;支持透明度但不保证可以使用每种输出格式&#34 ;; PDF还可以

最后,z-index is not supported at the moment:图片堆叠&#34;在输出中根据文档顺序,所以第一个是在下面的那个,最后一个是在前台。