# PaperForge v0.2.0 - Table of Contents

> A pure Elixir PDF generation engine with multi-page documents,
text layout, vector graphics, standard PDF fonts, JPEG and PNG images,
transparency, compression, page margins, coordinate systems, and metadata.

## Pages

- [PaperForge](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- [PaperForge](PaperForge.md): Public API for creating PDF documents with PaperForge.
- [PaperForge.Color](PaperForge.Color.md): Represents colors used by PDF graphics operations.
- [PaperForge.Compression](PaperForge.Compression.md): Compression helpers used by PDF streams.
- [PaperForge.Coordinates](PaperForge.Coordinates.md): Helpers for converting between PDF coordinate systems.
- [PaperForge.Document](PaperForge.Document.md): Represents a PDF document and manages its indirect objects.
- [PaperForge.Font](PaperForge.Font.md): Represents a standard PDF font registered inside a document.

- [PaperForge.FontRegistry](PaperForge.FontRegistry.md): Stores the standard PDF fonts registered in a document.
- [PaperForge.Fonts.Builtin](PaperForge.Fonts.Builtin.md): Definitions for the 14 standard PDF fonts.
- [PaperForge.Fonts.Metrics](PaperForge.Fonts.Metrics.md): Character-width metrics for standard PDF fonts.
- [PaperForge.Graphics.Circle](PaperForge.Graphics.Circle.md): Builds PDF commands for drawing circles using cubic Bézier curves.

- [PaperForge.Graphics.Image](PaperForge.Graphics.Image.md): Builds PDF drawing commands for image XObjects.
- [PaperForge.Graphics.Line](PaperForge.Graphics.Line.md): Builds PDF commands for drawing lines.

- [PaperForge.Graphics.Rectangle](PaperForge.Graphics.Rectangle.md): Builds PDF commands for drawing rectangles.

- [PaperForge.Graphics.Text](PaperForge.Graphics.Text.md): Builds PDF text drawing commands.
- [PaperForge.Graphics.TextBox](PaperForge.Graphics.TextBox.md): Builds multiline text commands constrained to a rectangular area.
- [PaperForge.Image](PaperForge.Image.md): Represents an image registered inside a PDF document.
- [PaperForge.ImageRegistry](PaperForge.ImageRegistry.md): Stores images registered inside a PDF document.
- [PaperForge.Images.JPEG](PaperForge.Images.JPEG.md): Reads JPEG metadata without decoding image pixels.
- [PaperForge.Images.PNG](PaperForge.Images.PNG.md): Reads PNG metadata and image data for embedding in PDF image XObjects.
- [PaperForge.Margins](PaperForge.Margins.md): Represents page margins.
- [PaperForge.Metadata](PaperForge.Metadata.md): Represents document metadata stored in the PDF information dictionary.
- [PaperForge.Object](PaperForge.Object.md): Represents an indirect PDF object.
- [PaperForge.Page](PaperForge.Page.md): Represents a PDF page and its drawing operations.
- [PaperForge.PageCompiler](PaperForge.PageCompiler.md): Compiles `PaperForge.Page` drawing operations into PDF page content.
- [PaperForge.PageResources](PaperForge.PageResources.md): Represents the resources used by a PDF page.
- [PaperForge.PageSize](PaperForge.PageSize.md): Standard PDF page dimensions expressed in points.

- [PaperForge.Reference](PaperForge.Reference.md): Represents an indirect reference to a PDF object.
- [PaperForge.Serializer](PaperForge.Serializer.md): Serializes Elixir values into PDF syntax.
- [PaperForge.Stream](PaperForge.Stream.md): Represents a PDF stream object.
- [PaperForge.StringEncoding](PaperForge.StringEncoding.md): Encodes strings for use inside PDF objects.
- [PaperForge.TextMetrics](PaperForge.TextMetrics.md): Measures text using the metrics of the standard PDF fonts.
- [PaperForge.TextWrapper](PaperForge.TextWrapper.md): Wraps text into lines that fit within a maximum width.
- [PaperForge.Writer](PaperForge.Writer.md): Serializes a `PaperForge.Document` into a valid PDF binary.

