Class ReportPaginator
- Namespace
- DocWright.Reporting.Pagination
- Assembly
- DocWright.Reporting.dll
Divides a processed report into pages: every item positioned, every textbox's text laid out, page headers and footers evaluated with their page numbers. The result is a ReportPageModel.
public static class ReportPaginator
- Inheritance
-
ReportPaginator
- Inherited Members
Remarks
Measured, not assumed. Text is laid out in thousandths of an inch from each face's win
metrics, items below a growing item keep their authored gap to it, a textbox that does not fit moves
to the next page or splits between lines, and page headers and footers reserve their height on every
page — each rule read from the PDF Microsoft's report engine writes for a probe report (facts 31–43 in
tools/DocWright.ReportOracle/README.md).
Stateless and concurrent. Nothing is kept between calls; one ReportInstance may be paginated on several threads at once. The FontEngine is the caller's to share — building one reads every installed font, so a host should keep one.
Failures. An expression that fails in a textbox shows #Error and is reported; a style
value that cannot be read uses its default and is reported (DXP9303). Limits raise
ResourceLimitExceededException (MaxReportPages) and cancellation
OperationCanceledException.
Methods
- Paginate(ReportInstance, FontEngine)
Paginates a report physically, with default options.
- Paginate(ReportInstance, FontEngine, ReportPaginationOptions?)
Paginates a report.