Skip to main content
Glama

docxtpl MCP Server

by z1w2r3
demo_ppt_parsing.py3.19 kB
#!/usr/bin/env python """ PowerPoint 解析功能演示脚本 演示如何使用 docxtpl-mcp 服务器解析 PowerPoint 文档 """ import asyncio import json from pathlib import Path from src.server import DocxTemplateServer async def demo_ppt_parsing(): """演示 PowerPoint 解析功能""" print("=" * 80) print("📊 PowerPoint 解析功能演示") print("=" * 80) print() server = DocxTemplateServer() # 使用样本文件 sample_file = Path("output/江苏省智能建造试点项目.pptx").absolute() if not sample_file.exists(): print("❌ 样本文件不存在,请将 PPT 文件放在 output 目录下") return print(f"📄 样本文件: {sample_file.name}") print(f"📏 文件大小: {sample_file.stat().st_size / (1024*1024):.2f} MB") print() # 演示 1: 快速文本提取 print("=" * 80) print("演示 1: 快速文本提取 (extract_text_from_document)") print("=" * 80) result = await server.extract_text_from_document(file_path=str(sample_file)) print(result[0].text[:1000]) # 只显示前1000个字符 print("... (输出已截断)") print() # 演示 2: 提取元数据 print("=" * 80) print("演示 2: 提取元数据 (get_document_metadata)") print("=" * 80) result = await server.get_document_metadata(file_path=str(sample_file)) print(result[0].text) print() # 演示 3: 解析指定幻灯片 print("=" * 80) print("演示 3: 解析指定幻灯片范围 (parse_ppt_document)") print("=" * 80) print("解析幻灯片 1-3...") # 注意: 由于样本文件较大 (93MB),可能超过默认限制 # 这里演示如何使用 API,实际使用时请确保文件大小在限制范围内 print() print("⚠️ 注意: 样本文件较大,可能超过默认的 50 MB 限制") print("💡 提示: 可以通过设置环境变量 MAX_FILE_SIZE_MB 调整限制") print() # 演示 API 调用方式 print("API 调用示例:") print("-" * 80) api_example = { "tool": "parse_ppt_document", "arguments": { "file_path": "/path/to/presentation.pptx", "include_tables": True, "include_images": False, "slides": "1-5" } } print(json.dumps(api_example, indent=2, ensure_ascii=False)) print("-" * 80) print() # 演示不同的幻灯片范围选项 print("幻灯片范围选项:") print(" - 'all' : 解析所有幻灯片") print(" - '1-5' : 解析第 1-5 张幻灯片") print(" - '1,3,5' : 解析第 1、3、5 张幻灯片") print(" - '10' : 仅解析第 10 张幻灯片") print() print("=" * 80) print("✅ 演示完成!") print("=" * 80) print() print("💡 使用提示:") print("1. parse_ppt_document - 获取完整的结构化数据 (幻灯片、表格、图片)") print("2. extract_text_from_document - 快速提取纯文本内容") print("3. get_document_metadata - 仅获取文档元数据") print() print("📚 更多信息请参阅 README.md") if __name__ == "__main__": asyncio.run(demo_ppt_parsing())

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/z1w2r3/doc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server