用途:创建、编辑和分析 .pptx 演示文稿。.pptx 本质是包含 XML 与资源的 ZIP 包,可按任务选用不同工具与流程。
主要能力:
- 读取与分析:用 python -m markitdown path-to-file.pptx 提取文本;批注、备注、版式、动画、设计元素与复杂格式需解包读取原始 XML。
- 解包与结构:python ooxml/scripts/unpack.py <office_file> <output_dir>。关键文件包括 ppt/presentation.xml、ppt/slides/slide{N}.xml、ppt/notesSlides/notesSlide{N}.xml、ppt/comments/modernComment_*.xml、ppt/slideLayouts/、ppt/slideMasters/、ppt/theme/、ppt/media/。
- 字体与配色提取:读取 ppt/theme/theme1.xml 的 <a:clrScheme> 与 <a:fontScheme>,检查 slide1.xml 的 <a:rPr>,并用 grep 搜索颜色与字体引用。
- 无模板新建:使用 html2pptx 工作流,将 HTML 幻灯片转为 PowerPoint。需先完整阅读 html2pptx.md,每页 HTML 尺寸如 720pt×405pt,文本用 <p>、<h1>-<h6>、<ul>、<ol>,图表/表格区域用 class="placeholder",渐变与图标先用 Sharp 栅格化为 PNG。图表表格建议整页或两栏布局,避免纵向堆叠。
- 编辑现有文件:完整阅读 ooxml.md,解包后编辑 XML,每次编辑后运行 python ooxml/scripts/validate.py <dir> --original <file> 校验,最后 python ooxml/scripts/pack.py <input_directory> <office_file> 打包。
- 模板新建:提取模板文本与缩略图,建立 template-inventory.md,规划 outline.md 与 template_mapping,用 python scripts/rearrange.py template.pptx working.pptx 0,34,34,50,52 复制重排,再用 python scripts/inventory.py working.pptx text-inventory.json 提取全部文本。
- 视觉校验:python scripts/thumbnail.py output.pptx workspace/thumbnails --cols 4 生成缩略图,检查文字截断、重叠、位置与对比度问题并迭代修正。
适用场景:需要程序化生成或批量修改演示文稿、复用企业模板、分析版式与配色、提取备注与批注。
限制:依赖 Python 与相关脚本、Sharp、PptxGenJS 等环境;复杂格式必须处理原始 XML;模板索引为 0 起始,需核对范围;资料未提供具体收费、平台与效果信息。