Header/footer page numbers, heading, paragraph, image, multi-page table, numbered list.
Heading levels H1-H6, bold/italic/color/font/size modifiers, and text alignment.
Images from bytes/base64/file path, explicit dimensions vs aspect-ratio-derived sizing.
Custom column widths, and AllowSplitWithContinuedHeader vs KeepRowIntact compared.
Bulleted list, and a numbered list long enough to span pages with numbering intact.
AddPageBreak() forces each chapter to start on a fresh page regardless of remaining space.
PageSize.Letter rotated to landscape via PageOrientation, for a certificate-style layout.
AddRawHtml lets you inject arbitrary markup at a caller-supplied height.
An oversized, unsplittable image triggers a LayoutResult.Warnings entry instead of failing silently.
A single-page sales invoice with the company logo in both the header and footer.
AddRow lays out columns side by side - fixed vs auto widths, vertical alignment, and multi-element columns.
An invoice with a Code 128 barcode of the 8-digit invoice number in the top-right corner of the header.
Grouping line items under a shared RowSpan category cell, and a ColSpan-based Grand Total row.
AddColumns packs content into equal-width columns, fill-then-wrap, splitting a paragraph across the column boundary just like it would across a page boundary.
A compact 4x6 inch shipping label - a custom small page size combining a Code 128 tracking barcode and a QR code for the tracking URL.
EmbedFont embeds a font file (here, the OFL-licensed Pacifico) as a base64 @font-face rule, so the report doesn't depend on that font being installed wherever it's opened.
TextStyle.Direction sets dir/direction on paragraphs, headings, lists, and table cells - independent of Alignment, which stays physical (Left/Right), not logical (Start/End).
A table whose fixed-width columns leave nothing for its auto-width column triggers a LayoutWarningReason.ColumnWidthCollapsed warning - printed to the console with its structured fields, not just a message string.