Bookmark Problem

Hi,
   I have been using FOP (version 0.20.5) on Windows and the following example does generate PDF but the bookmark looks jibberish.  Can anyone help.

<!-- ------------------------------------- Example  -------------------------------------- --->

<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:fox="http://xml.apache.org/fop/extensions"> 
 <fo:layout-master-set>
   <fo:simple-page-master page-width="21cm" page-height="29.7cm" master-name="A4">
     <fo:region-body margin-bottom="1.5cm" margin-right="2cm" margin-left="2cm" margin-top="1.5cm"/>
     <fo:region-before extent="1cm"/>
      <fo:region-after extent="1.5cm"/>
   </fo:simple-page-master>
 </fo:layout-master-set>
 
  <fox:outline internal-destination="sec3">
    <fox:label>Running FOP</fox:label>
    <fox:outline internal-destination="sec3-1">
      <fox:label>Prerequisites</fox:label>
    </fox:outline>
  </fox:outline>

 <fo:page-sequence master-reference="A4">
      <fo:static-content flow-name="xsl-region-before">
      <fo:block line-height="24pt" font-size="10pt"
    text-align="center">National Library Of Medicine Classification  </fo:block>
    </fo:static-content>
    <fo:static-content flow-name="xsl-region-after">
      <fo:block line-height="14pt" font-size="10pt"
    text-align="center"><fo:page-number/></fo:block>
    </fo:static-content>
  <fo:flow flow-name="xsl-region-body">
  <fo:block id="sec3">Begin</fo:block>
  
  <fo:block>
   Deliberately copied something from internet here just to test the content flow.
   
   I have been having a problem in my environment where PDFs generated
dynamically by FOP running in a servlet were not rendered properly in M$ IE
5. It was discovered that large PDFs (> 8k) displayed properly, but small
ones did not display at all. Further discussion on the list suggested that
IE requires that either the content-length be set or the data sent HTTP
chunked. I do not like having to store a potentially quite large PDF just so
that I can find out how big it is to set the header. So I tried implementing
an HTTP Chunked OutputStream. This was not too difficult to do and it kind
of works, except that in my testing I found that even with the chunked
output, small  PDFs STILL DO NOT DISPLAY IN IE5! I then changed the
chunked output stream to use an 8k buffer to build the chunks. If the output
is closed before the buffer is filled the first time then I just set the
content-length header and send the contents of the buffer non-chunked. If
there is more output after the buffer has been filled then the data is sent
chunked. So far this seems to be working, but I have not tested it
rigorously. I also understand that since this requires HTTP 1.1 it may not
work in the general case.

I present this information in the hopes that it will be helpful to someone.
I do not think that FOP should attempt to include chunked output capability.
It should write to a stream - the stream implementation determined by the
external application. For anyone interested in doing the same thing, there
are a few chunked stream implementations out there - or you could write your
own. My implementation is kind of limited and not well tested, so I am not
willing to make it available at this point. Maybe I will reconsider after I
have done more testing - but at the moment I am preoccupied with migrating
my application to XalanJ2 from XalanJ1 and have not been able to look at FOP
or output related things for a while.

  </fo:block>
  <fo:block id="sec3-1">Testing</fo:block>
  </fo:flow>
  </fo:page-sequence>
  
</fo:root>

Received on Saturday, 10 June 2006 05:51:28 UTC