xsl-list
[Top] [All Lists]

[xsl] FO: How to improve page breaks

2014-02-19 08:45:26
Hi colleagues,

For project managers it is always simple to justify the cost savings by 
avoiding DTP after having implemented a direct-to-PDF XSL-FO process. However, 
editors sometimes have the impression that automated layout will never be as 
good as manually fine-tuned pages. I take this as a constant challenge to 
surprise users that FO processing is not only consistent but can also be 
(almost as) clever as a human DTP specialist.

My current challenge is page breaks. A recurring problem is the following 
situation (I use HTML for markup examples):

<div>
  <p class="heading">Some heading</p>
  <p>A first paragraph.</p>
  <img src="url" />
  <p>Even more text.</p>
  <!-- rest of content -->
</div>

This topic should flow with the rest of the content. Everything is fine as long 
as the introductory <p> ends up on the same page as the following image. But if 
the image is pushed to the next page, the resulting page break is at a 
perceived wrong position if the first <p> has only short content. It would be 
fine, though, if this <p> contains a lot of text.

We do not want to introduce user-editable attributes to manually control 
page-breaks. And we want to avoid two-pass processing.

What we already did to avoid that headings appear near the bottom of a page is 
the insertion of
<fo:float float="start">
 <fo:block-container height="20mm"/>
</fo:float>
at the beginning of every <p class="heading"> (apart from the obvious 
keep-with-next).

This forces every heading appearing in the bottom 20mm to be pushed to the next 
page. 

I think I am now looking for something that keeps the heading + the following 
20mm of content on the same page.

Are there other options I might have overlooked, or is FOPRunXSLText recently 
mentioned by Tony Graham the way I should go?

Thanks a lot for comments,

- Michael

--
Michael Müller-Hillebrand
mmh(_at_)docufy(_dot_)de


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


<Prev in Thread] Current Thread [Next in Thread>