1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-26 10:08:06 +02:00

XFA - Fix a breakBefore issue when target is a contentArea and startNew is 1 (bug 1739502)

- it aims to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1739502;
 - when the target area was the current content area, everything was pushed in it instead of creating a new one (and consequently a new pageArea is created).
 - the pdf shows an alignment issue on page 4:
   - the hAlign is "center" but the subform was the width of its parent, so compute the real width of the subform with tb layout;
 - there is an extra empty page at the end of the pdf:
   - there is a subform with some hidden elements which are not rendered for now (since there is no plugged JS engine it isn't possible to draw them in changing their visibility).
   - so in case a subform is empty and has no real dimensions (at least one is 0), we just consider it as empty.
This commit is contained in:
Calixte Denizet 2021-11-05 18:59:49 +01:00
parent 611627f5a1
commit a08763f4aa
4 changed files with 36 additions and 8 deletions

View file

@ -147,7 +147,10 @@ function addHTML(node, html, bbox) {
break;
}
case "tb": {
extra.width = availableSpace.width;
// Even if the subform can possibly take all the available width,
// we must compute the final width as it is in order to be able
// for example to center the subform within its parent.
extra.width = Math.min(availableSpace.width, Math.max(extra.width, w));
extra.height += h;
extra.children.push(html);
break;