You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by MARTIN Franck <fr...@c-s.fr> on 2002/10/08 10:03:22 UTC

Static-content on even pages only

Hi,

I am trying to generate a pdf file with the fo:flow being displayed on odd pages only and some static content being displayed on even pages only. I also want the pdf document to have an even number of pages.
I have tried to use a conditional page sequence as follows but it won't work. It will generate blank even pages!!

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
    <fo:simple-page-master master-name="odd-page">
         <fo:region-body region-name="global-region-body"/>
    </fo:simple-page-master>

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

    <fo:page-sequence-master master-name="page-sequence-global">
        <fo:repeatable-page-master-alternatives>
              <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-page"/>
              <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-page"/>
        </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="page-sequence-global" initial-page-number="1" force-page-count="even">
    <fo:static-content flow-name="even-region-body">
        <fo:block>Some static content that fits on one page but that must be repeated on every even page only</fo:block>
    </fo:static-content>

  
   <fo:flow flow-name="global-region-body">
        <fo:block>Some very long flow that could fit on more than one page</fo:block>
    </fo:flow>
</fo:page-sequence>
</fo:root> 

Thanks alot

Franck MARTIN


Re: Static-content on even pages only

Posted by MARTIN Franck <fr...@c-s.fr>.
Thanks for your response.
force-page-count="end-on-even" produces the sameoutput that force-page-count="even" so i still get blank evn pages. The size of region body is the same that the even page size since there are no margins. So the size is the default 203.2*279.4mm.

Any other proposition??

I need help please.

Franck MARTIN

  ----- Original Message ----- 
  From: Rodolphe VAGNER 
  To: fop-user@xml.apache.org 
  Sent: Tuesday, October 08, 2002 10:34 AM
  Subject: Re: Static-content on even pages only



  You should use "force-page-count="end-on-even"" instead of  force-page-count="even" I believe.
  What are the sizes of your even-region-body ?

    ----- Original Message ----- 
    From: MARTIN Franck 
    To: fop-user@xml.apache.org 
    Sent: Tuesday, October 08, 2002 10:03 AM
    Subject: Static-content on even pages only


    Hi,

    I am trying to generate a pdf file with the fo:flow being displayed on odd pages only and some static content being displayed on even pages only. I also want the pdf document to have an even number of pages.
    I have tried to use a conditional page sequence as follows but it won't work. It will generate blank even pages!!

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
        <fo:simple-page-master master-name="odd-page">
             <fo:region-body region-name="global-region-body"/>
        </fo:simple-page-master>

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

        <fo:page-sequence-master master-name="page-sequence-global">
            <fo:repeatable-page-master-alternatives>
                  <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-page"/>
                  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-page"/>
            </fo:repeatable-page-master-alternatives>
        </fo:page-sequence-master>
    </fo:layout-master-set>

    <fo:page-sequence master-reference="page-sequence-global" initial-page-number="1" force-page-count="even">
        <fo:static-content flow-name="even-region-body">
            <fo:block>Some static content that fits on one page but that must be repeated on every even page only</fo:block>
        </fo:static-content>

      
       <fo:flow flow-name="global-region-body">
            <fo:block>Some very long flow that could fit on more than one page</fo:block>
        </fo:flow>
    </fo:page-sequence>
    </fo:root> 

    Thanks alot

    Franck MARTIN


RE: Static-content on even pages only and bug in FOP!!!

Posted by "Matthew L. Avizinis" <ml...@gleim.com>.
Here's a setup that I know puts even and odd static content on even and odd
pages, because it's the one I use on a regular basis.  Maybe by example you
can figure out what you require.

<fo:layout-master-set>
   <fo:simple-page-master master-name="first-page" page-height="279mm"
page-width="216mm">
      <fo:region-body margin-top="12.0mm" margin-bottom="5mm"
margin-left="19.1mm" margin-right="19.1mm"/>
      <fo:region-before region-name="page-num-only" extent="27.9mm"/>
      <fo:region-after extent="10.0mm"/>
   </fo:simple-page-master>

   <fo:simple-page-master master-name="page-odd" page-height="279mm"
page-width="216mm">
      <fo:region-body margin-top="12.0mm" margin-bottom="5mm"
margin-left="19.1mm" margin-right="19.1mm"/>
      <fo:region-before region-name="page-num-right" extent="27.9mm"/>
      <fo:region-after extent="10.0mm"/>
   </fo:simple-page-master>

   <fo:simple-page-master master-name="page-even" page-height="279mm"
page-width="216mm">
      <fo:region-body margin-top="12.0mm" margin-bottom="5mm"
margin-left="19.1mm" margin-right="19.1mm"/>
      <fo:region-before region-name="page-num-left" extent="27.9mm"/>
      <fo:region-after extent="10.0mm"/>
   </fo:simple-page-master>

   <fo:page-sequence-master master-name="outline">
      <fo:repeatable-page-master-reference master-reference="first-page"
maximum-repeats="1"/>
      <fo:repeatable-page-master-alternatives maximum-repeats="no-limit">
         <fo:conditional-page-master-reference odd-or-even="odd"
master-reference="page-odd"/>
         <fo:conditional-page-master-reference odd-or-even="even"
master-reference="page-even"/>
      </fo:repeatable-page-master-alternatives>
   </fo:page-sequence-master>
</fo:layout-master-set>


<fo:page-sequence master-reference="outline" initial-page-number="1"
format="1" font-family="Helvetica">
   <fo:static-content flow-name="page-num-only">
   </fo:static-content>


   <fo:static-content flow-name="page-num-left">
   </fo:static-content>

   <fo:static-content flow-name="page-num-right">
   </fo:static-content>


-----Original Message-----
From: MARTIN Franck [mailto:franck.martin@c-s.fr]
Sent: Tuesday, October 08, 2002 10:55 AM
To: fop-user@xml.apache.org
Subject: Re: Static-content on even pages only and bug in FOP!!!


Thanks for you reply

That is not working either but it helps a bit. The even-body static-content
that is "Some static content that fits on one page but that must be repeated
on every even page only" is still not displayed at all. Moreover the last
page which is even (that is due to force-page-count="even") displays the
page-odd-before content and not the even one!!!

So there seems to be a bug in fop cause the last page which is even numbered
should have the even page master not the odd one!!!

has anyone had this experiment before??

franck MARTIN
----- Original Message -----
From: Matthew L. Avizinis
To: fop-user@xml.apache.org
Sent: Tuesday, October 08, 2002 4:23 PM
Subject: RE: Static-content on even pages only


To do what you want you need some additional stuff.  Basically you have to
add a region-before to each simple-page-master and name those regions.  Then
you have to have a static content which references those new region names.
Refer below

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
    <fo:simple-page-master master-name="odd-page">
         <fo:region-body region-name="global-region-body"/>
[2¢]-->] <fo:region-before region-name="page-odd" extent="25mm"/>
    </fo:simple-page-master>

    <fo:simple-page-master master-name="even-page">
        <fo:region-body region-name="even-region-body"/>
[2¢]-->] <fo:region-before region-name="page-even" extent="25mm"/>
    </fo:simple-page-master>

    <fo:page-sequence-master master-name="page-sequence-global">
        <fo:repeatable-page-master-alternatives>
              <fo:conditional-page-master-reference odd-or-even="odd"
master-reference="odd-page"/>
              <fo:conditional-page-master-reference odd-or-even="even"
master-reference="even-page"/>
        </fo:repeatable-page-master-alternatives>
    </fo:page-sequence-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="page-sequence-global"
initial-page-number="1" force-page-count="even">
    <fo:static-content flow-name="even-region-body">
        <fo:block>Some static content that fits on one page but that must be
repeated on every even page only</fo:block>
    </fo:static-content>
[2¢]-->] <fo:static-content flow-name="page-odd">
              your content
           </fo:flow>
[2¢]-->] <fo:static-content flow-name="page-even">
              your content
            </fo:flow>


   <fo:flow flow-name="global-region-body">
        <fo:block>Some very long flow that could fit on more than one
page</fo:block>
    </fo:flow>
</fo:page-sequence>
</fo:root>

Thanks alot

Franck MARTIN


Re: Static-content on even pages only and bug in FOP!!!

Posted by MARTIN Franck <fr...@c-s.fr>.
Thanks for you reply

That is not working either but it helps a bit. The even-body static-content that is "Some static content that fits on one page but that must be repeated on every even page only" is still not displayed at all. Moreover the last page which is even (that is due to force-page-count="even") displays the page-odd-before content and not the even one!!!

So there seems to be a bug in fop cause the last page which is even numbered should have the even page master not the odd one!!!

has anyone had this experiment before??

franck MARTIN
  ----- Original Message ----- 
  From: Matthew L. Avizinis 
  To: fop-user@xml.apache.org 
  Sent: Tuesday, October 08, 2002 4:23 PM
  Subject: RE: Static-content on even pages only


  To do what you want you need some additional stuff.  Basically you have to add a region-before to each simple-page-master and name those regions.  Then you have to have a static content which references those new region names.  Refer below

        <?xml version="1.0" encoding="ISO-8859-1"?>
        <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
        <fo:layout-master-set>
            <fo:simple-page-master master-name="odd-page">
                 <fo:region-body region-name="global-region-body"/>
        [2¢]-->] <fo:region-before region-name="page-odd" extent="25mm"/>
            </fo:simple-page-master>

            <fo:simple-page-master master-name="even-page">
                <fo:region-body region-name="even-region-body"/>
        [2¢]-->] <fo:region-before region-name="page-even" extent="25mm"/> 
            </fo:simple-page-master>

            <fo:page-sequence-master master-name="page-sequence-global">
                <fo:repeatable-page-master-alternatives>
                      <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-page"/>
                      <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-page"/>
                </fo:repeatable-page-master-alternatives>
            </fo:page-sequence-master>
        </fo:layout-master-set>

        <fo:page-sequence master-reference="page-sequence-global" initial-page-number="1" force-page-count="even">
            <fo:static-content flow-name="even-region-body">
                <fo:block>Some static content that fits on one page but that must be repeated on every even page only</fo:block>
            </fo:static-content>
        [2¢]-->] <fo:static-content flow-name="page-odd">
                      your content
                   </fo:flow> 
        [2¢]-->] <fo:static-content flow-name="page-even">
                      your content
                    </fo:flow> 

          
           <fo:flow flow-name="global-region-body">
                <fo:block>Some very long flow that could fit on more than one page</fo:block>
            </fo:flow>
        </fo:page-sequence>
        </fo:root> 

        Thanks alot

        Franck MARTIN


RE: Static-content on even pages only

Posted by "Matthew L. Avizinis" <ml...@gleim.com>.
To do what you want you need some additional stuff.  Basically you have to
add a region-before to each simple-page-master and name those regions.  Then
you have to have a static content which references those new region names.
Refer below

      <?xml version="1.0" encoding="ISO-8859-1"?>
      <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
      <fo:layout-master-set>
          <fo:simple-page-master master-name="odd-page">
               <fo:region-body region-name="global-region-body"/>
      [2¢]-->] <fo:region-before region-name="page-odd" extent="25mm"/>
          </fo:simple-page-master>

          <fo:simple-page-master master-name="even-page">
              <fo:region-body region-name="even-region-body"/>
      [2¢]-->] <fo:region-before region-name="page-even" extent="25mm"/>
          </fo:simple-page-master>

          <fo:page-sequence-master master-name="page-sequence-global">
              <fo:repeatable-page-master-alternatives>
                    <fo:conditional-page-master-reference odd-or-even="odd"
master-reference="odd-page"/>
                    <fo:conditional-page-master-reference odd-or-even="even"
master-reference="even-page"/>
              </fo:repeatable-page-master-alternatives>
          </fo:page-sequence-master>
      </fo:layout-master-set>

      <fo:page-sequence master-reference="page-sequence-global"
initial-page-number="1" force-page-count="even">
          <fo:static-content flow-name="even-region-body">
              <fo:block>Some static content that fits on one page but that
must be repeated on every even page only</fo:block>
          </fo:static-content>
      [2¢]-->] <fo:static-content flow-name="page-odd">
                    your content
                 </fo:flow>
      [2¢]-->] <fo:static-content flow-name="page-even">
                    your content
                  </fo:flow>


         <fo:flow flow-name="global-region-body">
              <fo:block>Some very long flow that could fit on more than one
page</fo:block>
          </fo:flow>
      </fo:page-sequence>
      </fo:root>

      Thanks alot

      Franck MARTIN


Re: Static-content on even pages only

Posted by MARTIN Franck <fr...@c-s.fr>.
I wonder if static-content can target every other page. According the the w3c recommendation it seems that is has to be repeated on EVERY PAGE but i only want it on EVEN pages.

Please help me, i'm sure there must be a way or a workaround...

Franck MARTIN
  ----- Original Message ----- 
  From: Rodolphe VAGNER 
  To: fop-user@xml.apache.org 
  Sent: Tuesday, October 08, 2002 10:34 AM
  Subject: Re: Static-content on even pages only



  You should use "force-page-count="end-on-even"" instead of  force-page-count="even" I believe.
  What are the sizes of your even-region-body ?

    ----- Original Message ----- 
    From: MARTIN Franck 
    To: fop-user@xml.apache.org 
    Sent: Tuesday, October 08, 2002 10:03 AM
    Subject: Static-content on even pages only


    Hi,

    I am trying to generate a pdf file with the fo:flow being displayed on odd pages only and some static content being displayed on even pages only. I also want the pdf document to have an even number of pages.
    I have tried to use a conditional page sequence as follows but it won't work. It will generate blank even pages!!

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
        <fo:simple-page-master master-name="odd-page">
             <fo:region-body region-name="global-region-body"/>
        </fo:simple-page-master>

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

        <fo:page-sequence-master master-name="page-sequence-global">
            <fo:repeatable-page-master-alternatives>
                  <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-page"/>
                  <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-page"/>
            </fo:repeatable-page-master-alternatives>
        </fo:page-sequence-master>
    </fo:layout-master-set>

    <fo:page-sequence master-reference="page-sequence-global" initial-page-number="1" force-page-count="even">
        <fo:static-content flow-name="even-region-body">
            <fo:block>Some static content that fits on one page but that must be repeated on every even page only</fo:block>
        </fo:static-content>

      
       <fo:flow flow-name="global-region-body">
            <fo:block>Some very long flow that could fit on more than one page</fo:block>
        </fo:flow>
    </fo:page-sequence>
    </fo:root> 

    Thanks alot

    Franck MARTIN


Re: Static-content on even pages only

Posted by Rodolphe VAGNER <ro...@eurodoc-sofilog.com>.
You should use "force-page-count="end-on-even"" instead of  force-page-count="even" I believe.
What are the sizes of your even-region-body ?

  ----- Original Message ----- 
  From: MARTIN Franck 
  To: fop-user@xml.apache.org 
  Sent: Tuesday, October 08, 2002 10:03 AM
  Subject: Static-content on even pages only


  Hi,

  I am trying to generate a pdf file with the fo:flow being displayed on odd pages only and some static content being displayed on even pages only. I also want the pdf document to have an even number of pages.
  I have tried to use a conditional page sequence as follows but it won't work. It will generate blank even pages!!

  <?xml version="1.0" encoding="ISO-8859-1"?>
  <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <fo:layout-master-set>
      <fo:simple-page-master master-name="odd-page">
           <fo:region-body region-name="global-region-body"/>
      </fo:simple-page-master>

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

      <fo:page-sequence-master master-name="page-sequence-global">
          <fo:repeatable-page-master-alternatives>
                <fo:conditional-page-master-reference odd-or-even="odd" master-reference="odd-page"/>
                <fo:conditional-page-master-reference odd-or-even="even" master-reference="even-page"/>
          </fo:repeatable-page-master-alternatives>
      </fo:page-sequence-master>
  </fo:layout-master-set>

  <fo:page-sequence master-reference="page-sequence-global" initial-page-number="1" force-page-count="even">
      <fo:static-content flow-name="even-region-body">
          <fo:block>Some static content that fits on one page but that must be repeated on every even page only</fo:block>
      </fo:static-content>

    
     <fo:flow flow-name="global-region-body">
          <fo:block>Some very long flow that could fit on more than one page</fo:block>
      </fo:flow>
  </fo:page-sequence>
  </fo:root> 

  Thanks alot

  Franck MARTIN