nano-pdf
- Repo stars 39
- Author updated Live
- Author repo awesome-omni-skill
- Domain
- Data · pdf · document · extraction
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 94 / 100 · audit passed
- Author / version / license
- @diegosouzapw · no license declared
- Token usage
- Lean
- Setup complexity
- Manual integration
- External API key
- Required · Vendor-specific
- Operating systems
- macOS · Linux · Windows
- Runtime requirements
- Node.js · Python
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Env read
- Network behavior
- External requests
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
---
name: nano-pdf
description: PDF processing: extraction, text mining, form filling, manipulation, OCR integration This skill…
category: data
runtime: Node.js / Python
---
# nano-pdf output preview
## PART A: Task fit
- Use case: PDF processing: extraction, text mining, form filling, manipulation, OCR integration This skill provides tools for PDF processing, including text extraction, mining, form filling, manipulation, and OCR integration, to handle document workflows efficiently. Use this skill for tasks involving PDF data extraction (e.g., from scanned documents), text analysis….
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “Purpose / When to Use / Key Capabilities” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “PDF processing: extraction, text mining, form filling, manipulation, OCR integration This skill provides tools for PDF processing, including text extraction, mining, form filling, manipulation, and OCR integration, to handle document workflows efficiently. Use this skill for tasks involving PDF data extraction (e.g., from scanned documents), text analysis…”.
- **02** When the source has headings, the agent prioritizes “Purpose / When to Use / Key Capabilities” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands, read environment variables; may access external network resources; requires Vendor-specific API keys.
## Running Rules
- read files, write/modify files, run shell commands, read environment variables; may access external network resources; requires Vendor-specific API keys.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source mentions slash commands such as `/extract`; use them first when your agent supports command triggers.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands, read environment variables.
Start with a small task and check whether the result follows “Purpose / When to Use / Key Capabilities”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: nano-pdf
description: PDF processing: extraction, text mining, form filling, manipulation, OCR integration This skill…
category: data
source: diegosouzapw/awesome-omni-skill
---
# nano-pdf
## When to use
- PDF processing: extraction, text mining, form filling, manipulation, OCR integration This skill provides tools for PDF…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “Purpose / When to Use / Key Capabilities” and keep inference separate from source facts.
- read files, write/modify files, run shell commands, read environment variables; may access external network resources; requires Vendor-specific API keys.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "nano-pdf" {
input -> user goal + target files + boundaries + acceptance criteria
context -> Purpose / When to Use / Key Capabilities
rules -> SKILL.md triggers / order / output contract
runtime -> Node.js / Python | read files, write/modify files, run shell commands, read environment variables | may access external network resources
guardrails -> requires Vendor-specific API keys + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} nano-pdf
Purpose
This skill provides tools for PDF processing, including text extraction, mining, form filling, manipulation, and OCR integration, to handle document workflows efficiently.
When to Use
Use this skill for tasks involving PDF data extraction (e.g., from scanned documents), text analysis in reports, automating form submissions, merging/splitting files, or applying OCR to non-text PDFs. Apply it in data pipelines, document automation scripts, or when integrating with OCR services for unstructured data.
Key Capabilities
- Text extraction: Pulls plain text or structured data from PDFs, supporting encrypted files with passwords; uses OCR via Tesseract integration for image-based PDFs.
- Text mining: Analyzes extracted text for keywords, sentiment, or patterns; e.g., counts occurrences of phrases in a document.
- Form filling: Populates interactive PDF forms with JSON data; supports flattening forms to static PDFs.
- Manipulation: Merges, splits, rotates, or watermarks PDFs; handles up to 500-page documents efficiently.
- OCR integration: Converts scanned PDFs to searchable text using external APIs; requires Tesseract or similar engine configuration.
Usage Patterns
Invoke via CLI for quick scripts or API for server-side integration. For batch processing, chain commands in a shell script; for web apps, use API calls in loops. Always specify input/output paths explicitly. Pattern: Extract text first, then mine or manipulate as needed. For OCR-heavy tasks, preprocess images before PDF operations.
Common Commands/API
CLI commands use nano-pdf binary; API endpoints are under https://api.opencclaw.com/nano-pdf/. Authentication requires $NANO_PDF_API_KEY environment variable.
- Extract text:
nano-pdf extract --file input.pdf --output text.txt --ocr true(adds OCR if text is not selectable). - Mine text:
nano-pdf mine --input text.txt --keywords "AI,robot" --output results.json(outputs keyword frequencies). - Fill form:
nano-pdf fill --template form.pdf --data '{"field1": "value"}' --output filled.pdf. - Manipulate PDF:
nano-pdf merge --files file1.pdf file2.pdf --output combined.pdf. - API endpoint for extraction: POST /extract with body
{"file": "base64encoded_content", "ocr": true}and headerAuthorization: Bearer $NANO_PDF_API_KEY. - Code snippet (Python):
import requests response = requests.post('https://api.opencclaw.com/nano-pdf/extract', headers={'Authorization': f'Bearer {os.environ["NANO_PDF_API_KEY"]}'}, json={'file': 'base64data'}) print(response.json()['text']) - Config format: JSON for API bodies, e.g.,
{"file": "path", "options": {"ocr_engine": "tesseract", "language": "en"}}; CLI uses flag-based configs like--config config.json.
Integration Notes
Integrate by setting $NANO_PDF_API_KEY for authenticated requests; for local use, install via pip install nano-pdf and import as a module. Combine with other tools: pipe CLI output to NLP libraries for mining, or use in Node.js via HTTP requests. For OCR, ensure Tesseract is installed and configured in your environment path. Test integrations in a sandbox to verify API rate limits (e.g., 100 requests/min).
Error Handling
Check for common errors like file not found (exit code 404), invalid API keys (401), or OCR failures (e.g., no Tesseract installed). Use try-except in code:
try:
result = nano_pdf.extract('input.pdf')
except FileNotFoundError:
print("Error: File does not exist.")
except Exception as e:
print(f"API Error: {e} - Check $NANO_PDF_API_KEY.")
For CLI, parse stderr output; retry transient errors (e.g., network issues) with exponential backoff. Always validate inputs, like ensuring PDFs are not corrupted before processing.
Example 1: Extract and Mine Text from a PDF
To extract text from a scanned invoice PDF and mine for product names:
- Run:
nano-pdf extract --file invoice.pdf --output invoice_text.txt --ocr true - Then:
nano-pdf mine --input invoice_text.txt --keywords "product" --output analysis.jsonThis produces a JSON with keyword occurrences for further processing.
Example 2: Fill and Manipulate a Form PDF
To fill a job application form and merge it with a cover letter:
- Prepare data in JSON:
{"name": "John Doe", "position": "Engineer"} - Execute:
nano-pdf fill --template application.pdf --data application_data.json --output filled_app.pdf - Merge:
nano-pdf merge --files filled_app.pdf cover_letter.pdf --output final_packet.pdfOutput is a single PDF ready for submission.
Graph Relationships
- Related to: "ocr-tool" (for enhanced OCR capabilities), "document-parser" (for broader file type support), "text-analyzer" (for advanced mining integrations).
- Clusters: Connected via "community" cluster to skills like "data-extraction" and "automation-utils".
Decide Fit First
Design Intent
How To Use It
Boundaries And Review