Convert PDFs and images to clean Markdown and text for RAG, AI agents and automations. Keeps headings, lists, tables and page breaks; OCRs scanned pages and images automatically (28 languages). Pay only for pages that produce text.
First version, built and tested locally. Not yet published.
PDFs and images (PNG, JPEG, TIFF incl. multi-page, WebP, BMP, GIF) to Markdown and plain text, one dataset row per file plus .md, .txt and .json files in the run's key-value store, and optional per-page rows in a pages dataset.
PDF text layer via PDFium (pypdfium2); OCR with Tesseract 5 (28 languages) only on pages without a usable text layer and on images. ocrMode auto / always / never.
Layout engine: column-aware reading order (XY-cut), headings from font size and weight, bullet and numbered lists, ruled and aligned tables as Markdown tables, hyphenation repair, running header/footer and page-number removal, rotated pages and auto-rotation of scans, page markers.
Metadata: page count, title (PDF metadata or first heading), author, dates, producer, text-layer flag, OCR confidence, detected language, word/char/table/heading counts.
Inputs from URLs (strings or {url} objects; Google Drive / Dropbox / GitHub share links normalized) and Apify key-value store keys. Optional PDF password (secret input).
Robustness: magic-byte file sniffing, download retries with backoff (Retry-After), size limits, private-network URL blocking, a separate worker process per document with a hard timeout (partial results kept), OOM isolation, per-page error isolation, migration-safe progress state.
Pay-per-event charging (page-extracted, ocr-page) only for pages that produced text, after the files are saved; respects the user's max cost per run with in-flight reservations so parallel documents cannot overspend.