2015-04-27 4 views
0

Мой XSL:Apache FOP - XSL FO - COUNT Умышленно оставили пустые страницы

<fo:layout-master-set> 
     <fo:simple-page-master master-name="normal" page-height="210mm" page-width="148mm"> 
      <fo:region-body region-name="xsl-region-body" margin="28mm 2mm 10mm 8mm" /> 
      <fo:region-before region-name="xsl-region-before"/> 
      <fo:region-after region-name="xsl-region-after" extent="12mm"/> 
     </fo:simple-page-master> 
     <fo:simple-page-master master-name="blank" page-height="210mm" page-width="148mm"> 
      <fo:region-body/> 
      <fo:region-before region-name="header-blank" extent="210mm"/> 
      <fo:region-after region-name="xsl-region-after" extent="12mm"/> 
     </fo:simple-page-master> 
     <fo:page-sequence-master master-name="document"> 
      <fo:repeatable-page-master-alternatives> 
       <fo:conditional-page-master-reference blank-or-not-blank="not-blank" master-reference="normal"/> 
       <fo:conditional-page-master-reference blank-or-not-blank="blank" master-reference="blank"/> 
      </fo:repeatable-page-master-alternatives> 
     </fo:page-sequence-master> 
</fo:layout-master-set> 

<fo:page-sequence master-reference="document" force-page-count="end-on-even"> 
    <fo:static-content flow-name="xsl-region-before"> 
     <fo:block font-weight="normal" font-family="Helvetica" text-align="center" margin="6mm 2mm 0mm 8mm"> 
     </fo:block> 
    </fo:static-content> 

    <fo:static-content flow-name="xsl-region-after"> 
     <fo:block font-size="9pt" font-weight="normal" font-family="Helvetica" margin="0mm 2mm 0mm 8mm"> 
      P <fo:page-number/>/<fo:page-number-citation ref-id="TheVeryLastPage"/> 
     </fo:block> 
    </fo:static-content> 

    <fo:static-content flow-name="header-blank"> 
     <fo:block text-align-last="center" font-size="9.5" margin-top="75mm"> 
      Intentionally left blank 
     </fo:block> 
    </fo:static-content> 

    <fo:flow flow-name="xsl-region-body"> 
     <fo:block id="TheVeryLastPage"> </fo:block> 
    </fo:flow> 

</fo:page-sequence> 

Выходные: Первая: P 1/1 Вторая страница: P 2/1

Желаемая выход: Первая: P 1/2 Вторая страница: P 2/2

Как я могу включить Умышленно левую пустую страницу в число моих страниц?

Любая помощь будет оценена по достоинству.

+0

Насколько я понимаю, вы используете Apache FOP, не так ли? – potame

+0

Да, написал это в названии. – Wolf

ответ

1

Это не может работать так, потому что ваш блок с идентификатором TheVeryLastPage не отображается на последней странице, которая была автоматически сгенерирована. Правильная нумерация будет сгенерирована только в том случае, если дополнительная пустая страница (умышленно оставлена ​​пустой) не требуется.

Apache FOP, который иногда и, к сожалению, ошибочен или ограничен в отношении поиска номера страницы (в частности, если вы используете <fo:page-number-citation-last ref-id="">, что может помочь в вашем случае, например, установив идентификатор на <fo:block>, который используется для отображения страницы нумерация, она должна работать должным образом - и на самом деле это делает с коммерческим рендерером, таким как Antenna House, потому что он способен выполнить процесс генерации 2-х прохода).

Единственный способ это с ФОП следующим образом:

  1. установить идентификатор на <fo:page-sequence>
  2. использовать <fo:page-number-citation-last>

Ваш измененный код будет выглядеть следующим образом:

<fo:page-sequence master-reference="document" force-page-count="end-on-even" id="TheVeryLastPage"> 
    <fo:static-content flow-name="xsl-region-before"> 
     <fo:block font-weight="normal" font-family="Helvetica" text-align="center" margin="6mm 2mm 0mm 8mm"> 
     </fo:block> 
    </fo:static-content> 

    <fo:static-content flow-name="xsl-region-after"> 
     <fo:block font-size="9pt" font-weight="normal" font-family="Helvetica" margin="0mm 2mm 0mm 8mm"> 
      P <fo:page-number/>/<fo:page-number-citation-last ref-id="TheVeryLastPage" /> 
     </fo:block> 
    </fo:static-content> 

    <fo:static-content flow-name="header-blank"> 
     <fo:block text-align-last="center" font-size="9.5" margin-top="75mm"> 
      Intentionally left blank 
      <!--fo:block id="TheVeryLastPage" /--> 
     </fo:block> 
    </fo:static-content> 

    <fo:flow flow-name="xsl-region-body"> 
     <fo:block>Thy hand, belinda, darkness shades me.</fo:block> 
     <fo:block>On thy bosom let me rest.</fo:block> 
     <fo:block>More I would, but death invades me.</fo:block> 
     <fo:block>Death is now a welcome guest.</fo:block> 

     <fo:block>When I am laid in earth, may my wrongs create</fo:block> 
     <fo:block>No trouble in thy breast.</fo:block> 
     <fo:block>Remember me, but ah! forget my fate.</fo:block> 
    </fo:flow> 
</fo:page-sequence> 
+0

Это сделало трюк. Спасибо! – Wolf

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