# pdf_elixide v0.16.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) - [Text extraction](text-extraction.md) - [Concurrency](concurrency.md) - [Forms](forms.md) - [Signatures](signatures.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. - [PdfElixide.Logging](PdfElixide.Logging.md): Diagnostics for content that extraction drops without failing. - 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.PageLabelRange](PdfElixide.Document.PageLabelRange.md): One entry of a PDF's `/PageLabels` number tree — the numbering scheme in force over a contiguous stretch of pages. - [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. - [PdfElixide.Form](PdfElixide.Form.md): AcroForm field access for documents and editors. - [PdfElixide.Form.Field](PdfElixide.Form.Field.md): A single AcroForm field, one struct per field type this API covers - [PdfElixide.Form.Field.Button](PdfElixide.Form.Field.Button.md): A button field (`/FT /Btn`) — push buttons, check boxes and radio groups. - [PdfElixide.Form.Field.Button.Flags](PdfElixide.Form.Field.Button.Flags.md): The `/Ff` field flags of a button field (ISO 32000-1 Table 227), alongside the three every field carries (Table 226). - [PdfElixide.Form.Field.Choice](PdfElixide.Form.Field.Choice.md): A choice field (`/FT /Ch`) — list boxes and combo boxes. - [PdfElixide.Form.Field.Choice.Flags](PdfElixide.Form.Field.Choice.Flags.md): The `/Ff` field flags of a choice field (ISO 32000-1 Table 230), alongside the three every field carries (Table 226). - [PdfElixide.Form.Field.Flags](PdfElixide.Form.Field.Flags.md): The `/Ff` field flags every AcroForm field has, whatever its type (ISO 32000-1 §12.7.3.1, Table 226). - [PdfElixide.Form.Field.Text](PdfElixide.Form.Field.Text.md): A free-text field (`/FT /Tx`) — the one kind whose value a caller types. - [PdfElixide.Form.Field.Text.Flags](PdfElixide.Form.Field.Text.Flags.md): The `/Ff` field flags of a text field (ISO 32000-1 Table 228), alongside the three every field carries (Table 226). - [PdfElixide.Form.Field.Unknown](PdfElixide.Form.Field.Unknown.md): A field with no recognized `/FT` — either a grouping parent that declares no type at all, or a field whose `/FT` names a type that is not understood. - Signatures - [PdfElixide.Signature](PdfElixide.Signature.md): Digital signatures present in a PDF document. - [PdfElixide.Signature.Certificate](PdfElixide.Signature.Certificate.md): An X.509 certificate: who a signature names as its signer, and the window the issuer vouched for that name. - [PdfElixide.Signature.DSS](PdfElixide.Signature.DSS.md): A document's security store: the material it carries for validating its own signatures long after they were made. - [PdfElixide.Signature.DSS.VRI](PdfElixide.Signature.DSS.VRI.md): The validation material a document security store scopes to one signature. - [PdfElixide.Signature.Timestamp](PdfElixide.Signature.Timestamp.md): An RFC 3161 timestamp token: a time-stamping authority's assertion that some bytes existed when it saw them.