document-parser
by @mjk39966-glitch
Parse and extract content from .docx, .pdf, and .txt documents. Extracts plain text and tables for analysis. Use when the user uploads a document file or ask...
clawhub install mjk39966-document-parserπ About This Skill
name: document_parser description: Parse and extract content from .docx, .pdf, and .txt documents. Extracts plain text and tables for analysis. Use when the user uploads a document file or asks to analyze/extract/read content from Word documents, PDFs, or text files. Also use when the user asks questions about document content that requires parsing first.
Document Parser
Extract text and tables from documents (.docx, .pdf, .txt) for analysis and question-answering.
Quick Start
Parse a document:
python scripts/parse_document.py /path/to/document.pdf
Output is JSON with extracted text, tables, and metadata.
Installation
First use only: Install dependencies by running:
bash scripts/install_dependencies.shscripts\install_dependencies.batThis installs: python-docx, PyPDF2, pdfplumber
Supported Formats
| Format | Text | Tables | Notes | |--------|------|--------|-------| | .txt | β | β | Direct text extraction | | .docx | β | β | Paragraphs + structured tables | | .pdf | β | β | Page-by-page extraction |
Workflow
1. Parse the document using scripts/parse_document.py
2. Analyze the output (text and tables in JSON)
3. Answer the user's question using extracted content
Example: Answering questions about a document
User: "What's the total revenue in quarterly_report.docx?"
Steps:
1. Run: python scripts/parse_document.py quarterly_report.docx
2. Locate tables in output
3. Find revenue column and calculate total
4. Reply with answer
Output Format
Default JSON output:
{
"text": "Full document text...",
"tables": [
[["Header 1", "Header 2"], ["Data 1", "Data 2"]]
],
"metadata": {
"format": "pdf",
"pages": 3,
"tables": 1
}
}
Human-readable format (add --format text):
==========================================================
EXTRACTED TEXT:
==========================================================
Document content here...==========================================================
TABLES FOUND: 2
==========================================================
Table 1:
Name | Age | City
John | 30 | NYC
Jane | 25 | LA
Advanced Usage
For detailed examples and edge cases, see references/usage_examples.md.
Error Handling
If dependencies are missing, the script returns an error with installation instructions. Run the appropriate install script to resolve.
Notes
π‘ Examples
Parse a document:
python scripts/parse_document.py /path/to/document.pdf
Output is JSON with extracted text, tables, and metadata.