ワンクリックで
pptx
PPT演示文稿处理:创建、编辑、读取.pptx文件。用户提到"PPT"、"幻灯片"、"演示"、"deck"、".pptx"时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
PPT演示文稿处理:创建、编辑、读取.pptx文件。用户提到"PPT"、"幻灯片"、"演示"、"deck"、".pptx"时使用。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Word文档处理:创建、编辑、读取.docx文件。用户提到"Word"、"文档"、".docx"、"报告"、"信函"时使用。
使用腾讯云 API 密钥调用腾讯云各种服务,包括翻译、CVM、COS等。
图片识别与图文理解,基于 PaddleOCR-VL 模型,支持识别图片中的文字、场景、物体等信息。支持109种语言,可输出JSON或Markdown格式。
You MUST use this for gathering contexts before any work. This is a Knowledge management for AI agents. Use `brv` to store and retrieve project patterns, decisions, and architectural rules in .brv/context-tree. Uses a configured LLM provider (default: ByteRover, no API key needed) for query and curate operations.
Typed knowledge graph for structured agent memory and composable skills. Use when creating/querying entities (Person, Project, Task, Event, Document), linking related objects, enforcing constraints, planning multi-step actions as graph transformations, or when skills need to share state. Trigger on "remember", "what do I know about", "link X to Y", "show dependencies", entity CRUD, or cross-skill data access.
Transform AI agents from task-followers into proactive partners that anticipate needs and continuously improve. Now with WAL Protocol, Working Buffer, Autonomous Crons, and battle-tested patterns. Part of the Hal Stack 🦞
| name | pptx |
| description | PPT演示文稿处理:创建、编辑、读取.pptx文件。用户提到"PPT"、"幻灯片"、"演示"、"deck"、".pptx"时使用。 |
| triggers | ["PPT","幻灯片","演示文稿",".pptx","pptx","presentation"] |
| license | Proprietary |
soffice) for presentation-to-PDF conversion.pdftoppm) for PDF-to-image conversion used by thumbnail/visual workflows.pdftoppm is unavailable, a Python fallback path may use pdf2image.PATH; if missing, report the dependency issue and stop (do not keep retrying).| Task | Guide |
|---|---|
| Read/analyze content | python -m markitdown presentation.pptx |
| Edit or create from template | Read editing.md |
| Create from scratch | Read pptxgenjs.md |
# Text extraction
python -m markitdown presentation.pptx
# Visual overview
python scripts/thumbnail.py presentation.pptx
# Raw XML
python scripts/office/unpack.py presentation.pptx unpacked/
Read editing.md for full details.
thumbnail.pyRead pptxgenjs.md for full details.
Use when no template or reference presentation is available.
Don't create boring slides. Plain bullets on a white background won't impress anyone. Consider ideas from this list for each slide.
Choose colors that match your topic — don't default to generic blue. Use these palettes as inspiration:
| Theme | Primary | Secondary | Accent |
|---|---|---|---|
| Midnight Executive | 1E2761 (navy) | CADCFC (ice blue) | FFFFFF (white) |
| Forest & Moss | 2C5F2D (forest) | 97BC62 (moss) | F5F5F5 (cream) |
| Coral Energy | F96167 (coral) | F9E795 (gold) | 2F3C7E (navy) |
| Warm Terracotta | B85042 (terracotta) | E7E8D1 (sand) | A7BEAE (sage) |
| Ocean Gradient | 065A82 (deep blue) | 1C7293 (teal) | 21295C (midnight) |
| Charcoal Minimal | 36454F (charcoal) | F2F2F2 (off-white) | 212121 (black) |
| Teal Trust | 028090 (teal) | 00A896 (seafoam) | 02C39A (mint) |
| Berry & Cream | 6D2E46 (berry) | A26769 (dusty rose) | ECE2D0 (cream) |
| Sage Calm | 84B59F (sage) | 69A297 (eucalyptus) | 50808E (slate) |
| Cherry Bold | 990011 (cherry) | FCF6F5 (off-white) | 2F3C7E (navy) |
Every slide needs a visual element — image, chart, icon, or shape. Text-only slides are forgettable.
Layout options:
Data display:
Visual polish:
Choose an interesting font pairing — don't default to Arial. Pick a header font with personality and pair it with a clean body font.
| Header Font | Body Font |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Impact | Arial |
| Palatino | Garamond |
| Consolas | Calibri |
| Element | Size |
|---|---|
| Slide title | 36-44pt bold |
| Section header | 20-24pt bold |
| Body text | 14-16pt |
| Captions | 10-12pt muted |
margin: 0 on the text box or offset the shape to account for paddingAssume there are problems. Your job is to find them.
Your first render is almost never correct. Approach QA as a bug hunt, not a confirmation step. If you found zero issues on first inspection, you weren't looking hard enough.
python -m markitdown output.pptx
Check for missing content, typos, wrong order.
When using templates, check for leftover placeholder text:
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
If grep returns results, fix them before declaring success.
⚠️ USE SUBAGENTS — even for 2-3 slides. You've been staring at the code and will see what you expect, not what's there. Subagents have fresh eyes.
Convert slides to images (see Converting to Images), then use this prompt:
Visually inspect these slides. Assume there are issues — find them.
Look for:
- Overlapping elements (text through shapes, lines through words, stacked elements)
- Text overflow or cut off at edges/box boundaries
- Decorative lines positioned for single-line text but title wrapped to two lines
- Source citations or footers colliding with content above
- Elements too close (< 0.3" gaps) or cards/sections nearly touching
- Uneven gaps (large empty area in one place, cramped in another)
- Insufficient margin from slide edges (< 0.5")
- Columns or similar elements not aligned consistently
- Low-contrast text (e.g., light gray text on cream-colored background)
- Low-contrast icons (e.g., dark icons on dark backgrounds without a contrasting circle)
- Text boxes too narrow causing excessive wrapping
- Leftover placeholder content
For each slide, list issues or areas of concern, even if minor.
Read and analyze these images:
1. /path/to/slide-01.jpg (Expected: [brief description])
2. /path/to/slide-02.jpg (Expected: [brief description])
Report ALL issues found, including minor ones.
Do not declare success until you've completed at least one fix-and-verify cycle.
Convert presentations to individual slide images for visual inspection:
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
This creates slide-01.jpg, slide-02.jpg, etc.
To re-render specific slides after fixes:
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
pip install "markitdown[pptx]" - text extractionpip install Pillow - thumbnail gridsnpm install -g pptxgenjs - creating from scratchsoffice) - PDF conversion (auto-configured for sandboxed environments via scripts/office/soffice.py)pdftoppm) - PDF to images# 1. 提取文本内容
python -m markitdown presentation.pptx --output presentation.md
# 2. 生成缩略图预览
python scripts/thumbnail.py presentation.pptx --output thumbnails/
# 3. 转换为PDF
python scripts/office/soffice.py --headless --convert-to pdf presentation.pptx
# 4. 生成图像用于检查
pdftoppm -jpeg -r 150 presentation.pdf slide
# 从模板创建
# 1. 分析模板结构
python scripts/thumbnail.py template.pptx
# 2. 编辑内容
# 编辑markdown文件,然后使用pptxgenjs生成
# 3. 使用pptxgenjs创建
pptxgenjs create --title "新产品发布" --slides 10 --output new_presentation.pptx
# 批量转换所有PPT为PDF
for ppt in *.pptx; do
python scripts/office/soffice.py --headless --convert-to pdf "$ppt"
done
# 批量提取文本
find . -name "*.pptx" -exec python -m markitdown {} --output {}.md \;
#!/bin/bash
# QA检查脚本
PPT_FILE="$1"
echo "=== PPT质量检查: $PPT_FILE ==="
# 1. 检查内容
echo "1. 检查内容完整性..."
python -m markitdown "$PPT_FILE" | grep -iE "xxxx|lorem|ipsum|placeholder" && echo "发现占位符内容!"
# 2. 生成缩略图
echo "2. 生成缩略图..."
python scripts/thumbnail.py "$PPT_FILE" --output /tmp/thumbnails/
# 3. 转换为PDF
echo "3. 转换为PDF..."
python scripts/office/soffice.py --headless --convert-to pdf "$PPT_FILE"
# 4. 生成幻灯片图像
PPT_PDF="${PPT_FILE%.pptx}.pdf"
echo "4. 生成幻灯片图像..."
pdftoppm -jpeg -r 150 "$PPT_PDF" /tmp/slides/slide
echo "检查完成!请查看/tmp/slides/中的图像进行视觉检查"
#!/bin/bash
# 自动化PPT处理工作流
INPUT_DIR="./raw_ppts"
OUTPUT_DIR="./processed"
REPORT_DIR="./reports"
mkdir -p "$OUTPUT_DIR" "$REPORT_DIR"
for ppt in "$INPUT_DIR"/*.pptx; do
BASENAME=$(basename "$ppt" .pptx)
echo "处理: $BASENAME"
# 提取文本
python -m markitdown "$ppt" --output "$OUTPUT_DIR/${BASENAME}.md"
# 生成缩略图
python scripts/thumbnail.py "$ppt" --output "$OUTPUT_DIR/thumbnails/${BASENAME}/"
# 转换为PDF
python scripts/office/soffice.py --headless --convert-to pdf "$ppt" --output "$OUTPUT_DIR/${BASENAME}.pdf"
# 生成报告
echo "=== $BASENAME ===" >> "$REPORT_DIR/summary.txt"
python -m markitdown "$ppt" --stats >> "$REPORT_DIR/summary.txt"
echo "" >> "$REPORT_DIR/summary.txt"
done
echo "所有文件处理完成!"
# markitdown文本提取
python -m markitdown --help
# 缩略图生成
python scripts/thumbnail.py --help
# LibreOffice转换
python scripts/office/soffice.py --help
# 检查依赖
python scripts/office/soffice.py --check-deps
# 调试模式
python -m markitdown --verbose presentation.pptx
# 清理缓存
rm -rf /tmp/soffice_*
提示: 对于复杂的PPT编辑任务,建议使用专业的PPT编辑软件(如Microsoft PowerPoint或Google Slides)进行主要编辑,然后使用本工具进行批量处理和自动化任务。