2014-12-01 2 views
0

Я пытаюсь вставить пустую страницу в качестве последней страницы некоторых разделов. Например, я хочу получить пустую страницу после титульной страницы. Я делаю это вот так:пытается вставить пустую страницу в XSL-FO

<fo:page-sequence-master master-name="cover_pagemaster" force-page-count="even"> 
     <fo:repeatable-page-master-alternatives> 
      <fo:conditional-page-master-reference master-reference="cover" page-position="any" /> 
      <fo:conditional-page-master-reference master-reference="empty_page" page-position="last" blank-or-not-blank="blank" /> 
     </fo:repeatable-page-master-alternatives> 
    </fo:page-sequence-master> 

Это должно быть две страницы, одна с обложкой и одна пустая. Почему он не работает таким образом?

Thanx for help!

EDIT:

 <fo:page-sequence-master master-name="cover_pagemaster" force-page-count="even"> 
      <fo:repeatable-page-master-alternatives> 
       <fo:conditional-page-master-reference master-reference="empty_page" page-position="last" blank-or-not-blank="blank" /> 
       <fo:conditional-page-master-reference master-reference="cover" page-position="first" /> 
      </fo:repeatable-page-master-alternatives> 
     </fo:page-sequence-master> 

Ну, я пробовал разные комбинации теперь, и это до сих пор не работает. Не работает даже число страниц с силовыми страницами (я использую оценочную версию Antenna House).

Я просто не могу найти рабочий пример кода xsl-fo, который создает пустую страницу как вторую страницу двухстраничной страницы-мастера.

вторые РЕДАКТИРОВАТЬ:

<fo:simple-page-master master-name="cover" page-height="29.7cm" page-width="21cm"> 
     <fo:region-body /> 
    </fo:simple-page-master> 

    <fo:simple-page-master master-name="empty_page"> 
     <fo:region-body /> 
    </fo:simple-page-master> 

, а затем в последовательности страниц:

<fo:page-sequence master-reference="cover_pagemaster"> 
    <fo:flow flow-name="xsl-region-body"> 
     <fo:block-container absolute-position="absolute" top="70mm" left="30mm"> 
      <fo:block> 
      <fo:external-graphic src="coverpage.png" content-width="140mm" content-height="90mm" /> 
      </fo:block> 
     </fo:block-container> 
     <fo:block-container text-align="right" hyphenate="true" absolute-position="absolute" font-family="Calibri" font-size="4em" top="200mm" left="42mm" margin-right="10mm"> 
      <fo:block>COVERPAGE</fo:block> 
      <fo:block>TEST</fo:block> 
      <fo:block>ABSOLUTE POSITIONING 
      </fo:block> 
     </fo:block-container> 
    </fo:flow> 
</fo:page-sequence 
+0

В атрибуте force-page-count вы должны использовать «end-on-even» вместо «even». – Hobbes

ответ

1

Список повторяемой-мастер-странице-альтернативах обрабатываются в порядке. Поэтому, когда форматирующий процесс обрабатывает последнюю страницу главы, он будет проходить через список, и он увидит, что условие для первой записи (page-position = «any») действительно для этой страницы. поэтому последней странице присваивается «обложка», не проверяя полный список альтернатив.
Таким образом, вы должны создать список альтернативных вариантов repeatable-page-master, чтобы иметь исключения (первая страница, последняя страница), перечисленные перед более распространенными страницами (слева, справа, любое).

Edit:

Сейчас они находятся в правильном порядке. Но вы указали blank-or-not-blank="blank". Это означает, что «используйте эту главную страницу, только если страница пуста (т. Е. Не содержит основного текста)».
Как выглядит вторая страница? Какая главная страница используется?

Edit 2:
В силовой-странице подсчете атрибутов вы должны использовать «конец-на-даже» вместо «даже».

+0

Спасибо за ваш ответ! Я редактировал сообщение. – user3629892

+0

См. Мой отредактированный ответ. – Hobbes

+0

Я тоже редактировал свой вопрос. – user3629892

Смежные вопросы