Read and edit PDFs: extract text and tables, merge, split, rotate, and fill forms.
ANanthropics/skills181k1,119 new stars in the last 7 days
PDF reader skill using PyMuPDF (fitz) for text extraction and metadata retrieval. Supports encrypted PDFs and handles large documents efficiently.
PDF reader skill for text extraction and metadata retrieval using PyMuPDF.
pip install pymupdf
The skill provides two commands:
Extracts plain text from the specified PDF file.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | ✅ | Path to the PDF file |
--max_pages | integer | ❌ | Maximum number of pages to extract |
Usage:
# Extract all text
python3 skills/pdf-reader/reader.py extract /path/to/document.pdf
# Extract first 5 pages only
python3 skills/pdf-reader/reader.py extract /path/to/document.pdf --max_pages 5
Output: Plain text content from the PDF.
Retrieve metadata about the document.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
file_path | string | ✅ | Path to the PDF file |
Usage:
python3 skills/pdf-reader/reader.py metadata /path/to/document.pdf
Output: Structured JSON with document metadata.
| Field | Description |
|---|---|
title | Document title |
author | Document author |
subject | Document subject |
creator | Software that created the PDF |
producer | PDF producer software |
creationDate | Creation date |
modDate | Modification date |
format | PDF format version |
encryption | Encryption info (if any) |
Plain text content from the PDF...
{
"title": "Annual Report 2024",
"author": "John Doe",
"creationDate": "D:20240115120000Z",
"creator": "Microsoft Word",
"producer": "Adobe PDF Library",
"format": "PDF 1.7"
}
--max_pages for large documentsYou can also use PyMuPDF directly in Python:
import fitz # PyMuPDF
# Open PDF
doc = fitz.open("document.pdf")
# Get metadata
print(doc.metadata)
# Extract text from all pages
for page in doc:
text = page.get_text()
print(text)
# Extract from specific page
page = doc[0] # First page (0-indexed)
text = page.get_text()
fitz) for fast, reliable PDF processing--max_pages option| Error | Cause | Solution |
|---|---|---|
| File not found | Invalid path | Check file path |
| Not a valid PDF | Corrupted file | Verify file integrity |
| Encrypted PDF | Password protected | Provide password if required |
Read and edit PDFs: extract text and tables, merge, split, rotate, and fill forms.
ANanthropics/skills181k1,119 new stars in the last 7 days
Create posters and visual art as PNG or PDF, guided by a design philosophy.
ANanthropics/skills181k1,119 new stars in the last 7 days
Create and edit Word docs with TOC, page numbers, headers and more.
ANanthropics/skills181k1,119 new stars in the last 7 days
Co-write specs, proposals and decision docs through a structured, iterative workflow.
ANanthropics/skills181k1,119 new stars in the last 7 days
Read and edit spreadsheets: add columns, compute formulas, format, and clean messy data.
ANanthropics/skills181k1,119 new stars in the last 7 days
Create and edit slide decks, generate slides from templates, and extract text.
ANanthropics/skills181k1,119 new stars in the last 7 days