运行时依赖
安装命令
点击复制技能文档
Extract Doc 提取 .docx/.xlsx/.pdf/图片 文档内容,转换为 Markdown 格式。 触发 /extract-doc 参数: file_path:文档路径(支持 .docx/.xlsx/.pdf/.png/.jpg/.bmp) 支持格式 格式 扩展名 提取方法 特殊处理 Word .docx python-docx 段落、表格、列表 Excel .xlsx openpyxl 多 Sheet、表格 PDF .pdf pymupdf + MCP OCR 文本型/扫描型 图片 .png/.jpg/.bmp MCP OCR 中文/英文/代码 OCR 规则 必须使用 MCP OCR,禁止安装本地 OCR 库 (pytesseract 等)。 工具:mcp__zai-mcp-server__extract_text_from_screenshot 参数: image_source:图片路径或 URL prompt:提取指令 (如 "提取所有文本内容,保持原有排版") programming_language:代码语言 (可选,如 "python") 依赖安装 首次使用前执行 pip install python-docx openpyxl pymupdf 库 版本 用途 python-docx >=0.8.11 Word 解析 openpyxl >=3.1.0 Excel 解析 pymupdf >=1.23.0 PDF 解析 执行流程 Step 1:按类型提取 验证文件存在后,根据扩展名选择提取方法。 .docx 文件 from docx import Document doc = Document(path) # 段落:识别标题层级 for para in doc.paragraphs: if para.style.name.startswith('Heading'): level = para.style.name.split()[-1] # 输出:{'#' * int(level)} {para.text} else: # 输出:para.text # 表格:转 Markdown 表格 for table in doc.tables: # 第1行为表头, 其余为数据行 .xlsx 文件 from openpyxl import load_workbook wb = load_workbook(path) for sheet_name in wb.sheetnames: sheet = wb[sheet_name] # 第1行检测表头, 第2行起为数据, 转为 Markdown 表格 .pdf 文件 import fitz # pymupdf doc = fitz.open(path) for i, page in enumerate(doc, 1): text = page.get_text().strip() if text: # 文本型 PDF - 直接提取 else: # 扫描型 PDF - 渲染为图片 + MCP OCR pix = page.get_pixmap(dpi=150) pix.save(f"/tmp/pdf_page_{i}.png") # 调用 mcp__zai-mcp-server__extract_text_from_screenshot(...) 图片文件 (MCP OCR) 直接调用:mcp__zai-mcp-server__extract_text_from_screenshot( image_source="D:/docs/scan.png", prompt="提取图片中的所有文字,保持原有排版和表格结构" ) Step 2:格式化输出 转换为 Markdown,保持原有结构。 输出格式 # 文档名称
元信息
- 类型:[Word/Excel/PDF/图片]
- 页数/工作表:[N]
- OCR:[是/否]