PDF to Markdown & Text Extractor: DOCX, PPTX, Excel + OCR avatar

PDF to Markdown & Text Extractor: DOCX, PPTX, Excel + OCR

Pricing

Pay per usage

Go to Apify Store
PDF to Markdown & Text Extractor: DOCX, PPTX, Excel + OCR

PDF to Markdown & Text Extractor: DOCX, PPTX, Excel + OCR

Convert PDF, Word, PowerPoint, Excel, CSV, HTML and image files to clean Markdown or text for LLMs and RAG: headings, tables, reading order, page markers and chunks. Scanned pages are OCR'd locally with Tesseract. Pay per page; blank and failed pages are free.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

PewterDesk

PewterDesk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

PDF to Markdown and text extractor for LLMs: convert PDFs, Word, PowerPoint and Excel files to clean Markdown or text, with OCR for scanned pages.

Turn your documents into clean Markdown or plain text that LLMs and RAG pipelines can use: one dataset row per file, or one row per chunk ready for your vector database.

  • PDF: headings detected from font size and weight, multi-column reading order (research papers and newsletters come out in the right order), tables as Markdown tables in their reading position, de-hyphenated line breaks, <!-- page N --> markers, and page ranges.
  • Scanned and image-only PDFs: OCR'd locally with Tesseract. In Auto mode only pages with no text layer or a broken one ((cid:123) garbage) are OCR'd. Every OCR page reports a confidence score.
  • Images (PNG, JPG, TIFF including multi-page, WEBP, BMP, GIF): OCR to text.
  • Word (.docx): headings, bullet and numbered lists, bold text and tables, all in document order.
  • PowerPoint (.pptx): one section per slide with its title, bullets, tables and optional speaker notes.
  • Excel (.xlsx) and CSV: one Markdown table per sheet.
  • HTML: main content only. Navigation, footers, scripts and forms are removed, while links, lists, tables and code blocks are kept.
  • TXT, MD and JSON: passed through (JSON is pretty-printed).

Private by design. Files are processed inside the Actor container. Nothing is sent to Google Lens or any third-party OCR or AI API.

Why this one

This ActorTypical PDF/OCR Actors
OCRLocal Tesseract, only where neededOften Google Lens wrappers, or OCR on every page
StructureHeadings, tables, lists, reading orderFlat text dump
RAG chunks with page ranges✅ built in❌
FormatsPDF, DOCX, PPTX, XLSX, CSV, HTML, imagesUsually PDF only
Price$0.002 per text page / $0.006 per OCR pageUp to $0.015 per OCR page
Blank or failed pagesFreeCharged

Who uses this

  • RAG and agent builders. Ingest manuals, contracts, policies and research PDFs as Markdown chunks with page citations.
  • Ops and finance teams. Pull the text out of scanned invoices, receipts and forms so you can parse or search it.
  • Analysts. Convert slide decks and spreadsheets into text you can summarise with an LLM.
  • Developers. Call it from the API, from Make or n8n, or from your agent framework as a "read this file" tool.

Input

Upload files in Console, or pass URLs. Google Drive, Google Docs, Dropbox and GitHub share links are converted to downloads automatically.

{
"fileUrls": ["https://example.com/annual-report.pdf", "https://drive.google.com/file/d/FILE_ID/view"],
"outputFormat": "markdown",
"chunkSize": 2000,
"chunkOverlap": 200,
"ocrMode": "auto",
"ocrLanguages": ["eng", "deu"]
}

Only process documents you own or have the right to use.

Output (one row per document)

{
"fileName": "report.pdf", "status": "ok", "format": "pdf", "title": "Acme Quarterly Report",
"pageCount": 3, "pagesProcessed": 3, "textPages": 2, "ocrPages": 0, "emptyPages": 1, "tables": 1,
"wordCount": 65, "approxTokens": 112,
"markdown": "<!-- page 1 -->\n\n# Acme Quarterly Report\n\nQuarterly revenue grew ...\n\n| Region | Revenue | Growth |\n|---|---|---|\n| Europe | 4.2M | 18% |",
"chunks": [{"index": 0, "text": "...", "charCount": 1987, "pageStart": 1, "pageEnd": 2}],
"billedPages": {"text": 2, "ocr": 0}
}

Set Dataset rows → One row per chunk to get fileName, chunkIndex, pageStart, pageEnd, text rows that go straight into Pinecone, Qdrant, Weaviate or pgvector.

Pricing (pay per event)

EventPrice
Page processed (text layer, slide, sheet, or 3,000 characters of DOCX/HTML/CSV/TXT)$0.002
Page OCR'd (scanned PDF page or image)$0.006
Blank pages, failed downloads, unsupported filesfree

For example, a 100-page digital PDF costs $0.20, and 100 scanned pages cost $0.60. The Actor stops cleanly at the maximum charge you set for a run and never processes pages it can't bill.

Tips

  • Scanned documents: choose only the OCR languages you need. Supported: English, German, French, Spanish, Italian, Portuguese, Dutch and Polish.
  • Large batches: raise Files processed in parallel together with memory (about 1 GB per parallel OCR job).
  • Very large PDFs: use Page range and Max pages per document to control cost.
  • Not supported: legacy .doc/.ppt/.xls files (save them as .docx/.pptx/.xlsx first), handwriting, and math-formula reconstruction.

FAQ

Is my data stored? Only in your own run's dataset and storage, which follow your Apify retention settings.

How accurate is OCR? Clean scans at 200 DPI or more usually reach over 90% confidence. Check ocrConfidence for each file or page.

Can I use it from an AI agent? Yes. Call the Actor through the Apify API or MCP with fileUrls and read markdown.


Built by PewterDesk (pewterdesk.pages.dev). More tools: apify.com/pewterdesk.