3

apache FOPを使用して、ロゴを左に配置し、3行の住所を右に配置し、両方を上に配置したヘッダーを作成します。

以下はフロー内で実行すれば問題なく動作しますが、静的コンテンツヘッダー('xsl-region-before')では、左右が正しくなりますが、テーブル定義が完全に無視されているかのように、ロゴがアドレスブロックの下に配置されます。 。

2つをインライン化する、フロートを使用するなど、他のオプションを試しましたが、同様の結果が得られました。ヘッダーはそれらを別々のブロックのように扱い、スタックします。誰か提案がありますか?

フッターについて同じ質問をしているこの別の問題を見つけました。残念ながら、返信はありません 。XSL-FOの下部に揃えるには、instream-foreign-objectとtextが必要です。

関連するスニペットは次のとおりです。

    <fo:layout-master-set>
        <fo:simple-page-master page-height="8.5in" page-width="11in" master-name="only" margin=".5in .5in .5in .5in">
            <fo:region-body region-name="xsl-region-body" margin-top="1in" margin-bottom=".5in"/>
            <fo:region-before region-name="xsl-region-before"/>
            <fo:region-after region-name="xsl-region-after"/>
        </fo:simple-page-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="only">
        <fo:static-content flow-name="xsl-region-before">
                <fo:block font-size="7pt">
                    <fo:table width="10in">
                        <fo:table-column/>
                        <fo:table-column/>
                        <fo:table-body>
                            <fo:table-row>
                                <fo:table-cell>
                                    <fo:block>
                                        <fo:external-graphic src="img/print_logo.png" content-width="2in"/>
                                    </fo:block>
                                </fo:table-cell>
                                <fo:table-cell display-align="center">
                                    <fo:block text-align="right">
                                        123 Credibility Street
                                    </fo:block>
                                    <fo:block text-align="right">
                                        Chicago, IL  60606
                                    </fo:block>
                                    <fo:block text-align="right">
                                        312-123-4567
                                    </fo:block>
                                </fo:table-cell>
                            </fo:table-row>
                        </fo:table-body>
                    </fo:table>
                </fo:block>
        </fo:static-content>
4

2 に答える 2

4

2 つの要素を 2 つの個別のブロック コンテナーに絶対配置で配置することで、目的の効果を得ることができました。

<fo:static-content flow-name="xsl-region-before">
    <fo:block-container position="absolute">
        <fo:block>
            <fo:external-graphic src="img/print_logo.png" content-width="2in"/>
        </fo:block>
    </fo:block-container>
    <fo:block-container position="absolute">
        <fo:block text-align="right">
            123 Credibility Street
        </fo:block>
        <fo:block text-align="right">
            Chicago, IL  60606
        </fo:block>
        <fo:block text-align="right">
            312-123-4567
        </fo:block>
    </fo:block-container>
</fo:static-content>
于 2010-06-15T16:36:29.917 に答える
1

返信が遅いですが、質問に答える必要があります。だからここにあります:

はい、ここでは絶対的な配置が必要ですが、より重要なのは、配置するブロックコンテナの順序です。

最後のコンテナのコンテンツが他のコンテナの上に表示されます。

于 2012-05-02T10:47:20.413 に答える