Builder for unified document layout blocks.
Summary
Functions
Adds a scan-ready Interleaved 2 of 5 numeric barcode.
Builds a composable table cell.
Adds a native vector chart from {label, value} pairs. Supports :bar, :line, :area, :scatter, :pie, and :donut through :chart_type.
Adds a multi-column text section with balanced sequential columns.
Adds a reusable document component registered with PaperForge.component/3.
Adds an automatically numbered endnotes section.
Adds a footnote reserved at the bottom of its flow page.
Adds a simple responsive grid. Cells accept strings or inline-run lists.
Adds a measured scientific expression from PaperForge.Math AST.
Adds a scan-ready QR code rendered as PDF vector modules.
Adds a page-aware internal cross-reference to a heading or named destination.
Adds a paragraph made of inline text runs.
Adds an SVG fragment rendered as native PDF vectors.
Adds an automatic table of contents for headings in this flow.
Types
@type t() :: %PaperForge.Flow{blocks: [PaperForge.Layout.Block.t()]}
Functions
Adds a scan-ready Interleaved 2 of 5 numeric barcode.
Builds a composable table cell.
Content can be a scalar value, a layout block, or a list of layout blocks.
Options include :colspan, :rowspan, :align, :valign, :borders,
:fill_color, and :color.
Adds a native vector chart from {label, value} pairs. Supports :bar, :line, :area, :scatter, :pie, and :donut through :chart_type.
@spec columns(t(), pos_integer(), [binary()], keyword()) :: t()
Adds a multi-column text section with balanced sequential columns.
Adds a reusable document component registered with PaperForge.component/3.
@spec custom( t(), (PaperForge.Page.t(), PaperForge.PageContext.t() -> PaperForge.Page.t()), keyword() ) :: t()
@spec endnotes(t(), [{pos_integer(), binary()}], keyword()) :: t()
Adds an automatically numbered endnotes section.
@spec footnote(t(), pos_integer(), binary(), keyword()) :: t()
Adds a footnote reserved at the bottom of its flow page.
@spec grid(t(), pos_integer(), [term()], keyword()) :: t()
Adds a simple responsive grid. Cells accept strings or inline-run lists.
The grid is intentionally flow-native: it calculates its own height and moves as a single block when necessary.
@spec keep_together(t(), (t() -> t()) | PaperForge.Layout.Block.t()) :: t()
@spec math(t(), PaperForge.Math.ast(), keyword()) :: t()
Adds a measured scientific expression from PaperForge.Math AST.
@spec new() :: t()
Adds a scan-ready QR code rendered as PDF vector modules.
Adds a page-aware internal cross-reference to a heading or named destination.
Adds a paragraph made of inline text runs.
Each run is either a string or a {text, options} tuple. Run options can
override :font, :size, :color, :weight, :style, and :link.
Adds an SVG fragment rendered as native PDF vectors.
The renderer supports paths, Bézier curves, groups, affine transforms,
viewBox, clip paths, inherited presentation attributes, and the common
geometric elements.
Adds an automatic table of contents for headings in this flow.