文档转Markdown
多格式文件转Mark
该技能提供完整的PDF文档处理能力,支持文本与表格提取、新建PDF、合并拆分文档及表单处理。基于pypdf、pdfplumber、reportlab等Python库实现,同时包含命令行工具方案。
解决企业日常PDF文档处理繁琐低效的问题。业务人员无需依赖专业软件或技术团队,即可自主完成合同归档、报表整合、数据提取等高频操作,将重复性文档工作自动化,释放人力专注核心业务决策。
落地案例:财务部每月需汇总各区域销售报表,传统方式手动复制粘贴耗时易错。使用本工具包,可批量提取数百份PDF中的表格数据并合并为统一Excel;法务部收到多份合同扫描件后,按签约方拆分归档,全程无需打开专业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合规检查 |
原始链接:https://github.com/openclaw/skills/tree/main/skills/awspace/pdf/SKILL.md
来源类型:GitHub仓库