pptx
npx skills add https://github.com/lingxling/awesome-skills-cn --skill pptx
Agent 安装分布
Skill 文档
PPTX æè½
å¿«éåè
| ä»»å¡ | æå |
|---|---|
| 读å/åæå 容 | python -m markitdown presentation.pptx |
| 仿¨¡æ¿ç¼è¾æå建 | é 读editing.md |
| ä»å¤´å建 | é 读pptxgenjs.md |
读åå 容
# ææ¬æå
python -m markitdown presentation.pptx
# è§è§æ¦è§
python scripts/thumbnail.py presentation.pptx
# åå§XML
python scripts/office/unpack.py presentation.pptx unpacked/
ç¼è¾å·¥ä½æµç¨
é 读editing.md以è·å宿´è¯¦ç»ä¿¡æ¯ã
- 使ç¨
thumbnail.pyåææ¨¡æ¿ - è§£å â æä½å¹»ç¯ç â ç¼è¾å 容 â æ¸ ç â æå
ä»å¤´å建
é 读pptxgenjs.md以è·å宿´è¯¦ç»ä¿¡æ¯ã
彿²¡ææ¨¡æ¿æåèæ¼ç¤ºæç¨¿å¯ç¨æ¶ä½¿ç¨ã
设计ç念
**ä¸è¦å建æ èçå¹»ç¯çã**ç½è²èæ¯ä¸ç纯项ç®ç¬¦å·ä¸ä¼ç»ä»»ä½äººç䏿·±å»å°è±¡ã为æ¯å¼ å¹»ç¯çèèæ¤å表ä¸çæ³æ³ã
å¼å§ä¹å
- 鿩大èãå 容丰å¯çè°è²æ¿ï¼è°è²æ¿åºè¯¥æè§æ¯ä¸ºè¿ä¸ªä¸»é¢è®¾è®¡çãå¦æä½ æä½ çé¢è²äº¤æ¢å°ä¸ä¸ªå®å ¨ä¸åçæ¼ç¤ºæç¨¿ä¸ä»ç¶”å¯è¡”ï¼ä½ 就没æååºè¶³å¤å ·ä½çéæ©ã
- 主导ä¼äºå¹³çï¼ä¸ç§é¢è²åºè¯¥å 主导å°ä½ï¼60-70%çè§è§æéï¼ï¼æ1-2ç§æ¯æè²è°åä¸ç§é²æç强è°è²ãæ°¸è¿ä¸è¦ç»ææé¢è²åççæéã
- æ·±/æµ å¯¹æ¯ï¼æ é¢+ç»è®ºå¹»ç¯çä½¿ç¨æ·±è²èæ¯ï¼å å®¹ä½¿ç¨æµ è²ï¼”ä¸ææ²»”ç»æï¼ãæè å ¨ç¨ä½¿ç¨æ·±è²ä»¥è·å¾é«çº§æã
- è´åäºè§è§ä¸»é¢ï¼éæ©ä¸ä¸ªç¬ç¹çå ç´ å¹¶éå¤å®ââåå½¢å¾åæ¡æ¶ã彩è²ååä¸ç徿 ãç²åè¾¹æ¡ã卿¯å¼ å¹»ç¯çä¸å»¶ç»å®ã
è°è²æ¿
éæ©ä¸ä½ ç主é¢å¹é çé¢è²ââä¸è¦é»è®¤ä¸ºéç¨èè²ã使ç¨è¿äºè°è²æ¿ä½ä¸ºçµæï¼
| ä¸»é¢ | ä¸»è² | è¾ è² | 强è°è² |
|---|---|---|---|
| åå¤é«ç®¡ | 1E2761ï¼æµ·åèï¼ |
CADCFCï¼å°èï¼ |
FFFFFFï¼ç½è²ï¼ |
| 森æä¸èè | 2C5F2Dï¼æ£®æç»¿ï¼ |
97BC62ï¼èèç»¿ï¼ |
F5F5F5ï¼å¥¶æ²¹è²ï¼ |
| ççè½é | F96167ï¼ççè²ï¼ |
F9E795ï¼éè²ï¼ |
2F3C7Eï¼æµ·åèï¼ |
| æèµ¤é¶ | B85042ï¼èµ¤é¶è²ï¼ |
E7E8D1ï¼æ²è²ï¼ |
A7BEAEï¼é¼ å°¾èç»¿ï¼ |
| æµ·æ´æ¸å | 065A82ï¼æ·±èï¼ |
1C7293ï¼éè²ï¼ |
21295Cï¼åå¤èï¼ |
| çç°æç® | 36454Fï¼çç°è²ï¼ |
F2F2F2ï¼ç±³ç½è²ï¼ |
212121ï¼é»è²ï¼ |
| éè²ä¿¡ä»» | 028090ï¼éè²ï¼ |
00A896ï¼æµ·æ³¡è²ï¼ |
02C39Aï¼èè·è²ï¼ |
| æµæä¸å¥¶æ²¹ | 6D2E46ï¼æµæè²ï¼ |
A26769ï¼ç°ç«ç°ï¼ |
ECE2D0ï¼å¥¶æ²¹è²ï¼ |
| é¼ å°¾èå¹³é | 84B59Fï¼é¼ å°¾èç»¿ï¼ |
69A297ï¼æ¡æ ç»¿ï¼ |
50808Eï¼æ¿å²©è²ï¼ |
| 樱æ¡å¤§è | 990011ï¼æ¨±æ¡çº¢ï¼ |
FCF6F5ï¼ç±³ç½è²ï¼ |
2F3C7Eï¼æµ·åèï¼ |
æ¯å¼ å¹»ç¯ç
æ¯å¼ å¹»ç¯çé½éè¦ä¸ä¸ªè§è§å ç´ ââå¾åãå¾è¡¨ã徿 æå½¢ç¶ãçº¯ææ¬å¹»ç¯ç容æè¢«éå¿ã
å¸å±é项ï¼
- 两åï¼å·¦ä¾§ææ¬ï¼å³ä¾§æå¾ï¼
- 徿 +ææ¬è¡ï¼å½©è²ååä¸ç徿 ï¼ç²ä½æ é¢ï¼ä¸æ¹æè¿°ï¼
- 2×2æ2×3ç½æ ¼ï¼ä¸ä¾§å¾åï¼å¦ä¸ä¾§å 容åç½æ ¼ï¼
- ååºè¡å¾åï¼å·¦ä¾§æå³ä¾§å ¨ä¾§ï¼å¸¦æå 容å å
æ°æ®æ¾ç¤ºï¼
- 大åç»è®¡æ 注ï¼å¤§æ°å60-72ptï¼ä¸æ¹å°æ ç¾ï¼
- æ¯è¾åï¼ä¹å/ä¹åãä¼ç¼ºç¹ãå¹¶æé项ï¼
- æ¶é´çº¿ææµç¨ï¼ç¼å·æ¥éª¤ãç®å¤´ï¼
è§è§æ¶¦è²ï¼
- ç« èæ é¢æè¾¹å½©è²å°ååä¸ç徿
- å ³é®ç»è®¡ææ è¯ä½¿ç¨æä½å¼ºè°ææ¬
æç
éæ©æè¶£çåä½é 对ââä¸è¦é»è®¤ä¸ºArialãéæ©æä¸ªæ§çæ é¢åä½ï¼å¹¶å°å ¶ä¸å¹²åçæ£æåä½é 对ã
| æ é¢åä½ | æ£æåä½ |
|---|---|
| Georgia | Calibri |
| Arial Black | Arial |
| Calibri | Calibri Light |
| Cambria | Calibri |
| Trebuchet MS | Calibri |
| Impact | Arial |
| Palatino | Garamond |
| Consolas | Calibri |
| å ç´ | å¤§å° |
|---|---|
| å¹»ç¯çæ é¢ | 36-44ptç²ä½ |
| ç« èæ é¢ | 20-24ptç²ä½ |
| æ£æ | 14-16pt |
| 说ææå | 10-12ptæå |
é´è·
- æå°0.5è±å¯¸è¾¹è·
- å 容åä¹é´0.3-0.5è±å¯¸
- çåºå¼å¸ç©ºé´ââä¸è¦å¡«æ»¡æ¯ä¸è±å¯¸
é¿å ï¼å¸¸è§é误ï¼
- ä¸è¦éå¤ç¸åçå¸å±ââå¨å¹»ç¯çä¹é´åååãå¡çåæ æ³¨
- ä¸è¦å± 䏿£æââ左坹齿®µè½åå表ï¼ä» å± ä¸æ é¢
- ä¸è¦åå¬å¤§å°å¯¹æ¯ââæ é¢éè¦36pt+æè½ä»14-16ptæ£æä¸è±é¢èåº
- ä¸è¦é»è®¤ä¸ºèè²ââéæ©åæ ç¹å®ä¸»é¢çé¢è²
- ä¸è¦éæºæ··åé´è·ââéæ©0.3″æ0.5″é´éå¹¶ä¸è´ä½¿ç¨
- ä¸è¦è®¾è®¡ä¸å¼ å¹»ç¯çèè®©å ¶ä½ä¿æç®åââå®å ¨æå ¥æå ¨ç¨ä¿æç®å
- ä¸è¦åå»ºçº¯ææ¬å¹»ç¯çââæ·»å å¾åã徿 ãå¾è¡¨æè§è§å ç´ ï¼é¿å 纯æ é¢+项ç®ç¬¦å·
- ä¸è¦å¿è®°ææ¬æ¡å
è¾¹è·ââå½å°çº¿æ¡æå½¢ç¶ä¸ææ¬è¾¹ç¼å¯¹é½æ¶ï¼å¨ææ¬æ¡ä¸è®¾ç½®
margin: 0æå移形ç¶ä»¥èèå è¾¹è· - ä¸è¦ä½¿ç¨ä½å¯¹æ¯åº¦å ç´ ââ徿 åææ¬é½éè¦ä¸èæ¯å½¢æå¼ºç对æ¯ï¼é¿å æµ è²èæ¯ä¸çæµ è²ææ¬ææ·±è²èæ¯ä¸çæ·±è²ææ¬
- ç»ä¸ä½¿ç¨æ é¢ä¸ç强è°çº¿ââè¿äºæ¯AIçæå¹»ç¯ççæ å¿ï¼æ¹ç¨ç©ºç½æèæ¯é¢è²
QAï¼å¿ éï¼
å设æé®é¢ãä½ ç工使¯æ¾å°å®ä»¬ã
ä½ çç¬¬ä¸æ¬¡æ¸²æå ä¹ä»ä¸æ£ç¡®ãå°QAè§ä¸ºbugæå¯»ï¼è䏿¯ç¡®è®¤æ¥éª¤ãå¦æä½ å¨ç¬¬ä¸æ¬¡æ£æ¥ä¸åç°é¶é®é¢ï¼é£ä½ çå¾ä¸å¤ä»ç»ã
å 容QA
python -m markitdown output.pptx
æ£æ¥ç¼ºå¤±å å®¹ãæ¼åé误ãé误顺åºã
ä½¿ç¨æ¨¡æ¿æ¶ï¼æ£æ¥å©ä½çå ä½ç¬¦ææ¬ï¼
python -m markitdown output.pptx | grep -iE "xxxx|lorem|ipsum|this.*(page|slide).*layout"
妿grepè¿åç»æï¼å¨å£°ææåä¹åä¿®å¤å®ä»¬ã
è§è§QA
â ï¸ ä½¿ç¨å代çââå³ä½¿å¯¹äº2-3å¼ å¹»ç¯çãä½ ä¸ç´ç¯ç代ç ï¼ä¼çå°ä½ ææçï¼è䏿¯å®é åå¨çãåä»£çææ°é²çç¼å ã
å°å¹»ç¯ç转æ¢ä¸ºå¾åï¼è§è½¬æ¢ä¸ºå¾åï¼ï¼ç¶åä½¿ç¨æ¤æç¤ºï¼
è§è§æ£æ¥è¿äºå¹»ç¯çãå设æé®é¢ââæ¾å°å®ä»¬ã
æ¥æ¾ï¼
- éå å
ç´ ï¼ææ¬ç©¿è¿å½¢ç¶ã线æ¡ç©¿è¿åè¯ãå å å
ç´ ï¼
- ææ¬æº¢åºæå¨è¾¹ç¼/æ¡è¾¹çå¤è¢«åæ
- 为åè¡ææ¬å®ä½çè£
饰线æ¡ï¼ä½æ 颿¢è¡ä¸ºä¸¤è¡
- ä¸ä¸æ¹å
容å²çªçæºå¼ç¨æé¡µè
- å
ç´ å¤ªè¿ï¼< 0.3"é´éï¼æå¡ç/ç« èå 乿¥è§¦
- ä¸ååçé´éï¼ä¸ä¸ªå°æ¹æå¤§ç©ºç½åºåï¼å¦ä¸ä¸ªå°æ¹æ¥æ¤ï¼
- 离幻ç¯çè¾¹ç¼çè¾¹è·ä¸è¶³ï¼< 0.5"ï¼
- åæç±»ä¼¼å
ç´ æªä¸è´å¯¹é½
- ä½å¯¹æ¯åº¦ææ¬ï¼ä¾å¦ï¼å¥¶æ²¹è²èæ¯ä¸çæµ
ç°è²ææ¬ï¼
- ä½å¯¹æ¯åº¦å¾æ ï¼ä¾å¦ï¼æ·±è²èæ¯ä¸çæ·±è²å¾æ 没æå¯¹æ¯ååï¼
- ææ¬æ¡å¤ªçªå¯¼è´è¿åº¦æ¢è¡
- å©ä½çå ä½ç¬¦å
容
å¯¹äºæ¯å¼ å¹»ç¯çï¼ååºé®é¢æå
³æ³¨é¢åï¼å³ä½¿æ¯æ¬¡è¦çã
é
读并åæè¿äºå¾åï¼
1. /path/to/slide-01.jpgï¼é¢æï¼[ç®è¦æè¿°]ï¼
2. /path/to/slide-02.jpgï¼é¢æï¼[ç®è¦æè¿°]ï¼
æ¥ååç°çææé®é¢ï¼å
æ¬æ¬¡è¦é®é¢ã
éªè¯å¾ªç¯
- çæå¹»ç¯ç â 转æ¢ä¸ºå¾å â æ£æ¥
- ååºåç°çé®é¢ï¼å¦ææ²¡æåç°é®é¢ï¼æ´æ¹å¤æ§å°å次æ¥çï¼
- ä¿®å¤é®é¢
- éæ°éªè¯åå½±åçå¹»ç¯çââä¸ä¸ªä¿®å¤é常ä¼äº§çå¦ä¸ä¸ªé®é¢
- éå¤ï¼ç´å°å®æ´éè¿ä¸ååç°æ°é®é¢
å¨å®æè³å°ä¸ä¸ªä¿®å¤åéªè¯å¾ªç¯ä¹åï¼ä¸è¦å£°ææåã
转æ¢ä¸ºå¾å
å°æ¼ç¤ºæç¨¿è½¬æ¢ä¸ºåç¬çå¹»ç¯çå¾å以è¿è¡è§è§æ£æ¥ï¼
python scripts/office/soffice.py --headless --convert-to pdf output.pptx
pdftoppm -jpeg -r 150 output.pdf slide
è¿ä¼å建slide-01.jpgãslide-02.jpgçã
è¦å¨ä¿®å¤åéæ°æ¸²æç¹å®å¹»ç¯çï¼
pdftoppm -jpeg -r 150 -f N -l N output.pdf slide-fixed
ä¾èµé¡¹
pip install "markitdown[pptx]"– ææ¬æåpip install Pillow– 缩ç¥å¾ç½æ ¼npm install -g pptxgenjs– ä»å¤´å建- LibreOfficeï¼
sofficeï¼ – PDF转æ¢ï¼éè¿scripts/office/soffice.py为æ²çç¯å¢èªå¨é ç½®ï¼ - Popplerï¼
pdftoppmï¼ – PDF转å¾å