javapdfxhtmlrenderer

How to use CSS3 orphans and widows properties with xhtmlrenderer (flying saucer) R8?


I read in this bugfix description that xhtmlrenderer should support the "orphans" and "widows" properties of CSS3 since Version R5. Using R8, it seems not to work.

div.textContent {
    orphans: 5;
    widows: 3;
}

But it looks like this:

Wrong paragraph breaking

The paragraph (a div block element) is broken into two pieces although it must not.

Any ideas or experience with this? Thanks!


Solution

  • It is a bug in the Flying Saucer (xhtmlrenderer). There is a satisfyWidowsAndOrphans function in BlockBox.java, but it is called only after isNeedPageClear is called. I've created an issue in the issue tracker.

    Note that the page-break-inside: avoid; css rule works.