[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[birt-dev] CheckIn: Page break algorithm enhancement, resolve page-break related bugs: 141173 , 150243 , 153039 , 153871, 161290
|
Title: CheckIn: Page break algorithm enhancement, resolve page-break related bugs: 141173 ,150243 ,153039 , 153871, 161290
Summary
Page break algorithm enhancement, resolve page-break related bugs
Bugzilla Bug (s) Resolved:
141173 Page Break Inside - Avoid does not work
150243 Widow/Orphans
153039 PDF-Export: problems with table rows on page break
153871 Page Break in Row
156471 Single table row spanning multiple pages
161290 PDF creation thrashes indefinitely for some images with particular report formatting
Description:
Page-break enhancement in PDF report:
1. Support page-break-inside: avoid for all report items.
2. Support page-break-inside: avoid for Row element
3. Support page-break-inside: avoid for List group element
4. Support page-break-after: avoid for report items
5. Support widows/orphans for block text type elements(text, data, label etc)
Need to enhance in next step:
1. Support page-break-before: avoid for report items
2. Support page-break-inside: avoid for Table group element.
Some rules in page-break algorithm:
1. For the same level elements: Always>avoid>auto. For example, the first element is set as page-break-after: avoid, and the second is set as page-break-before: always, then page-break occurs.
2. Children take higher priority than parent. For example, if parent=page-break-inside: avoid, and child=page-break-after/before: always, then page-break occurs.
3. Page-break-inside: avoid takes higher priority than widows/orphans.
4. Page-break-inside: avoid is inheritable.
5. If an element is set as page-break-after: avoid, which means that keep itself and the next element in the same page, so a potential rule is to avoid page-break in this element.
Test Description:
Manual Test
Files Edited:
"/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTableBandLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/font/FontConfigReader.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFLayoutEngineContext.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFListGroupLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/ListGroupExecutor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/TableGroupExecutor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/util/HTMLStyleProcessor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/parser/EngineIRVisitor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTableGroupLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTemplateLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/executor/GroupExecutor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/ILineStackingLayoutManager.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFPageLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/ir/GroupDesign.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/font/FontMappingManager.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFInlineContainerLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/html/HTMLTableLayoutNoNestEmitter.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFRowLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/LayoutEngineFactory.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/html/HTMLTableLayoutNestEmitter.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTextBlockContainerLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFGroupLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/content/LineStackingExecutor.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFStackingLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/ir/IOConstants.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/ir/EngineIRWriter.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFRegionLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFListLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTableLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTextInlineBlockLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFAbstractLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFLineAreaLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTextLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFCellLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/ILayoutContext.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFInlineStackingLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/IStackingLayoutManager.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFLeafItemLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/html/HTMLTableLayoutEmitter.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFBlockStackingLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/area/impl/ContainerArea.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFTableRegionLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/layout/pdf/PDFImageLM.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/ir/EngineIRReader.java"
"
Notes to Build Team:
Notes to Developers:
Notes to QA:
Quotes to Documentation: