Pdf Toolkit

Polar Sponsor
爱发电 赞助
.NET 9.0

全面的PDF处理工具包,支持提取文本和表格、创建新PDF、合并/拆分文档及处理表单。由evolink.ai提供支持。

PDF 工具包

功能概述

PDF 工具包是一项面向实际任务的技能,主要用于用于提取文本和表格的 PDF 操作工具包, 创建新的 PDF 文档、 合并/ 分割文档和处理表格;由 Evolink.ai 授权;

核心要点

  • 使用此工具。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

PDF Toolkit

功能全面的 PDF 处理工具包,支持文本与表格提取、新建 PDF、文档合并/拆分,以及表单处理。

由 Evolink.ai 提供技术支持

适用场景

当您需要执行以下操作时,请使用本技能:

  • 从 PDF 文档中提取文本或表格
  • 将多个 PDF 合并为一个文件
  • 将 PDF 拆分为独立页面
  • 以编程方式创建新 PDF
  • 填写 PDF 表单
  • 添加水印或旋转页面
  • 提取 PDF 元数据或图像

使用方法

本技能为纯指令型技能。Claude 将调用下方所述的 Python 库及命令行工具来执行 PDF 操作。

⚠️ 前置依赖:
执行任何任务前,Claude 应首先确认所需 Python 库是否已安装。若缺失,请指导用户运行以下命令:

pip install pypdf pdfplumber reportlab pytesseract pdf2image

Python 库

pypdf — 基础操作(合并、拆分、旋转、加密)
pdfplumber — 保留版式结构的文本与表格提取
reportlab — 从零开始生成 PDF
pytesseract + pdf2image — 针对扫描版 PDF 的 OCR 支持

命令行工具

pdftotext(poppler-utils)— 提取文本
qpdf — 合并、拆分、旋转、解密 PDF
pdftk — 另一种 PDF 操作工具

配置说明

EvoLink API(可选)

如需启用 AI 驱动的 PDF 分析与处理能力,请配置 EvoLink API 密钥:

export EVOLINK_API_KEY="your-key-here"

默认模型:claude-opus-4-6(无需额外配置)。

如需切换至其他模型,请执行:

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

更多可用模型请参阅官方文档。
👉 免费获取 API 密钥

Python 库

本技能提供标准 Python PDF 库的使用指导。基础操作无需额外配置。

示例代码

从 PDF 中提取文本

from pypdf import PdfReader

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

合并多个 PDF

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)

提取表格

import pdfplumber

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

创建新 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()

常用操作

将 PDF 拆分为单页文件

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)

旋转页面

from pypdf import PdfReader, PdfWriter

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

page = reader.pages[0]
page.rotate(90)  # 顺时针旋转 90 度
writer.add_page(page)

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

提取元数据

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}")

添加密码保护

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)

将表格导出为 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)

对扫描版 PDF 执行 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}:\n"
    text += pytesseract.image_to_string(image)
    text += "\n\n"
print(text)

命令行示例

# 提取文本(保留原始排版)
pdftotext -layout input.pdf output.txt

# 合并 PDF
qpdf --empty --pages file1.pdf file2.pdf -- merged.pdf

# 拆分指定页码范围
qpdf input.pdf --pages . 1-5 -- pages1-5.pdf

# 移除密码保护
qpdf --password=mypassword --decrypt encrypted.pdf decrypted.pdf

# 提取嵌入图像
pdfimages -j input.pdf output_prefix

速查表

任务 推荐工具 示例
提取文本 pdfplumber page.extract_text()
提取表格 pdfplumber page.extract_tables()
合并 PDF pypdf writer.add_page(page)
拆分 PDF pypdf 每页输出为单独文件
创建 PDF reportlab Canvas 或 Platypus
OCR 扫描版 PDF pytesseract 需先转换为图像
命令行合并 PDF qpdf qpdf --empty --pages ...
填写表单 pypdf 参见表单填写示例

安全性说明

凭据与网络访问

本技能无需 API 密钥,也不发起任何网络请求。所有操作均通过本地 Python 库完成。

文件访问权限

本技能仅提供读写 PDF 文件的操作指导。Claude 仅会访问您明确指定的文件。

网络访问

本技能不发起任何网络请求。

持久化与权限控制

本技能不会修改其他技能或系统设置,仅提供 PDF 处理相关操作指导。

相关链接

  • GitHub 仓库
  • API 参考文档
  • 社区论坛
  • 技术支持

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习