Table of Contents

Namespace Rustaveli.Pdf

Classes

Artwork

Vector artwork: paths filled and stroked, text and transforms, drawn at a size of its own and placed in a frame as an image is, scaled to fit. It stays vector in the PDF, sharp at any size.

ArtworkComposer

Draws artwork, a step at a time, as a pen on a page would: fills, strokes and text, under transforms and clips that last until the state saved before them is restored.

BandsComposer

Builds content sandwiched between two repeating bands.

CellFrame

One table cell: the frame its content goes into, and where in the table it sits and how many rows and columns it spans. Rows and columns are numbered from 1.

ColumnsComposer

Adds the items of a row set side by side, each in a frame of its own, in the order they read.

ComplexScripts

Turns on shaping of complex scripts — Arabic, Hebrew with points, the scripts of India and South-East Asia and others — for the text a TypefaceLibrary sets.

CompositionException

Thrown when a document is composed wrongly: two pieces of content set into one frame, a modifier applied where it has no meaning, a table cell outside its columns, or an exception thrown by the composing code itself.

ContentTag

The part content plays in a document's structure — a heading, a paragraph, a figure and what it shows — as a tagged PDF records it for screen readers, reflow and search.

Document

A composed document, ready to be rendered.

DocumentInfo

Descriptive information written into the PDF's metadata dictionary.

DocumentPreview

Shows documents in the browser while they are written. Run the program under dotnet watch and every saved change to the code that composes the document redraws it, without restarting.

DynamicPage

The page dynamic content is being composed for: its number, the room left on it, and a way to measure content before choosing it.

DynamicPart<TState>

What dynamic content draws on one page, how far it has got after it, and whether it goes on.

FileAttachment

A file carried inside a PDF, listed among its attachments: the XML of an electronic invoice, a spreadsheet of the figures a report shows, the source a drawing was made from.

FlowColumnsComposer

Builds columns a story flows through as a newspaper's does: down one, on into the next, and on to the next page.

FlowComposer

Builds a flow: items set side by side as words are set in a line, wrapping on to a new line wherever the next would not fit.

FrameContent

The content a frame can hold: text, pictures, and the arrangements — stacks, rows, grids, tables and more — that hold further frames of their own.

FrameModifiers

Composition methods for spacing, sizing, alignment and flow control.

Gradient

A linear blend of two or more inks along a line at an angle across the box it fills, evenly spaced or at the positions given.

GridComposer

Adds the cells of a grid: rows divided into equal columns, twelve unless set, with each cell spanning one or more of them and the cells filling each row in turn.

ImageExport

Exports a document's pages as images, drawn by SkiaSharp.

ImageExportOptions

How pages are exported as images.

IncorrectPasswordException

Thrown when a protected PDF is opened without the password it needs, or with a wrong one.

LayersComposer

Adds layers drawn one over another across the same room, each in a frame of its own.

Lengths
ListComposer

Builds the contents of a list.

MissingGlyphException

Thrown, when an export asks for every glyph, if the document holds characters no typeface has. In print such a character is a missing glyph, which a layout application highlights rather than let go to press.

Numerals

Writes numbers as the numerals folios and lists are set in: arabic, roman or alphabetic.

OversetException

Thrown when content fits on no page. In print, text that does not fit its frame is overset.

PaperSizes

Standard page dimensions in PDF points, portrait unless stated otherwise.

PdfExport

Exports a document as PDF.

PdfExportOptions

How a document is exported as PDF.

PdfFile

A PDF file being put together from others: its pages kept, reordered or added to from other files, and pages of other files laid beneath or over them, like a letterhead or a stamp. Nothing is written until it is saved.

PreviewOptions

How a document is previewed.

PreviewSession

A document shown in the browser at Url as it is written: composed again and redrawn whenever Refresh() is called or code changes under dotnet watch, a layout failure shown on the page in place of it, until the session is disposed.

Protection

How a PDF is protected by password: what opens it, what lifts its restrictions, what a reader may do with it once open, and how strongly it is encrypted.

RasterImage

A JPEG or PNG image, to place with Image(IFrame, IImage, ImageFitting). Loading validates it without decoding it; a JPEG, and most PNGs, are embedded exactly as they were encoded.

RenderingException

Thrown when laying out or drawing a page fails because content threw; the message names the page, and the inner exception says why.

RunComposer

Refines the style of a single span.

SampleData

Stand-in content for laying a document out before the real content exists: dummy text as typesetters set it, names, addresses, numbers, dates, inks and images.

Section

A run of pages that share a size, margins, paper and running bands, and the five frames their content goes into.

SkiaImageProcessor

Re-encodes images for PDF export with Skia: turned the right way up, scaled with a cubic filter to the pixels asked for, and written as JPEG at the quality asked for — or as PNG where the image has transparency or no quality is asked.

StackComposer

Builds the contents of a vertical stack.

StyleSheet

A document's named styles: type styles for words, paragraph styles for blocks of text, and frame styles for the frames content sits in — each defined once, able to build on another, and applied by name.

SvgExport

Exports a document as SVG, a document to a page, a unit to the point: text as the outlines of its glyphs, so a page shows the same without its fonts, and images carried within it.

TableBand

Adds the cells of a table's header rows or footer rows, which are drawn again on every page the table runs on to.

TableColumns

Declares the columns of a table.

TableComposer

Declares a table's columns and adds its cells: those of the body, and those of header and footer rows drawn again on every page the table runs on to.

TextComposer

Builds a paragraph out of styled spans.

TypeStyle

The complete set of attributes governing how a run of text is measured and drawn.

TypefaceLibrary

The typefaces documents are set in: those registered here, then those installed on the machine.

TypesettingException

The base of every failure the library reports while composing, setting or rendering a document, so that one catch handles them all.

UnreadableFileException

Thrown when a file cannot be read as a PDF: it is not one, or it is damaged beyond what a reader can repair.

VectorExportOptions

How a document is exported as vector pages: SVG, or XPS.

VectorPath

A path of straight and curved segments, in one or more closed or open figures, for artwork to fill, stroke or clip to. Coordinates are in points, Y running down.

XpsExport

Exports a document as XPS, the fixed-layout format Windows prints through. Available on Windows only, where the system writes it.

Structs

CapturedPosition

Where captured content was drawn: on which page, where on it and how big a box it took.

Corners

Per-corner radii in PDF points, for rounded fills and strokes: clockwise from the top left.

Extent

A width and a height in PDF points: the size of a page, the room a block is offered, or the room it takes.

GradientStop

An ink at a position along a gradient, from 0 at its start to 1 at its end.

ImageProcessing

What an IImageProcessor is asked to make of an image.

ImageRequest

What an image generated at its final size is asked for: the box it fills and the pixels that takes.

Ink

A colour as print thinks of it: an RGB colour, a CMYK process colour, or a named spot ink with a process-colour fallback — at some tint and opacity (docs/adr/0004-ink-colour-model.md).

LineStyle

How a path is stroked: its weight, how its ends and corners are finished, and any dashes.

Offset

A point, or a distance to move by, in PDF points: across from the left and down from the top, as layout measures a page.

PageFacts

What is known about the page being laid out, for content that shows only on some pages.

Shadow

A soft shadow cast by a frame onto what lies beneath it, as a drop shadow in a layout application or a box shadow in CSS.

Sides

Per-side lengths in PDF points, used for padding and border widths.

Interfaces

IComposition

Collects the page runs that make up a document.

IDynamicContent<TState>

Content composed afresh for every page it reaches, knowing the page and the room left on it: a running total carried from page to page, say, or a list set only as far as the page holds.

IFrame

A place content is set into. Sections, composers and modifiers hand out frames, each holding one piece of content; every modifier returns the frame inside it, so modifiers chain until content ends the chain.

IImage

A decoded raster image ready to be placed into a document.

IImageProcessor

Re-encodes images for embedding: scales them to the pixels they are shown at and compresses them at a quality. The core embeds images as they are; a processor, such as SkiaImageProcessor in the Raster package, is only needed when an image or the export asks for a quality or a maximum resolution.

ISnippet

A piece of composing packaged for reuse: a heading style, an address block, a table layout used on many pages.

Enums

AttachmentRelationship

How an attached file relates to the document it is attached to (ISO 32000-2, 14.13.2).

EncryptionLevel

How strongly a protected PDF is encrypted, from the weakest readers still honour to the strongest.

FillRule

Which parts of a path that crosses itself, or holds figures within figures, count as inside.

ImageFitting

How an image is scaled into the space allocated to it.

InkModel

How an Ink is specified.

InlinePosition

Where a frame set inline with text sits against the line: on or below its baseline, or level with the top, bottom or middle of the type around it.

LengthUnit

Physical units convertible to PDF points, the unit every layout API expects.

LineCap

How the open ends of a stroke, and of every dash in it, are finished.

LineJoin

How a stroke turns a corner.

ListNumbering

How a list marks each of its items.

PageImageFormat

The file format pages are exported as images in.

PdfAConformance

The part and level of PDF/A, the ISO 19005 standard for documents kept for the long term, a PDF is written to.

PdfUAConformance

The part of PDF/UA, the ISO 14289 standard for documents everyone can read, assistive technology included, a PDF is written to.

ProportionFit

Which dimension a frame held to a proportion is fitted to: see Proportion(IFrame, float, ProportionFit).

ReadingDirection

The direction in which sibling content flows. Mirrors horizontal layout when set to RightToLeft.

ScriptPosition

Vertical displacement applied to a run relative to the baseline.

StrokeAlignment

Where a frame's stroke lies against its edge — the stroke alignments of a page-layout application.

StrokeStyle

How a stroke is drawn — the stroke types of a page-layout application.

TextAnchor

Which part of a line of artwork text sits at the point it is set at.

TypeWeight