# pdf_elixide v0.12.0 - Table of Contents

> Elixir bindings for pdf_oxide, a high-performance PDF library written in Rust.
Extract text, tables, images, forms, annotations, and metadata, or convert PDFs to Markdown and HTML.

## Pages

- [Overview](readme.md)
- [Concurrency](concurrency.md)
- [Search](text-search.md)
- [Change Log](changelog.md)

## Modules

- Documents
  - [PdfElixide](PdfElixide.md): Elixir bindings for [pdf_oxide](https://crates.io/crates/pdf_oxide),
a high-performance PDF library written in Rust.
  - [PdfElixide.Document](PdfElixide.Document.md): Read-only representation of a PDF document.
  - [PdfElixide.Document.Page](PdfElixide.Document.Page.md): A handle to one page of a `PdfElixide.Document`.
  - [PdfElixide.Error](PdfElixide.Error.md): Structured error raised or returned by `PdfElixide` operations.

- Document metadata
  - [PdfElixide.Document.Metadata](PdfElixide.Document.Metadata.md): Document Info dictionary metadata — a PDF's classic `/Info` fields.
  - [PdfElixide.Document.OutlineItem](PdfElixide.Document.OutlineItem.md): A single item (bookmark) in a PDF document's outline — its table of contents.
  - [PdfElixide.Document.Permissions](PdfElixide.Document.Permissions.md): Decoded `/P` permission flags from a PDF's standard encryption dictionary
(ISO 32000-1 §7.6.3.2, Table 22).
  - [PdfElixide.Document.XmpMetadata](PdfElixide.Document.XmpMetadata.md): XMP (Extensible Metadata Platform) metadata — the XML-based metadata packet a
PDF may carry in addition to, or instead of, the `/Info` dictionary
(`PdfElixide.Document.Metadata`).

- Extracted content
  - [PdfElixide.Document.Annotation](PdfElixide.Document.Annotation.md): A single annotation on a PDF page — a link, sticky note, highlight, form
widget, stamp, and so on — with its zero-based `:page` index.
  - [PdfElixide.Document.Annotation.Flags](PdfElixide.Document.Annotation.Flags.md): Decoded `/F` annotation flags (ISO 32000-1 §12.5.3, Table 165).
  - [PdfElixide.Document.Char](PdfElixide.Document.Char.md): A single character extracted from a PDF page, with its zero-based page index,
bounding box, font metadata, and typographic placement.

  - [PdfElixide.Document.Font](PdfElixide.Document.Font.md): A font referenced by a PDF page, with its zero-based page index, the page's
font resource name, and metadata describing the face.
  - [PdfElixide.Document.Image](PdfElixide.Document.Image.md): A raster image (photo, logo, scanned picture) extracted from a PDF page, with
its zero-based page index, on-page bounding box, and dimensions.
  - [PdfElixide.Document.Path](PdfElixide.Document.Path.md): A vector graphics path — a line, curve, rectangle, or filled shape — extracted
from a PDF page, with its zero-based page index and bounding box.
  - [PdfElixide.Document.SearchMatch](PdfElixide.Document.SearchMatch.md): One occurrence of a pattern found by `PdfElixide.Document.search/2`, with its
zero-based page index, the matched text, and where it sits on the page.
  - [PdfElixide.Document.Span](PdfElixide.Document.Span.md): A run of text sharing one text state — the same font, size, color, and
text-state parameters — extracted from a PDF page, with its zero-based page
index and bounding box.

  - [PdfElixide.Document.Table](PdfElixide.Document.Table.md): A table detected on a PDF page, with its zero-based page index, bounding box,
and rows.
  - [PdfElixide.Document.Table.Cell](PdfElixide.Document.Table.Cell.md): A single cell of a detected table, with its text, geometry, spans, and
grid placement.

  - [PdfElixide.Document.Table.Row](PdfElixide.Document.Table.Row.md): A single row of a detected table, holding its cells.
  - [PdfElixide.Document.TextLine](PdfElixide.Document.TextLine.md): A single line of text extracted from a PDF page, with its zero-based page
index, bounding box, and constituent words.

  - [PdfElixide.Document.Word](PdfElixide.Document.Word.md): A single word extracted from a PDF page, with its zero-based page index,
bounding box, and font metadata.

- Geometry and color
  - [PdfElixide.Color](PdfElixide.Color.md): The color values returned by extraction, one struct per colorspace.
  - [PdfElixide.Color.CMYK](PdfElixide.Color.CMYK.md): A DeviceCMYK color — cyan, magenta, yellow, and key (black), each in the
`0.0..1.0` range.
  - [PdfElixide.Color.Gray](PdfElixide.Color.Gray.md): A DeviceGray color — a single intensity in the `0.0..1.0` range, where `0.0` is
black and `1.0` is white.
  - [PdfElixide.Color.RGB](PdfElixide.Color.RGB.md): A DeviceRGB color — red, green, and blue, each in the `0.0..1.0` range.
  - [PdfElixide.Color.Unknown](PdfElixide.Color.Unknown.md): Color components whose colorspace could not be identified, preserved verbatim.
  - [PdfElixide.Geometry.Rect](PdfElixide.Geometry.Rect.md): An axis-aligned rectangle in PDF user-space coordinates.

- Editing and forms
  - [PdfElixide.Editor](PdfElixide.Editor.md): Mutable, in-memory PDF editor backed by `pdf_oxide`'s `DocumentEditor`.
  - [PdfElixide.Form](PdfElixide.Form.md): AcroForm field access for documents and editors.
  - [PdfElixide.Form.Field](PdfElixide.Form.Field.md): A single AcroForm field: its `:name`, its `:kind`, and its current `:value`.

