Class LayoutEngine
java.lang.Object
io.leandev.appfuse.report.internal.layout.LayoutEngine
排版引擎:把 ReportDocument 排成逐頁的定位 box,交給 PageSink
只依賴 TextMeasurer 與 ImageInspector,不依賴 PDF 實作。規則見 REP-03 契約設計:
孤行寡行的四個步驟、keepWithNext、KeepTogether、表格(TablePlacer)、圖形(GraphicLayout)、
頁首頁尾(RegionLayout),以及「自動換頁後同一內容仍放不下即停止」的前進保證。
-
Constructor Summary
ConstructorsConstructorDescriptionLayoutEngine(ReportDocument document, TextMeasurer measurer, ImageInspector images, PageSink sink, LayoutDiagnostics diagnostics, Runnable cancellationCheck) -
Method Summary
-
Constructor Details
-
LayoutEngine
public LayoutEngine(ReportDocument document, TextMeasurer measurer, ImageInspector images, PageSink sink, LayoutDiagnostics diagnostics, Runnable cancellationCheck) - Parameters:
cancellationCheck- 在檢查點呼叫;要求取消時丟出例外
-
-
Method Details
-
run
public int run()排版全部內容- Returns:
- 總頁數
-