PageLayout Class

Definition

Where every page of a document sits in a viewer: pages grouped into spreads, spreads in a strip with gaps and padding, each page turned by its own Rotate plus the user's rotation; and the exact mapping between viewport pixels, layout points and each page's default user space, the zooms that fit a viewport, and the pages and tiles a viewport shows.

public sealed class PageLayout

Remarks

ISO 32000-2 §7.7.2 (Table 29, PageLayout), §7.7.3.3 (Rotate), §8.3.2.3 (default user space) and §14.11.2 (the crop box is the region displayed; UserUnit). Spec #33 story 54 (viewer capability 14).

Layout space is in points with y down, the same at every zoom: a page's box is its crop box turned and scaled by its user unit. A Viewport shows it at Zoom pixels per point; a page's pixels are those of a render of the whole page at that scale and the layout's Rotation (Region), so the mapping here agrees with the tiles a DocumentSession renders. A layout is immutable and safe to use from any thread; the per-frame queries (GetVisiblePages(in Viewport, Span<VisiblePage>, Double), GetVisibleTiles(in Viewport, Int32, Span<Tile>, Double), the mappings) allocate nothing and search the spreads in logarithmic time.

Tip: use kind:method, kind:property, kind:ctor. Press Esc to clear.

Properties (9)

Methods (23)