# pdf_inspector_ex v0.1.1 - Table of Contents

> Elixir bindings (Rustler dirty-CPU NIF) for the pdf-inspector PDF classification / markdown-extraction library.

## Pages

- [PdfInspector (pdf_inspector_ex)](readme.md)
- [PdfInspector — PDF classification &amp; markdown extraction](pdf_inspector.md)

## Modules

- [PdfInspector](PdfInspector.md): Elixir bindings for the [`pdf-inspector`](https://github.com/firecrawl/pdf-inspector)
PDF classification / markdown-extraction library (Rustler dirty-CPU NIFs over
the shared `ffi-core` facade).
- [PdfInspector.Classification](PdfInspector.Classification.md): Result of `PdfInspector.classify/1` (lightest routing entry).
- [PdfInspector.Error](PdfInspector.Error.md): Error payload of every `PdfInspector` function (`{:error, %__MODULE__{}}`).
- [PdfInspector.PageMarkdown](PdfInspector.PageMarkdown.md): Markdown of a single page (`page` is **0-indexed**).
- [PdfInspector.PageOcrReasons](PdfInspector.PageOcrReasons.md): OCR reasons for a single page. The `page` numbering follows the parent
struct: 1-indexed inside `PdfInspector.Result` / `PdfInspector.PagesResult`
process-level lists.

- [PdfInspector.PagesResult](PdfInspector.PagesResult.md): Result of `PdfInspector.extract_pages/2`.
- [PdfInspector.Pipeline](PdfInspector.Pipeline.md): Declarative routing pipeline DSL on top of `PdfInspector`:
classify once, dispatch to a per-`pdf_type` strategy, aggregate.
- [PdfInspector.Pipeline.Ocr](PdfInspector.Pipeline.Ocr.md): Behaviour for OCR handoff modules used by the `{:ocr, module}` strategy.
- [PdfInspector.Pipeline.Result](PdfInspector.Pipeline.Result.md): Aggregated result of a `PdfInspector.Pipeline` run.
- [PdfInspector.Result](PdfInspector.Result.md): Result of `PdfInspector.process/1` and `PdfInspector.detect/1`.

