全面的PDF处理工具包,支持提取文本和表格、创建新PDF、合并/拆分文档及处理表单。由evolink.ai提供支持。
PDF 工具包是一项面向实际任务的技能,主要用于用于提取文本和表格的 PDF 操作工具包, 创建新的 PDF 文档、 合并/ 分割文档和处理表格;由 Evolink.ai 授权;
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
功能全面的 PDF 处理工具包,支持文本与表格提取、新建 PDF、文档合并/拆分,以及表单处理。
由 Evolink.ai 提供技术支持
当您需要执行以下操作时,请使用本技能:
本技能为纯指令型技能。Claude 将调用下方所述的 Python 库及命令行工具来执行 PDF 操作。
⚠️ 前置依赖:
执行任何任务前,Claude 应首先确认所需 Python 库是否已安装。若缺失,请指导用户运行以下命令:
pip install pypdf pdfplumber reportlab pytesseract pdf2image
pypdf — 基础操作(合并、拆分、旋转、加密)
pdfplumber — 保留版式结构的文本与表格提取
reportlab — 从零开始生成 PDF
pytesseract + pdf2image — 针对扫描版 PDF 的 OCR 支持
pdftotext(poppler-utils)— 提取文本
qpdf — 合并、拆分、旋转、解密 PDF
pdftk — 另一种 PDF 操作工具
如需启用 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 PDF 库的使用指导。基础操作无需额外配置。
from pypdf import PdfReader
reader = PdfReader("document.pdf")
text = ""
for page in reader.pages:
text += page.extract_text()
print(text)
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)
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()
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)
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)
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 处理相关操作指导。
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章