2

外部ソースから動的 XML/XSL-FO を使用して PDF を作成しています。ページの左下に画像が必要ですが、機能せず、画像の周りにテキストが流れています。

使用される xsl は次のとおりです。 flower は、SVG としての fo:instream-foreign-object のスニペットへの呼び出しです。

            <fo:flow flow-name="xsl-region-body">
            <xsl:variable name="header" select="descendant-or-self::*[@id='prop_header']"/> 
            <xsl:variable name="title" select="substring-before($header,'-')"/>
            <xsl:variable name="price" select="substring-after($header,'-')"/>          
            <fo:block xsl:use-attribute-sets="address"><xsl:value-of select="$title"/></fo:block>
            <fo:block space-after="5mm" xsl:use-attribute-sets="innerprice"><xsl:value-of select="$price"/></fo:block>
                        <fo:block>
                <fo:float float="left" width="61mm" clip="2mm" padding="1mm"
                    border-color="$grey" border-width="0">
                    <fo:block-container padding="0pt" margin="0pt" absolute-position="absolute"  top="{$bleed + 200}mm" left="0mm" >  
                        <xsl:call-template name="flower">
                            <xsl:with-param name="width">61</xsl:with-param>
                            <xsl:with-param name="height">49</xsl:with-param>
                        </xsl:call-template>                
                    </fo:block-container>
                </fo:float>
            </fo:block>

画像は一番下に表示されますが、テキストはページの一番下まで右に押し出されます (61mm の場合 - width="1mm" にすると機能しますが、テキストが画像からはみ出します)。

画像を正しい場所に配置してテキストを折り返すにはどうすればよいですか。また、テキストは可変であり、変更される可能性があるため、テキストのインラインの画像の位置を計算することはできません。

4

1 に答える 1

1

FOP を使用している限り、機能しません。fo:floatフォーマット オブジェクトはサポートされていません。http://xmlgraphics.apache.org/fop/compliance.html#fo-object-floatを参照してください。

于 2011-03-23T17:44:13.477 に答える