Community
Participate
Working Groups
Created attachment 276874 [details] Sample report to reproduce the problem. Since BIRT v.4.7 (and still in v4.8) the generated Pdf file ignores the height defined in the Report Editor. This problem affects about 57 report by us. The root cause is the change from commit f84d0f812a72ba8e54f6caf641e16442d480594c to the TableLayout class in org.eclipse.birt.report.engine bundle. (I was not able to find any bug ticket related to this commit). Reverting this change fixes our problem (but most likely it will bring back the problem that raised this change, if any). Attached you can find: - a sample report where to reproduce the problem. - a screenshot of the report editor that shows how the report is correctly displayed there - a screenshot of the code change that causes the problem - a generated pdf of the attached report with the current 4.8 Birt version that shows the error - a generated pdf of the attached report with the above change reverted.
Created attachment 276875 [details] Report Editor screenshot
Created attachment 276876 [details] Changed Code Screenshot
Created attachment 276877 [details] Generated PDF with current 4.8 Birt
Created attachment 276878 [details] Generated PDF with specified change reverted
*** Bug 551651 has been marked as a duplicate of this bug. ***
Same issue in 4.9 release candidate. Fixed layout reports rely on row height honored especially when rows are empty as this approach allows to achieve desired layout for pre-printed forms like checks, w-2s, pre-formatted bills or any other reports where fixed/exact presentation is critical. This is serious, critical issue which makes upgrade from 4.6 to any latest version impossible. Seems to be broken in PDF only. All other formats like html, excel, docx and ppt are Ok. But pdf is the most accurate and important format therefore that must be be supported. Not to mention now you have different output for html vs pdf. When this can be fixed? Thanks,
The problem introduced in https://github.com/eclipse/birt/commit/f84d0f812a72ba8e54f6caf641e16442d480594c class org.eclipse.birt.report.engine.nLayout.area.impl.TableLayout line 850-851: // Do not use specified height if row is empty to avoid endless page break int sheight = isEmptyRow( rowArea ) ? 0 : rowArea.getSpecifiedHeight( ); int height = sheight; Should be int sheight = rowArea.getSpecifiedHeight( ); int height = sheight; Then it works fine (as before). Maybe you need to set height to 0 only when layout is NOT fixed, e.g.: int sheight = (!isFixedLayout && isEmptyRow( rowArea )) ? 0 : rowArea.getSpecifiedHeight( ); int height = sheight;