2

Formatting Objectのドキュメントによると 、region-start(本文の左側の領域)はregion-before(ヘッダー)とregion-after(フッター)の間にありますが、FOP(v1.1)を使用してPDFを生成すると)region-startはページの上部から始まり、region-beforeを右にプッシュします。

それで、ジェネレーターがリージョンを配置するようにする属性または何かがありますか?リージョンの前から開始しますか?

次にいくつかのサンプルコードを示します。

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">

<xsl:template match="/">
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
        <fo:layout-master-set>
            <fo:simple-page-master master-name="A4-cover"
                page-width="210mm" page-height="297mm" margin="12mm">
                <fo:region-body margin-top="60mm" margin-left="85mm" />
                <fo:region-before extent="55mm" />
                <fo:region-start extent="80mm" />
            </fo:simple-page-master>
        </fo:layout-master-set>

        <fo:page-sequence master-reference="A4-cover">
            <fo:static-content flow-name="xsl-region-before">
                <fo:block background-color="blue">
                    Before area
                </fo:block>
            </fo:static-content>

            <fo:static-content flow-name="xsl-region-start">
                <fo:block background-color="red">
                    Start area
                </fo:block>
            </fo:static-content>

            <fo:flow flow-name="xsl-region-body">
                <fo:block background-color="green">
                    Body area
                </fo:block>
            </fo:flow>
        </fo:page-sequence>
    </fo:root>
</xsl:template>
</xsl:stylesheet>   
4

1 に答える 1

3

最初は、デフォルトで期待どおりに機能するはずだと思いました。

しかし、必要な動作を実現するには、これprecedence="true"をオンに設定する必要があります(コーナーに広がるのをregion-before防ぎます)。http://www.w3.org/TR/xsl11/#precedenceregion-startを参照してください。

XSL-FO仕様ではあまり明確に述べられていませんが、私が理解しているように、それはとにprecedenceのみ適用されregion-beforeますregion-after

これは、トピックに関するディスカッションを含むメーリングリストスレッドです:http://apache-fop.1065347.n5.nabble.com/page-layout-bug-td8766.html

于 2013-02-06T17:13:50.170 に答える