← Back to Skills Marketplace
evolinkai

Pdf Toolkit

by EvolinkAI · GitHub ↗ · v1.0.10 · MIT-0
cross-platform ✓ Security Clean
122
Downloads
0
Stars
0
Active Installs
5
Versions
Install in OpenClaw
/install evolink-pdf
Description
Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. Powered by evolink.ai
README (SKILL.md)

PDF Toolkit

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms.

Powered by Evolink.ai

When to Use

Use this skill when you need to:

  • Extract text or tables from PDF documents
  • Merge multiple PDFs into one
  • Split a PDF into separate pages
  • Create new PDFs programmatically
  • Fill out PDF forms
  • Add watermarks or rotate pages
  • Extract metadata or images from PDFs

Usage

This is an instruction-only skill. Claude will use the Python libraries and command-line tools described below to perform PDF operations.

⚠️ Prerequisites: Before performing any task, Claude should verify if the required Python libraries are installed. If missing, guide the user to run:

pip install pypdf pdfplumber reportlab pytesseract pdf2image

Python Libraries

pypdf - Basic operations (merge, split, rotate, encrypt) pdfplumber - Text and table extraction with layout preservation reportlab - Create PDFs from scratch pytesseract + pdf2image - OCR for scanned PDFs

Command-Line Tools

pdftotext (poppler-utils) - Extract text qpdf - Merge, split, rotate, decrypt pdftk - Alternative PDF manipulation tool

Configuration

EvoLink API (Optional)

For AI-powered PDF analysis and processing, set your EvoLink API key:

export EVOLINK_API_KEY="your-key-here"

Default model: claude-opus-4-6 (no configuration needed).

To use a different model:

export EVOLINK_MODEL="claude-sonnet-4-5-20250929"

For other available models, see the documentation. 👉 Get free API key

Python Libraries

This skill provides instructions for using standard Python PDF libraries. No additional configuration required for basic operations.

Example

Extract Text from PDF

from pypdf import PdfReader

reader = PdfReader("document.pdf")
text = ""
for page in reader.pages:
    text += page.extract_text()
print(text)

Merge Multiple PDFs

from pypdf import PdfWriter, PdfReader

writer = PdfWriter()
for pdf_file in ["doc1.pdf", "doc2.pdf", "doc3.pdf"]:
    reader = PdfReader(pdf_file)
    for page in reader.pages:
        writer.add_page(page)

with open("merged.pdf", "wb") as output:
    writer.write(output)

Extract Tables

import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    for page in pdf.pages:
        tables = page.extract_tables()
        for table in tables:
            print(table)

Create New PDF

from reportlab.lib.pagesizes import letter
from reportlab.pdfgen import canvas

c = canvas.Canvas("output.pdf", pagesize=letter)
c.drawString(100, 750, "Hello World!")
c.save()

Common Operations

Split PDF into Pages

from pypdf import PdfReader, PdfWriter

reader = PdfReader("input.pdf")
for i, page in enumerate(reader.pages):
    writer = PdfWriter()
    writer.add_page(page)
    with open(f"page_{i+1}.pdf", "wb") as output:
        writer.write(output)

Rotate Pages

from pypdf import PdfReader, PdfWriter

reader = PdfReader("input.pdf")
writer = PdfWriter()

page = reader.pages[0]
page.rotate(90)  # Rotate 90 degrees clockwise
writer.add_page(page)

with open("rotated.pdf", "wb") as output:
    writer.write(output)

Extract Metadata

from pypdf import PdfReader

reader = PdfReader("document.pdf")
meta = reader.metadata
print(f"Title: {meta.title}")
print(f"Author: {meta.author}")
print(f"Subject: {meta.subject}")

Add Password Protection

from pypdf import PdfReader, PdfWriter

reader = PdfReader("input.pdf")
writer = PdfWriter()

for page in reader.pages:
    writer.add_page(page)

writer.encrypt("userpassword", "ownerpassword")

with open("encrypted.pdf", "wb") as output:
    writer.write(output)

Extract Tables to Excel

import pdfplumber
import pandas as pd

with pdfplumber.open("document.pdf") as pdf:
    all_tables = []
    for page in pdf.pages:
        tables = page.extract_tables()
        for table in tables:
            if table:
                df = pd.DataFrame(table[1:], columns=table[0])
                all_tables.append(df)
    
    if all_tables:
        combined_df = pd.concat(all_tables, ignore_index=True)
        combined_df.to_excel("output.xlsx", index=False)

OCR Scanned PDFs

import pytesseract
from pdf2image import convert_from_path

images = convert_from_path('scanned.pdf')
text = ""
for i, image in enumerate(images):
    text += f"Page {i+1}:\
"
    text += pytesseract.image_to_string(image)
    text += "\
\
"
print(text)

Command-Line Examples

# Extract text preserving layout
pdftotext -layout input.pdf output.txt

# Merge PDFs
qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf

# Split specific pages
qpdf input.pdf --pages . 1-5 -- pages1-5.pdf

# Remove password
qpdf --password=mypassword --decrypt encrypted.pdf decrypted.pdf

# Extract images
pdfimages -j input.pdf output_prefix

Quick Reference

Task Best Tool Example
Extract text pdfplumber page.extract_text()
Extract tables pdfplumber page.extract_tables()
Merge PDFs pypdf writer.add_page(page)
Split PDFs pypdf One page per file
Create PDFs reportlab Canvas or Platypus
OCR scanned PDFs pytesseract Convert to image first
Command line merge qpdf qpdf --empty --pages ...
Fill forms pypdf See form filling examples

Security

Credentials & Network

This skill does not require API keys or make network requests. All operations are performed locally using Python libraries.

File Access

This skill provides instructions for reading and writing PDF files. Claude will only access files you explicitly specify.

Network Access

This skill does not make network requests.

Persistence & Privilege

This skill does not modify other skills or system settings. It only provides instructions for PDF manipulation.

Links

Usage Guidance
This skill is an instruction-only PDF toolkit and appears to be what it says: it tells Claude how to use local Python libraries and CLI tools to process PDFs. Before installing or using it: (1) do not set EVOLINK_API_KEY unless you trust evolink.ai — that key would allow external API calls and could transmit PDF contents; (2) be prepared to install system-level dependencies yourself (tesseract, poppler) if you need OCR; (3) run operations on sensitive PDFs in a controlled environment (sandbox/VM) if you are concerned about accidental network transmission; (4) note the repository/homepage information is minimal—if provenance matters, verify the referenced GitHub repo and evolink.ai site yourself; (5) if you want to be extra cautious, inspect any future code files or extensions (this current skill is instruction-only).
Capability Assessment
Purpose & Capability
The skill's name/description (PDF manipulation) matches the provided instructions: merging, splitting, extracting, OCR, etc. It does not request unrelated credentials or binaries. Minor metadata inconsistencies exist (meta.json version 1.0.0 vs registry 1.0.10) and multiple Evolink references are present even though the core functionality is local.
Instruction Scope
SKILL.md stays within PDF-related operations and only instructs using local Python libraries and common CLI tools. It asks the agent to verify/install Python packages and to use command-line tools (qpdf, pdftotext, pdftk) when available. It does not instruct the agent to read unrelated files or hidden system paths. However, it refers to an optional EvoLink API and model names without including explicit API usage examples (incomplete integration details).
Install Mechanism
No install spec is provided (instruction-only), so nothing is written to disk by the skill itself. This is the lower-risk model for skills.
Credentials
The skill declares no required environment variables, which matches the registry metadata. SKILL.md mentions an optional EVOLINK_API_KEY and EVOLINK_MODEL for EvoLink integration — optional only. If a user sets EVOLINK_API_KEY, PDFs or extracted data could be sent to an external Evolink service, so providing such credentials should be done only if you trust the service. Also note that some Python packages mentioned (pytesseract, pdf2image) rely on system binaries (tesseract, poppler) that the skill does not install or mention explicitly.
Persistence & Privilege
Skill does not request persistent/always-on privileges, does not modify other skills, and has default autonomous invocation allowed (the platform default). No elevated privileges are requested.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install evolink-pdf
  3. After installation, invoke the skill by name or use /evolink-pdf
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.10
- No changes detected in this version; documentation and functionality remain the same.
v1.0.8
- Updated external links: removed ClawHub link, added API Reference link. - Adjusted link source parameters for consistency. - No functional or usage changes; documentation only.
v1.0.4
Version 1.0.4 of evolink-pdf - No changes detected in the files or documentation. - Content and functionality remain identical to prior version.
v1.0.1
- Added a prerequisite note for users to check and install required Python libraries before use. - Updated powered-by links and campaign parameters for EvoLink/ClawHub consistency. - Changed repository and documentation links to reflect the new "pdf-skill-for-openclaw" project. - Updated external links section; replaced API reference with a ClawHub link. - General content and branding adjustments for accuracy and clarity.
v1.0.0
- Initial release of the comprehensive PDF manipulation toolkit. - Supports text and table extraction, merging/splitting PDFs, creating new PDFs, form handling, watermarking, rotating, and metadata/image extraction. - Utilizes popular Python libraries (pypdf, pdfplumber, reportlab, pytesseract) and command-line tools (pdftotext, qpdf, pdftk). - Optional integration with EvoLink API for AI-powered PDF analysis. - Includes example usage code and command-line instructions for common PDF operations. - No network required; all file processing is local unless API functionality is used.
Metadata
Slug evolink-pdf
Version 1.0.10
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 5
Frequently Asked Questions

What is Pdf Toolkit?

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. Powered by evolink.ai. It is an AI Agent Skill for Claude Code / OpenClaw, with 122 downloads so far.

How do I install Pdf Toolkit?

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

Is Pdf Toolkit free?

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

Which platforms does Pdf Toolkit support?

Pdf Toolkit is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Pdf Toolkit?

It is built and maintained by EvolinkAI (@evolinkai); the current version is v1.0.10.

💬 Comments