PDF处理工具包

19分钟前更新 1 00
PDF处理工具包PDF处理工具包
PDF处理工具包

技能简介

该技能提供完整的PDF文档处理能力,支持文本与表格提取、新建PDF、合并拆分文档及表单处理。基于pypdf、pdfplumber、reportlab等Python库实现,同时包含命令行工具方案。

业务背景

解决企业日常PDF文档处理繁琐低效的问题。业务人员无需依赖专业软件或技术团队,即可自主完成合同归档、报表整合、数据提取等高频操作,将重复性文档工作自动化,释放人力专注核心业务决策。

落地案例:财务部每月需汇总各区域销售报表,传统方式手动复制粘贴耗时易错。使用本工具包,可批量提取数百份PDF中的表格数据并合并为统一Excel;法务部收到多份合同扫描件后,按签约方拆分归档,全程无需打开专业PDF编辑器,处理效率显著提升。

能做什么

  • 从PDF中提取纯文本与结构化表格数据
  • 合并多个PDF文件或按页拆分为独立文档
  • 创建新PDF并添加文字、图形、多页内容
  • 旋转页面、提取元数据、移除密码保护
  • 批量处理PDF表单填写任务

使用说明

安装依赖

pip install pypdf pdfplumber reportlab pandas
# Linux系统可选命令行工具
sudo apt-get install poppler-utils qpdf pdftk

基础读取与文本提取

from pypdf import PdfReader
reader = PdfReader("document.pdf")
print(f"总页数: {len(reader.pages)}")
text = "".join(page.extract_text() for page in reader.pages)

表格提取(保留结构)

import pdfplumber, pandas as pd
with pdfplumber.open("document.pdf") as pdf:
    for page in pdf.pages:
        tables = page.extract_tables()
        for table in tables:
            df = pd.DataFrame(table[1:], columns=table[0])

合并PDF文档

from pypdf import PdfWriter, PdfReader
writer = PdfWriter()
for file in ["doc1.pdf", "doc2.pdf"]:
    for page in PdfReader(file).pages:
        writer.add_page(page)
with open("merged.pdf", "wb") as f: writer.write(f)

创建新PDF

from reportlab.pdfgen import canvas
c = canvas.Canvas("output.pdf")
c.drawString(100, 700, "Hello World")
c.save()

输入与输出

见下方输入与输出表格。

项目内容
输入PDF文件路径;可选参数包括页码范围、密码、输出文件名
输出提取的文本、表格数据(DataFrame)、新生成PDF文件、文档元数据
适用人群数据分析师、自动化开发者、文档归档人员、RPA流程设计人员
不包含OCR识别、PDF转图片、数字签名验证、PDF/A合规检查

 

风险提示

  • 扫描版PDF需先OCR识别,直接提取可能返回空内容
  • 加密PDF需提供密码才能处理
  • 复杂排版表格提取结果可能需要人工校验
  • 中文字体需单独配置,默认可能显示乱码

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/awspace/pdf/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...