PDF to Markdown for RAG
Pricing
from $3.00 / 1,000 results
PDF to Markdown for RAG
Convert PDFs to clean markdown with real reading order. Handles two-column layouts, detects headings and paragraphs. Built for RAG pipelines and LLM ingestion.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Neil Sangwaiya
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Convert PDFs to clean markdown in real reading order. Built for RAG pipelines, LLM ingestion and document search.
The problem this solves
PDFs have no concept of paragraphs, headings or reading order. They are a set of glyphs with coordinates. Most extractors dump those glyphs in drawing order, and the result is unusable for retrieval in three specific ways.
Two-column layouts interleave. Academic papers, reports, whitepapers and most printed documents are two columns. Read naively, line one of the left column is followed by line one of the right column, and the text becomes meaningless. This Actor detects the gutter from the horizontal distribution of glyphs and reads each column fully before moving to the next.
Hyphenated words stay broken. Justified text splits words across lines, so the file contains ob- then jective. That never matches a search for "objective", and every chunk containing it is quietly degraded. This Actor rejoins them, while keeping the hyphen where it belongs: left-to-right and pre-train survive intact, because stripping those is a different kind of wrong.
Sentences run together. PDF producers often emit context. and Unlike as separate fragments with no whitespace, giving you context.Unlike. This Actor restores the space.
It also detects headings from font size, and paragraph breaks from vertical spacing, so the markdown you get back has structure a chunker can actually use.
What you get
| Field | Description |
|---|---|
url | Source PDF |
title | Document title from metadata, or the filename |
author, subject, creator, producer | PDF metadata where present |
pageCount | Pages in the document |
markdown | Full text as clean markdown |
wordCount | Words extracted |
page | Page number, when returning one record per page |
scrapedAt | ISO timestamp |
Example input
{"pdfUrls": ["https://arxiv.org/pdf/1706.03762","https://example.com/annual-report.pdf"],"perPageRecords": false}
Options
- Max pages per PDF — cap long documents so cost stays predictable
- Detect two-column layouts — on by default; turn off only if your PDFs are strictly single column
- One record per page — useful when you want to chunk by page rather than by document
- Minimum line length — raise it to strip page numbers and running headers
Notes
- Works on any PDF with a text layer. Scanned documents need OCR first, which this Actor does not perform, and will return little or no text.
- No API key, no external service. Extraction happens inside the run.
- Handles Unicode, ligatures and accented characters.