Package Information
Documentation
Power Document Extractor for n8n
๐ Overview
Power Document Extractor is a comprehensive n8n community node for extracting structured content from 17+ document formats, entirely locally on your server. No external APIs, no cloud servicesโjust reliable, privacy-focused document parsing.
Perfect for document processing workflows, content analysis, data migration, AI-powered document understanding, and automated information extraction pipelines.
โ Support Development
If you find this node useful, consider supporting its development:
Donation Links:
- โ Ko-fi - Support with coffee
- ๐ฐ Coinbase Commerce - Cryptocurrency donations
โจ Features
- ๐ 100% Local Processing - All document parsing happens on your server
- ๐ 17+ Supported Formats - PDF, DOCX, DOC, XLSX, XLS, CSV, TXT, RTF, EPUB, FB2, Markdown, HTML, XML, PPT, PPTX, ODS, ODG
- ๐ฏ Auto-Detection - Universal Extractor automatically identifies document format
- ๐งฉ Structured Output - Extracts content as structured blocks (paragraphs, headings, tables, lists)
- ๐๏ธ Flexible Detail Levels - Choose between Raw, Basic, or Full structured output
- ๐ Rich Metadata - Extracts document metadata (author, title, page count, dates, etc.)
- โก LibreOffice Integration - Optional LibreOffice server for legacy formats (DOC, RTF, PPT)
๐ฆ Installation
Via n8n Community Nodes
- Go to Settings > Community Nodes in your n8n instance
- Click Install and enter:
n8n-nodes-power-document-extractor - Click Install
Via npm
npm install n8n-nodes-power-document-extractor
Manual Installation
cd ~/.n8n/nodes
git clone https://github.com/ZBlaZe/n8n-nodes-power-document-extractor.git
cd n8n-nodes-power-document-extractor
npm install
npm run build
๐ Supported Formats
| Format | Extension | Native Support | LibreOffice Required | Status |
|---|---|---|---|---|
.pdf |
โ Yes | โ No | โ ๏ธ Beta | |
| Plain Text | .txt |
โ Yes | โ No | โ Stable |
| CSV | .csv |
โ Yes | โ No | โ Stable |
| Markdown | .md |
โ Yes | โ No | โ Stable |
| HTML | .html, .htm |
โ Yes | โ No | โ Stable |
| XML | .xml |
โ Yes | โ No | โ Stable |
| Excel | .xlsx, .xls |
โ Yes | โ No | โ Stable |
| Word (Modern) | .docx |
โ ๏ธ Partial | โ Yes (recommended) | โ ๏ธ Beta |
| Word (Legacy) | .doc |
โ No | โ Yes | โ ๏ธ Beta |
| RTF | .rtf |
โ No | โ Yes | โ ๏ธ Beta |
| PowerPoint | .ppt, .pptx |
โ No | โ Yes | โ ๏ธ Beta |
| OpenDocument | .ods, .odg |
โ ๏ธ Partial | โ Yes (recommended) | โ ๏ธ Beta |
| EPUB | .epub |
โ Yes | โ No | โ ๏ธ Beta |
| FictionBook | .fb2 |
โ Yes | โ No | โ ๏ธ Beta |
Legend:
- โ Stable - Fully tested and production-ready
- โ ๏ธ Beta - Functional but may have edge cases
- ๐ง In Development - Work in progress
๐ฎ Usage
Basic Example
- Add Power Document Extractor node to your workflow
- Connect a node that provides binary file data (e.g., HTTP Request, Read Binary File)
- Configure the node:
- Operation: Universal Extractor (auto-detects format)
- Binary Property:
data(or your binary property name) - Structured Level: Full (recommended)
Operations
Universal Extractor (Recommended)
Automatically detects document format and extracts content using the optimal parser.
Format-Specific Extractors
Available for all supported formats if you want explicit control:
- Extract PDF
- Extract DOCX
- Extract XLSX
- Extract TXT
- Extract CSV
- Extract Markdown
- Extract HTML
- ... and more
Structured Levels
Choose the level of detail in extracted content:
- Raw - Single text string with minimal formatting
- Basic - Paragraphs and basic structure
- Full - Complete structure with headings, tables, lists, metadata (recommended)
๐ค Output Format
Example Output
{
"blocks": [
{
"type": "heading",
"level": 1,
"text": "Annual Report 2024",
"id": "h-1",
"page": 1
},
{
"type": "paragraph",
"text": "This report provides an overview of our company's performance...",
"id": "p-1",
"page": 1
},
{
"type": "table",
"headers": ["Quarter", "Revenue", "Growth"],
"rows": [
["Q1", "$1.2M", "15%"],
["Q2", "$1.5M", "25%"],
["Q3", "$1.8M", "20%"],
["Q4", "$2.1M", "17%"]
],
"id": "table-1",
"page": 2
}
],
"metadata": {
"fileName": "annual_report_2024.pdf",
"fileSize": 245680,
"fileType": "pdf",
"mimeType": "application/pdf",
"pageCount": 12,
"author": "John Smith",
"title": "Annual Report 2024",
"creationDate": "2024-01-15",
"modificationDate": "2024-11-20"
}
}
Block Types
paragraph- Text paragraphsheading- Document headings (with level 1-6)table- Tables with headers and rowslist- Bulleted or numbered listsimage- Image references (planned for future versions)
๐ณ LibreOffice Server Setup (Optional)
For best results with DOC, RTF, PPT, PPTX formats, set up a LibreOffice server using Docker.
Quick Start with Docker
docker run -d \
--name libreoffice-server \
-p 33101:2004 \
ghcr.io/unoconv/unoserver-docker:latest
Configuration in n8n
In the Power Document Extractor node:
- LibreOffice Server URL:
http://localhost:33101(or your server IP)
Important Notes
- โ ๏ธ Do not expose LibreOffice port to the internet - it's not secured by default
- ๐ Use firewall rules or Docker networks to restrict access
- ๐ LibreOffice container should run on the same network as n8n for best performance
For detailed setup instructions, see unoserver documentation.
โ๏ธ Configuration
Node Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| Operation | Select | Universal Extractor | Extraction method (auto or format-specific) |
| Binary Property | String | data |
Name of the binary property containing the file |
| Structured Level | Select | Full | Level of detail in output (Raw/Basic/Full) |
| LibreOffice Server URL | String | (empty) | Optional LibreOffice server URL for legacy formats |
๐ฏ Use Cases
- ๐ Data Migration - Extract content from legacy documents for database import
- ๐ค AI/LLM Integration - Prepare document content for AI analysis and processing
- ๐ Document Indexing - Build searchable document databases
- ๐ Content Management - Automated document processing workflows
- ๐ง Email Attachment Processing - Extract and analyze attachments automatically
- ๐๏ธ Archive Digitization - Convert old documents to structured data
โ ๏ธ Known Limitations
- ๐ผ๏ธ Image Extraction - Not yet supported (planned for v0.10.0)
- ๐ค Text Encoding - Some legacy documents may have encoding issues
- ๐ Complex Layouts - Advanced page layouts may not be fully preserved
- โฑ๏ธ Large Files - Very large files (>100MB) may take longer to process
Development Status: This node is actively maintained and under continuous improvement. Bug reports and feature requests are welcome!
๐บ๏ธ Roadmap
Version 0.11.0-0.12.0 (Planned)
- ๐ผ๏ธ Base64 image extraction from documents
- ๐ค Improved text encoding detection and handling
- ๐จ Better formatting preservation for complex documents
Future Versions
- ๐ Advanced table structure detection
- ๐ Hyperlink extraction
- ๐ Document annotations and comments
- ๐ Multi-language OCR support
- โก Performance optimizations for large files
๐ Troubleshooting
Common Issues
"LibreOffice conversion failed"
Solution:
- Ensure LibreOffice server is running:
docker ps | grep libreoffice - Check URL is correct:
http://localhost:33101(nothttps://) - Verify server is accessible from n8n container
Text appears garbled or with wrong characters
Possible causes:
- Legacy encoding in old documents
- Font substitution issues
- Temporary workaround: Try using LibreOffice server for conversion
Node execution timeout
For large files:
- Increase n8n execution timeout in settings
- Consider splitting large documents
- Use LibreOffice server for faster processing
Empty output for supported format
Check:
- File is not password-protected
- File is not corrupted
- File contains actual text (not just images)
๐ค Contributing
Contributions are welcome! If you find a bug or have a feature request:
- Check existing issues
- Create a new issue with detailed description
- Submit a pull request with your improvements
๐ License
Proprietary / All Rights Reserved
This project is closed-source.
The source code is not available for public viewing or modification.
๐ Acknowledgments
Built with:
- n8n - Workflow automation platform
- pdf.js-extract - PDF parsing
- xlsx - Excel file processing
- cheerio - HTML parsing
- marked - Markdown parsing
- LibreOffice - Legacy format conversion
๐ Support
- ๐ฌ GitHub Issues
- ๐ง Contact via GitHub profile
- โ Support on Ko-fi