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 watchand 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.
- 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
SkiaImageProcessorin 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.
- 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.