Я пытаюсь изменить ориентацию страницы документа в зависимости от условий, но я не знаю, как это можно сделать. Чтение документации не очень помогло и не смогло найти никаких примеров.
Я установил свой документ так:
<fo:layout-master-set>
<fo:simple-page-master master-name="first-page" page-height="29.7cm" page-width="21.0cm" margin="1cm 2.1cm 0.8cm 2.1cm">
<fo:region-body region-name="xsl-region-body" margin-top="105px" margin-bottom="50px"/>
<fo:region-before region-name="xsl-region-before-first" extent="5in"/>
<fo:region-after region-name="xsl-region-after" extent="5in" display-align="after"/>
</fo:simple-page-master>
<fo:simple-page-master master-name="other-page" page-height="21.0cm" page-width="29.7cm" margin="1cm 2.1cm 0.8cm 2.1cm">
<fo:region-body region-name="xsl-region-body" margin-top="105px" margin-bottom="50px"/>
<fo:region-before region-name="xsl-region-before-other" extent="5in"/>
<fo:region-after region-name="xsl-region-after" extent="5in" display-align="after"/>
</fo:simple-page-master>
<fo:page-sequence-master master-name="pages">
<fo:repeatable-page-master-alternatives>
<fo:conditional-page-master-reference page-position="first" master-reference="first-page"/>
<fo:conditional-page-master-reference page-position="only" master-reference="other-page"/>
</fo:repeatable-page-master-alternatives>
</fo:page-sequence-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="pages">
<fo:static-content flow-name="xsl-region-before-first">
...
</fo:static-content>
<fo:static-content flow-name="xsl-region-before-first">
...
</fo:static-content>
<fo:static-content flow-name="xsl-region-before-first">
...
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
...
</fo:flow>
Это генерирует первую вертикаль сначала страница, а затем все остальные горизонтальные страницы. Эти горизонтальные страницы генерируются для каждого l oop. Что я хотел бы сделать, так это то, что после определенного c page-before = "break", который может находиться в любой позиции, я мог бы изменить макет следующей страницы в зависимости от данных для каждого элемента.
Редактировать: я использую xmlns: fo версии 2.0 Мой точный документ должен выглядеть следующим образом:
- Первая страница (работает нормально)
- X страниц: LANDSCAPE VIEW, созданный с использованием a-for-l l 1023 * overe itemsA (работает нормально)
- Y страниц: ПРОСМОТР ПОРТРЕТА, созданный с использованием l-1023 * overe items для каждого (это то, что я не знаю, как делать, как изменить с пейзажа на портрет)
<xsl:for-each select="itemsA">
...printed stuff...
</xsl:for-each>
<fo:block break-before="page">
<xsl:for-each select="itemsB">
...printed stuff...
</xsl:for-each>