PDFExtract Pull Text from PDFs

v1.0.0

Extract clean readable text from PDF files into agent-ready markdown. Multi-page, tables, headers. No external services.

0· 365· 1 versions· 3 current· 3 all-time· Updated 1mo ago· MIT-0
byShadow Rose@theshadowrose

PDFExtract Pull Text from PDFs

Extract clean readable text from PDF files into agent-ready markdown. Multi-page, tables, headers. No external services.


Every agent needs to read PDFs. This does it cleanly.

Usage

const { PDFExtract } = require('./src/pdf-extract');
const pdf = new PDFExtract();

const text = await pdf.extract('document.pdf');
console.log(text);

const structured = await pdf.extractStructured('document.pdf');
console.log(structured.pages);    // Array of page texts
console.log(structured.metadata); // Title, author, page count
console.log(structured.headings); // Detected headings

Features

  • Clean text extraction — strips headers/footers, page numbers, watermarks
  • Page-by-page — access individual pages or full document
  • Heading detection — identifies structure from font sizes
  • Table extraction — basic table detection and formatting
  • Metadata — title, author, creation date, page count
  • Batch processing — extract multiple PDFs at once
  • Markdown output — formatted with headings and structure preserved

Supported PDF Types

TypeSupport
Text PDFsFull support
Scanned/Image PDFsBasic (needs OCR)
FormsText fields extracted
Password-protectedSupported (provide password)

⚠️ Disclaimer

This software is provided "AS IS", without warranty of any kind, express or implied.

USE AT YOUR OWN RISK.

  • The author(s) are NOT liable for any damages, losses, or consequences arising from the use or misuse of this software — including but not limited to financial loss, data loss, security breaches, business interruption, or any indirect/consequential damages.
  • This software does NOT constitute financial, legal, trading, or professional advice.
  • Users are solely responsible for evaluating whether this software is suitable for their use case, environment, and risk tolerance.
  • No guarantee is made regarding accuracy, reliability, completeness, or fitness for any particular purpose.
  • The author(s) are not responsible for how third parties use, modify, or distribute this software after purchase.

By downloading, installing, or using this software, you acknowledge that you have read this disclaimer and agree to use the software entirely at your own risk.

DATA DISCLAIMER: This software processes and stores data locally on your system. The author(s) are not responsible for data loss, corruption, or unauthorized access resulting from software bugs, system failures, or user error. Always maintain independent backups of important data. This software does not transmit data externally unless explicitly configured by the user.


Support & Links

🐛 Bug ReportsTheShadowyRose@proton.me
Ko-fiko-fi.com/theshadowrose
🛒 Gumroadshadowyrose.gumroad.com
🐦 Twitter@TheShadowyRose
🐙 GitHubgithub.com/TheShadowRose
🧠 PromptBasepromptbase.com/profile/shadowrose

Built with OpenClaw — thank you for making this possible.


🛠️ Need something custom? Custom OpenClaw agents & skills starting at $500. If you can describe it, I can build it. → Hire me on Fiverr

Version tags

documentsvk974p9md9z54b3y7c29j2sk0wx82qnkjextractionvk974p9md9z54b3y7c29j2sk0wx82qnkjlatestvk974p9md9z54b3y7c29j2sk0wx82qnkjparsingvk974p9md9z54b3y7c29j2sk0wx82qnkjpdfvk974p9md9z54b3y7c29j2sk0wx82qnkjpdf-extractvk974p9md9z54b3y7c29j2sk0wx82qnkjtextvk974p9md9z54b3y7c29j2sk0wx82qnkj