← Back to Skills Marketplace
panpeter2024

PDF Reader

by Peter Pan · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ⚠ suspicious
126
Downloads
1
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install pdf-reader
Description
Extract text from PDF files with automatic OCR fallback for scanned/image-based PDFs. Use when: (1) a user sends a PDF file and the framework did not auto-in...
README (SKILL.md)

PDF Reader

Extract text from any PDF — text-layer or scanned image.

How It Works

PDF received
  ├─ Has text layer? ──→ pdftotext (fast, high quality)
  │     └─ Text too sparse? ──→ Fall back to OCR
  └─ Detected as scan? ──→ Skip text, go straight to OCR
                               pdftoppm → tesseract

Quick Start

Run the bundled script via exec:

bash \x3Cskill-dir>/scripts/pdf-extract.sh /path/to/file.pdf

Save to file:

bash \x3Cskill-dir>/scripts/pdf-extract.sh /path/to/file.pdf --output /tmp/result.txt

Then read /tmp/result.txt with the read tool.

When This Skill Triggers

  1. User sends a PDF in chat but no \x3Cfile> text content was injected (only file path visible)
  2. Injected content is empty, garbled, or truncated
  3. User explicitly asks to read/extract/OCR a PDF file
  4. A PDF on disk needs text extraction for downstream processing

Typical Workflow

  1. Identify the PDF file path (usually /root/.openclaw/media/inbound/...)
  2. Run the extraction script
  3. Read the output and respond to the user

Example:

# Extract and save
bash \x3Cskill-dir>/scripts/pdf-extract.sh "/root/.openclaw/media/inbound/document.pdf" -o /tmp/pdf-text.txt

# Then use read tool on /tmp/pdf-text.txt

Script Options

Flag Description Default
--lang Tesseract languages (validated against allowlist) chi_sim+eng
--dpi Image resolution for OCR 300
--output / -o Save to file instead of stdout stdout
--ocr-only Force OCR, skip text extraction off
--text-only Text extraction only, no OCR fallback off
--auto-install Auto-install missing tools (poppler, tesseract) off

Dependencies

By default, the script does not install packages automatically. If tools are missing, it prints install instructions and exits.

To enable auto-install, pass --auto-install:

bash \x3Cskill-dir>/scripts/pdf-extract.sh file.pdf --auto-install

This installs poppler-utils and tesseract-ocr via apt-get, yum, or brew as needed.

Pre-install recommended (run once on the server):

apt-get install -y poppler-utils tesseract-ocr tesseract-ocr-chi-sim

Language Support

Default: Chinese Simplified + English (chi_sim+eng).

The --lang parameter is validated against a strict allowlist of official tesseract language codes. Invalid or malformed values are rejected.

Other languages:

# Japanese + English
bash \x3Cskill-dir>/scripts/pdf-extract.sh file.pdf --lang jpn+eng

# Korean
bash \x3Cskill-dir>/scripts/pdf-extract.sh file.pdf --lang kor

Tesseract language packs are auto-installed based on --lang.

Limitations

  • OCR quality depends on scan quality; low-resolution or handwritten PDFs may produce errors
  • Encrypted/password-protected PDFs are not supported
  • Large PDFs (50+ pages) may take 1-2 minutes for OCR
  • Pure-image pages (photos, diagrams without text) produce noise — this is expected
Usage Guidance
This skill is reasonable for extracting text from PDFs. Before using it, be aware that it runs a local script, may install OCR/PDF utilities only if --auto-install is explicitly used, and can write output to a chosen path; keep PDF inputs and output files scoped to locations you trust.
Capability Analysis
Type: OpenClaw Skill Name: pdf-reader Version: 1.1.0 The skill provides PDF text extraction and OCR capabilities via a bash script (scripts/pdf-extract.sh). It contains high-risk behaviors including the ability to install system packages using apt-get, yum, or brew (via the --auto-install flag) and a potential arbitrary file write vulnerability through the --output parameter. While the script implements some security measures like input validation for language codes and proper variable quoting, the combination of system-level modification capabilities and file system access aligns with the criteria for a suspicious classification.
Capability Assessment
Purpose & Capability
The stated purpose is PDF text extraction with OCR fallback, and the bundled script implements that using pdftotext, pdfinfo, pdftoppm, and tesseract without unrelated credential use, network uploads, or hidden endpoints.
Instruction Scope
The instructions tell the agent to run a bundled shell script on a PDF path and optionally save output to a file. This is purpose-aligned, but the user should keep the input PDF and output path scoped to files they intend to process.
Install Mechanism
There is no install spec and the registry declares no required binaries, while the script depends on poppler/tesseract tools and can optionally install them through apt-get, yum, or brew when --auto-install is passed. The default behavior is to print install instructions and exit if tools are missing.
Credentials
OCR conversion creates temporary page images under /tmp and may consume CPU, memory, and disk for large PDFs, which is expected for OCR and the script includes cleanup for its temporary directory.
Persistence & Privilege
The skill does not define background persistence, credentials, or autonomous services. Persistent changes are limited to user-specified output files and optional system package installation if --auto-install is used.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install pdf-reader
  3. After installation, invoke the skill by name or use /pdf-reader
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Security hardening: (1) Auto-install now requires explicit --auto-install flag, no longer runs package managers by default; (2) --lang parameter validated against strict allowlist, prevents injection attacks; (3) Language packages built in quoted array.
v1.0.0
Initial release: Universal PDF text extraction with automatic OCR fallback for scanned/image-based PDFs. Supports Chinese + English, auto-installs dependencies.
Metadata
Slug pdf-reader
Version 1.1.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is PDF Reader?

Extract text from PDF files with automatic OCR fallback for scanned/image-based PDFs. Use when: (1) a user sends a PDF file and the framework did not auto-in... It is an AI Agent Skill for Claude Code / OpenClaw, with 126 downloads so far.

How do I install PDF Reader?

Run "/install pdf-reader" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is PDF Reader free?

Yes, PDF Reader is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does PDF Reader support?

PDF Reader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created PDF Reader?

It is built and maintained by Peter Pan (@panpeter2024); the current version is v1.1.0.

💬 Comments