如何在xsl-fo中将图像叠加在一起?

时间:2014-09-04 14:06:10

标签: xsl-fo

我的xml中有3到4个图像,我需要将它们放在pdf中,因为它会在xml上应用xsl-fo时生成。

我们尝试过绝对定位&所有其他属性将它放在另一个上,但不能这样做。 这些图像位于页面中间的位置。页面的两侧都包含fo:包含其他内容的块。

我正在尝试这样的事情:---

<fo:block>
                <xsl:for-each select="topic//fig">
                            <xsl:variable name="counter">
                                <xsl:value-of select="position()" />
                            </xsl:variable>
                    <xsl:if test="./image/@href">

                    <xsl:if test="($counter='1')">
                            <fo:block>
                            <fo:external-graphic src="url({concat($imagesUrl-pdf,$ancestorId,'/','image/',.//image/@href)})" xsl:use-attribute-sets="image1"/>
                            </fo:block>
                    </xsl:if>
                    <xsl:if test="($counter='2')">

                            <fo:external-graphic src="url({concat($imagesUrl-pdf,$ancestorId,'/','image/',.//image/@href)})" xsl:use-attribute-sets="image2"/>

                    </xsl:if>
                    <xsl:if test="($counter='3')">
                        <fo:external-graphic src="url({concat($imagesUrl-pdf,$ancestorId,'/','image/',.//image/@href)})" xsl:use-attribute-sets="image3"/>
                    </xsl:if>
                    <xsl:if test="($counter='4')">
                            <fo:block>  
                                <fo:external-graphic src="url({concat($imagesUrl-pdf,$ancestorId,'/','image/',.//image/@href)})" xsl:use-attribute-sets="image4"/>
                                </fo:block> 
                    </xsl:if>
                    <xsl:if test="($counter='5')">
                    <fo:block>
                            <fo:external-graphic src="url({concat($imagesUrl-pdf,$ancestorId,'/','image/',.//image/@href)})" xsl:use-attribute-sets="image5"/>
                            </fo:block> 
                    </xsl:if>
                    </xsl:if>

                </xsl:for-each> 
                    </fo:block>

建议是否可以通过任何方式实现。任何建议都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

而不是&lt; fo:block,你应该使用&lt; fo:block-container position =“absolute”...并为每个图像设置top,left,bottom,right属性。 Fixed Position Output