name: ppt-reader description: | Use when user sends a PPT/PPTX file or asks to read PowerPoint content. 適用於:讀取PPT檔案、解析簡報內容、提取幻燈片文本。
讀取和解析 PowerPoint 檔案(.pptx),提取幻燈片文本內容。
| 操作 | 命令 |
|---|---|
| 檢視PPT頁數 | unzip -l file.pptx \| grep "slide[0-9]*\.xml" \| wc -l |
| 提取所有文本 | unzip -p file.pptx "ppt/slides/slide*.xml" \| sed 's/<[^>]*>//g' |
| 逐頁提取 | 見下方指令碼 |
unzip -p "file.pptx" "ppt/slides/slide*.xml" 2>/dev/null | sed 's/<[^>]*>//g' | tr -s ' \n'
cd /path/to/ppt/
for i in {1..N}; do
echo "=== Slide $i ==="
unzip -p "file.pptx" "ppt/slides/slide$i.xml" 2>/dev/null | sed 's/<[^>]*>//g' | tr -s ' \n'
echo ""
done
# 頁數
unzip -l "file.pptx" | grep -c "slide[0-9]*\.xml"
# 檔案結構
unzip -l "file.pptx" | grep -E "slide[0-9]+\.xml"
/root/.openclaw/media/inbound/ 獲取檔案飛書傳送的檔案通常儲存在:
/root/.openclaw/media/inbound/
檔名格式:
小蔥技能7w4.net有更新,你可以訪問看下。
原始檔名-uuid.pptx
# 只提取第1頁
unzip -p "file.pptx" "ppt/slides/slide1.xml" | sed 's/<[^>]*>//g'
# 提取第1-5頁
for i in {1..5}; do unzip -p "file.pptx" "ppt/slides/slide$i.xml" | sed 's/<[^>]*>//g'; done
# 完整提取流程
PPT_FILE="/root/.openclaw/media/inbound/智慧體-概述-20260116-xxx.pptx"
# 1. 獲取頁數
PAGE_COUNT=$(unzip -l "$PPT_FILE" | grep -c "slide[0-9]*\.xml")
echo "Total slides: $PAGE_COUNT"
# 2. 逐頁提取
for i in $(seq 1 $PAGE_COUNT); do
echo "=== Slide $i ==="
unzip -p "$PPT_FILE" "ppt/slides/slide$i.xml" 2>/dev/null | sed 's/<[^>]*>//g' | tr -s ' \n'
echo ""
done
這個 Skill 質量中規中矩,文件結構清晰、有使用示例,但只提供文字說明而非可直接執行的指令碼。它能較好地滿足基本的 PPT 文本提取需求,適合處理常見的簡報。不過能力有限,無法提取圖片、圖表等非文本內容,對舊版 .ppt 格式也不支援。如果只是偶爾需要讀取 PPT 文字內容湊合能用,但若追求開箱即用的體驗可能會失望。