Token导航 LogoToken导航TokenDH.com
效率执行命令clawhub未标认证来源可访问clear审计提醒

pdf-all-in-onePDF ALL IN ONE 图像

Agent Skill

pdf-all-in-one 用于处理图像、截图、视觉识别或图片素材相关工作,适合在 OpenClaw 中需要让 Agent 分析图片、整理视觉素材或辅助图像流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,772

周安装

285

GitHub Stars

公开资料未说明

下载量

2,371
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pdf-all-in-one(PDF ALL IN ONE 图像)
来源仓库:https://github.com/sonicrang/pdf-all-in-one
安装命令:
openclaw skills install pdf-all-in-one
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install pdf-all-in-one

简介

pdf-all-in-one 是一体化 PDF 处理工具,支持合并、拆分、OCR 和表格识别。

  • 适用于文档整理、图像提取、文本转换等办公自动化场景。
  • 可处理扫描件与数字 PDF,输出结构化内容或图像文件。
  • 使用前需确认文件来源合法性,避免处理敏感或未授权文档。
  • 建议核对 OCR 精度与格式保留情况,必要时人工复核关键内容。

SKILL.md

name
pdf-all-in-one
description
All-in-one PDF processing tool. Merge, split, extract, convert PDFs. Supports text extraction, table recognition, PDF-to-image conversion, OCR. Triggers: PDF, pdf.
metadata
openclaw
emoji
📕
fork-of
https://github.com/anthropics/skills

PDF All-in-One Processing Guide

Overview

This guide covers comprehensive PDF processing operations including conversion to images. For advanced features, see REFERENCE.md.

Workspace Directory: <current_workspace>/pdf-all-in-one-workspace/

Quick Start

from pypdf import PdfReader, PdfWriter

# Read a PDF
reader = PdfReader("document.pdf")
print(f"Pages: {len(reader.pages)}")

# Extract text
text = ""
for page in reader.pages:
    text += page.extract_text()

PDF to Image Conversion

Convert PDF Pages to PNG/JPG

from pdf2image import convert_from_path
import os

# Configuration
pdf_path = "input.pdf"
output_dir = "pdf-all-in-one-workspace/output_images"
os.makedirs(output_dir, exist_ok=True)

# Convert PDF to images
images = convert_from_path(pdf_path, dpi=150)

# Save each page as PNG
for i, image in enumerate(images):
    output_path = f"{output_dir}/page_{i+1}.png"
    image.save(output_path, "PNG")
    print(f"Saved: {output_path}")

print(f"Total pages converted: {len(images)}")

Convert with Specific Page Range

from pdf2image import convert_from_path

# Convert only pages 1-5
images = convert_from_path("document.pdf", 
                          dpi=200, 
                          first_page=1, 
                          last_page=5)

for i, image in enumerate(images):
    image.save(f"pdf-all-in-one-workspace/page_{i+1}.jpg", "JPEG", quality=95)

Prerequisites

# Install Python library
pip install pdf2image

# Install system dependency (poppler)
# Ubuntu/Debian:
sudo apt-get install poppler-utils

# CentOS/RHEL:
sudo yum install poppler-utils

# macOS:
brew install poppler

Python Libraries

pypdf - Basic Operations

Merge 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)

Split PDF

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

Extract Metadata

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

Rotate Pages

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)

pdfplumber - Text and Table Extraction

Extract Text with Layout

import pdfplumber

with pdfplumber.open("document.pdf") as pdf:
    for page in pdf.pages:
        text = page.extract_text()
        print(text)

Extract Tables

with pdfplumber.open("document.pdf") as pdf:
    for i, page in enumerate(pdf.pages):
        tables = page.extract_tables()
        for j, table in enumerate(tables):
            print(f"Table {j+1} on page {i+1}:")
            for row in table:
                print(row)

Advanced Table Extraction

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("pdf-all-in-one-workspace/extracted_tables.xlsx", index=False)

reportlab - Create PDFs

Basic PDF Creation

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

c = canvas.Canvas("pdf-all-in-one-workspace/hello.pdf", pagesize=letter)
width, height = letter

c.drawString(100, height - 100, "Hello World!")
c.drawString(100, height - 120, "This is a PDF created with reportlab")
c.line(100, height - 140, 400, height - 140)
c.save()

Subscripts and Superscripts

from reportlab.platypus import Paragraph
from reportlab.lib.styles import getSampleStyleSheet

styles = getSampleStyleSheet()
chemical = Paragraph("H<sub>2</sub>O", styles['Normal'])
squared = Paragraph("x<super>2</super> + y<super>2</super>", styles['Normal'])

Command-Line Tools

pdftotext (poppler-utils)

# Extract text
pdftotext input.pdf output.txt

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

# Extract specific pages
pdftotext -f 1 -l 5 input.pdf output.txt

qpdf

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

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

# Rotate pages
qpdf input.pdf output.pdf --rotate=+90:1

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

pdftk

# Merge
pdftk file1.pdf file2.pdf cat output merged.pdf

# Split
pdftk input.pdf burst

# Rotate
pdftk input.pdf rotate 1east output rotated.pdf

pdfimages - Extract Images from PDF

# Extract all images as JPG
pdfimages -j input.pdf pdf-all-in-one-workspace/output_prefix

Common Tasks

Extract Text from Scanned PDFs (OCR)

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)

Add Watermark

from pypdf import PdfReader, PdfWriter

watermark = PdfReader("watermark.pdf").pages[0]
reader = PdfReader("document.pdf")
writer = PdfWriter()

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

with open("pdf-all-in-one-workspace/watermarked.pdf", "wb") as output:
    writer.write(output)

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("pdf-all-in-one-workspace/encrypted.pdf", "wb") as output:
    writer.write(output)

Quick Reference

TaskBest ToolCommand/Code
PDF to Imagepdf2imageconvert_from_path(pdf, dpi=150)
Merge PDFspypdfwriter.add_page(page)
Split PDFspypdfOne page per file
Extract textpdfplumberpage.extract_text()
Extract tablespdfplumberpage.extract_tables()
Create PDFsreportlabCanvas or Platypus
OCR scanned PDFspytesseractpdf2image + pytesseract
Extract imagespdfimagespdfimages -j input.pdf output_prefix
Command line mergeqpdfqpdf --empty --pages ...

Workspace Directory Structure

<current_workspace>/
└── pdf-all-in-one-workspace/
    ├── input/          # Place input PDFs here
    ├── output_images/  # Converted images output
    ├── output_pdfs/    # Generated PDFs output
    └── temp/           # Temporary files

Note: Always use pdf-all-in-one-workspace/ as the working directory for PDF operations to keep files organized.

Next Steps

  • For advanced pypdfium2 usage, see REFERENCE.md
  • For JavaScript libraries (pdf-lib), see REFERENCE.md
  • For PDF form filling, see FORMS.md
  • For troubleshooting guides, see REFERENCE.md

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.71%
按下载量换算1,819

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 openclaw skills install pdf-all-in-one 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills