Documents

PDF文件高保真转换器

Try it

PDF格式转换与处理工具。触发词:PDF转PPT、PDF转Word、PDF转Excel、PDF转图片、PDF格式转换、把PDF转成PPT、PDF去水印、移除水印、PDF表单填写、填写PDF表格、批量提取PDF表格、外文PDF翻译。即使用户没说'转换',只要提到'PDF里的表提取到Excel''这个报告能不能编辑''去掉这个水印''把这个英文PDF翻成中文'也应触发。不适用:非PDF输入、PDF内容分析/摘要(用pdf skill)、扫描件OCR识别。

What it does

PDF格式转换与处理工具。触发词:PDF转PPT、PDF转Word、PDF转Excel、PDF转图片、PDF格式转换、把PDF转成PPT、PDF去水印、移除水印、PDF表单填写、填写PDF表格、批量提取PDF表格、外文PDF翻译。即使用户没说'转换',只要提到'PDF里的表提取到Excel''这个报告能不能编辑''去掉这个水印''把这个英文PDF翻成中文'也应触发。不适用:非PDF输入、PDF内容分析/摘要(用pdf skill)、扫描件OCR识别。

The skill document

IRON LAW:①转换前必须确认源文件为有效PDF(非扫描件),不支持的格式必须明确拒绝并告知替代方案;②转换后必须验证输出文件可正常打开且内容完整,不可直接交付未验证的产物;③pdf_to_xlsx.py使用三引擎优先级(E1 XY-Cut→E2 MarkItDown→E3 pdfplumber),表格提取失败时必须降级而非报错退出;④批量模式单次处理不超过100个PDF文件、翻译不超过5000个文本块。无例外。

mu-pdf-converter — PDF 格式转换工具

概述

将 PDF 文件高保真转换为多种可编辑格式。核心能力:

目标格式特点
PPT (.pptx)文本框可编辑 + SVG矢量图 + 位图原格式 + 表格原生可编辑(四层叠加);外文PDF自动生成中文版
Word (.docx)文本段落 + 标题识别 + 表格插入,保留字体/加粗/斜体
Excel (.xlsx)仅提取表格内容,每个表格一个 Sheet;支持批量目录扫描
图片 (.png/.jpg)每页高质量渲染,支持自定义 DPI

不适用场景:非 PDF 输入、PDF 内容分析/摘要(请用 pdf skill)、扫描件的 OCR 识别(需外部 OCR 工具预处理)。


安装依赖

# 核心依赖(必装)
pip install pymupdf pdfplumber python-pptx python-docx openpyxl lxml pypdf

# 可选依赖(增强功能)
pip install pypdfium2 markitdown translators requests

依赖说明:

  • pymupdffitz):PDF 解析、文本/图片/矢量路径提取、页面渲染
  • pdfplumber:表格识别(基于 pdfminer.six)
  • python-pptx + lxml:生成 PowerPoint 文件(SVG插入需lxml)
  • python-docx:生成 Word 文件
  • openpyxl:生成 Excel 文件
  • pypdf:PDF 表单填写、水印移除的 XObject 操作
  • pypdfium2(可选):XY-Cut 无边框表格识别引擎 E1
  • markitdown(可选):AI辅助表格识别引擎 E2
  • translators + requests(可选):外文PDF自动翻译

快速开始

SKILL_DIR=~/.openclaw/skills/mu-pdf-converter/scripts

# 1. PDF → PPT(默认跟PDF页面尺寸一致,外文自动翻译)
python3 $SKILL_DIR/pdf_to_pptx.py report.pdf --outfile report.pptx
python3 $SKILL_DIR/pdf_to_pptx.py report.pdf --slide-size 16:9          # 指定尺寸
python3 $SKILL_DIR/pdf_to_pptx.py report.pdf --no-translate             # 禁用翻译

# 2. PDF → Word
python3 $SKILL_DIR/pdf_to_docx.py report.pdf --outfile report.docx

# 3. PDF → Excel(仅表格)
python3 $SKILL_DIR/pdf_to_xlsx.py report.pdf --outfile tables.xlsx

# 4. PDF → Excel(批量,扫描目录内所有 PDF)
python3 $SKILL_DIR/pdf_to_xlsx.py --batch ./invoices/ --outfile batch_result.xlsx

# 5. PDF → 图片(每页一张 PNG,150 DPI)
python3 $SKILL_DIR/pdf_to_images.py report.pdf --dpi 150 --outdir ./images

# 6. PDF 表单填写(可填字段)
python3 $SKILL_DIR/pdf_fill_form.py form.pdf --detect                           # 检测字段
python3 $SKILL_DIR/pdf_fill_form.py form.pdf --fill-json values.json --outfile filled.pdf  # 填写

# 7. PDF 表单填写(非可填字段,坐标注释)
python3 $SKILL_DIR/pdf_fill_form.py form.pdf --analyze --outdir ./form_images   # 转图分析
python3 $SKILL_DIR/pdf_fill_form.py form.pdf --annotate-json ann.json --outfile filled.pdf # 注释填写

# 8. PDF 去水印(通用版)
python3 $SKILL_DIR/pdf_remove_watermark.py watermarked.pdf --outfile clean.pdf
python3 $SKILL_DIR/pdf_remove_watermark.py watermarked.pdf --detect-only          # 预览模式(不修改)
python3 $SKILL_DIR/pdf_remove_watermark.py watermarked.pdf --method text --outfile clean.pdf  # 仅文字水印
python3 $SKILL_DIR/pdf_remove_watermark.py watermarked.pdf --aggressive --outfile clean.pdf   # 激进模式

📖 各格式详细参数、技术细节、降级策略、已知限制见 references/usage-guide.md

脚本路径

~/.openclaw/skills/mu-pdf-converter/
├── SKILL.md          # 本文件
├── _meta.json        # 元数据(.skillignore 排除,不随发布)
└── scripts/
    ├── utils.py                 # 公共工具(坐标转换/字体映射/XY-Cut v2/扫描件检测)
    ├── translate_utils.py       # 翻译工具(语言检测/批量翻译/专有名词保护)
    ├── mcp_server.py            # MCP Server(JSON-RPC stdin/stdout,零依赖)
    ├── pdf_to_pptx.py           # PDF → PPT(核心,四层叠加+自动翻译)
    ├── pdf_to_docx.py           # PDF → Word
    ├── pdf_to_xlsx.py           # PDF → Excel(三引擎;支持 --batch 批量模式)
    ├── pdf_to_images.py         # PDF → 图片
    ├── pdf_fill_form.py         # PDF 表单填写(双路径:可填字段 / 坐标注释)
    └── pdf_remove_watermark.py  # PDF 去水印(通用版,4 种策略)

Claude 使用指南

当用户请求 PDF 转换时,按以下流程执行:

SKILL_DIR="~/.openclaw/skills/mu-pdf-converter/scripts"

# 1. 确认输入文件存在
# 2. 根据目标格式选择脚本
# 3. 运行对应脚本
# 4. 验证输出文件存在且大小合理
# 5. 返回输出文件路径给用户

# 示例(PDF转PPT):
python3 $SKILL_DIR/pdf_to_pptx.py 'input.pdf' --outfile 'output.pptx'

# 示例(PDF转PPT,禁用翻译):
python3 $SKILL_DIR/pdf_to_pptx.py 'input.pdf' --outfile 'output.pptx' --no-translate

pdf_to_pptx.py 额外参数

  • --slide-size pdf|16:9|4:3|A4|A4v:幻灯片尺寸(默认pdf=跟原文件一致)
  • --no-translate:禁用外文自动翻译
  • --verbose-translate:打印逐条翻译日志

处理扫描件时:提示用户可先用 OCR 工具(如 ocrmypdf)添加文本层:

pip install ocrmypdf
ocrmypdf input_scan.pdf input_ocr.pdf
python3 $SKILL_DIR/pdf_to_pptx.py input_ocr.pdf

MCP Server(可选)

本 Skill 提供 MCP(Model Context Protocol)Server,可被 Claude 等 AI 助手直接调用:

# 启动 MCP Server
python3 ~/.openclaw/skills/mu-pdf-converter/scripts/mcp_server.py

协议:JSON-RPC 2.0 over stdin/stdout,零外部依赖。暴露 6 个工具:pdf_to_pptxpdf_to_docxpdf_to_xlsxpdf_to_imagespdf_fill_formpdf_remove_watermark


references/ 索引

文件说明
references/usage-guide.md各格式详细参数、PPT技术细节、降级策略、已知限制、表单填写/批量模式完整说明

Related skills

全能 PDF 智能处理技能,覆盖 25 项能力五大核心(Office 高保真互转、扫描件 OCR、PDF 直接编辑、加密水印权限、批量合并拆分重命名)、九大增值(表格提取、图文解析、摘要、脱敏、元数据清洗、自动命名、版本对比、文档问答、规格对比矩阵)、四大扩展(智能压缩、排版保留翻译、合同风险审查、发票验真归档)、七大壁垒(电子签名审批流、批量内容替换、表单创建、图纸测量、翻页电子书、印刷级导出、密文级永久删除)。当用户上传 PDF 并提出转换、识别、编辑、加密、压缩、翻译、审查、归档、签名、替换、表单、测量、电子书、印刷、删除等需求,或提到"转Word""OCR""加水印""压缩到xxMB"

13 installs

综合PDF处理工具包:文本表格提取、PDF创建、合并拆分、水印、加密、OCR识别。Use when 需要文件处理、文档转换、格式互转、内容提取时使用。不适用于加密文件破解。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。

1 installs

Convert PDF and image files into 10 document and data formats, with OCR and layout controls.

by ComPDF32 installs95 stars

Convert PDF documents to PowerPoint presentations via GoAI API. Use when the user asks to convert PDF to PPT, turn a PDF into slides, make a presentation fro...

13 installs

从图片或 PDF 文档中识别并提取文字内容,支持多种图片格式和 PDF 文件,自动判断是否包含文字并保留原始格式输出结构化结果;当用户需要从图片或 PDF 提取文字、进行 OCR 识别、处理含文字的文档或转换为可编辑文本时使用

16 installs1 stars

Convert PDF and images to 10 structured formats locally via a Python CLI wrapper around the ComPDFKit SDK.

40 installs101 stars