Engines registered per capability in the engine registry (natural_pdf.engine_registry.list_engines). “Requires” shows the install hint carried by the registration metadata; “included” means the registration declares no extra install requirement (availability may still depend on optional packages — run npdf doctor to check your environment).
This page lists the built-in engines only. Third-party plugins registered through the natural_pdf.engines entry point extend these lists at runtime in your environment; they are deliberately not part of the generated reference.
| Engine | Requires | Notes |
|---|
default | included | options: DefaultCheckboxOptions |
onnx | pip install onnxruntime huggingface_hub | options: OnnxCheckboxOptions |
vector | included | options: VectorCheckboxOptions |
vlm | pip install openai | options: VLMCheckboxOptions |
| Engine | Requires | Notes |
|---|
default | included | |
| Engine | Requires | Notes |
|---|
hough | included | |
projection | included | |
standard | included | |
| Engine | Requires | Notes |
|---|
builtin | included | |
builtin.content | included | |
builtin.headers | included | |
builtin.lines | included | |
builtin.stripes | included | |
builtin.whitespace | included | |
| Engine | Requires | Notes |
|---|
doclayout | pip install transformers torch | options: DocLayoutOptions |
gemini | included | deprecated alias for vlm; options: VLMLayoutOptions |
paddle | pip install “natural-pdf[paddle]” or pip install paddleocr | options: PaddleLayoutOptions |
surya | pip install “surya-ocr<0.15” | options: SuryaLayoutOptions |
tatr | included | options: TATRLayoutOptions |
vlm | included | options: VLMLayoutOptions |
yolo | pip install “natural-pdf[all]” or pip install doclayout_yolo | options: YOLOLayoutOptions |
| Engine | Requires | Notes |
|---|
chandra2 | pip install chandra-ocr[hf] | |
doctr | pip install python-doctr | |
easyocr | pip install easyocr | |
paddle | pip install “natural-pdf[paddle]” or pip install paddleocr | |
paddlevl | pip install “natural-pdf[paddle]” or pip install paddleocr | |
rapidocr | pip install “natural-pdf[all]” or pip install rapidocr | |
surya | pip install surya-ocr | |
| Engine | Requires | Notes |
|---|
native | included | |
| Engine | Requires | Notes |
|---|
lattice | included | |
pdfplumber | included | |
pdfplumber_auto | included | |
stream | included | |
tatr | included | |
text | included | |
| Engine | Requires | Notes |
|---|
tatr | included | |
The unified OCR registry behind page.apply_ocr(engine=...). Named VLM-family entries resolve to local vision-language models instead of classic OCR engines; the generic vlm entry can use either a local model or a configured remote client.
| Engine | Type | Requires | Notes |
|---|
chandra | vlm_shorthand | included | VLM family: chandra |
chandra2 | classic | pip install chandra-ocr[hf] | options: ChandraOCROptions |
doctr | classic | pip install python-doctr | options: DoctrOCROptions |
dots | vlm_shorthand | included | VLM family: dots_mocr |
easyocr | classic | pip install easyocr | options: EasyOCROptions |
glm_ocr | vlm_shorthand | included | VLM family: glm_ocr |
paddle | classic | pip install “natural-pdf[paddle]” or pip install paddleocr | options: PaddleOCROptions |
paddlevl | auto_platform | pip install “natural-pdf[paddle]” or pip install paddleocr | VLM family: paddlevl; options: PaddleOCRVLOptions |
rapidocr | classic | pip install “natural-pdf[all]” or pip install rapidocr | options: RapidOCROptions |
surya | classic | pip install surya-ocr | options: SuryaOCROptions |
vlm | vlm_generic | included | |