mcpField
F
fetch-slides

fetch-slides

github.com/pamelafox文档处理128119 次安装8 周前更新
代码仓库

关于 fetch-slides

此技能从支持的 URL 获取幻灯片并生成 PDF,支持 PDF、PPTX、OneDrive 分享链接和 RevealJS 演示文稿;RevealJS 还可提取文字与链接。

主要功能

  1. 01获取 PDF 和 PPTX URL
  2. 02处理 OneDrive 分享链接
  3. 03将 RevealJS 演示文稿渲染为 PDF
  4. 04提取 RevealJS 幻灯片文字与链接

适用场景

  1. 01将远程幻灯片转换为 PDF
  2. 02收集 RevealJS 幻灯片文字和链接

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pamelafox/presentation-skills --skill fetch-slides

安装后在 Claude Code 中输入/fetch-slides确认已加载。

附带文件fetch_slides.py

详细介绍

从 URL 获取幻灯片

运行 fetch_slides.py 脚本来下载并转换幻灯片:

uv run .agents/skills/fetch-slides/fetch_slides.py <url> <output_dir>

参数

  • url(必填):幻灯片的 URL。支持的格式:
    • 直接 PDF URL(例如,https://example.com/slides.pdf)
    • PPTX URL(通过 Content-Type 标头自动检测)
    • OneDrive 共享链接(例如,https://onedrive.live.com/:p:/g/personal/... 或 https://1drv.ms/...)
    • RevealJS HTML 演示文稿 URL(例如,https://example.com/slides/)
  • output_dir(必填):用于保存输出文件的目录。如果目录不存在,则会创建。

输出

  • slides.pdf — 始终生成。以 PDF 文件形式保存的演示文稿。
  • slides_content.md — 仅适用于 RevealJS 演示文稿。包含从每张幻灯片中提取的文本内容和链接,并标记了章节标题。

前置条件

  • 转换 PPTX:必须安装 LibreOffice
    • macOS:brew install --cask libreoffice
    • Ubuntu:apt-get install libreoffice
  • 处理 RevealJS 演示文稿:必须安装 Playwright 浏览器
    • uv run playwright install chromium

工作原理

  1. 脚本发送 HTTP HEAD 请求以检测内容类型
  2. 根据内容类型执行相应操作:
    • PDF:直接下载
    • PPTX:下载文件,然后使用 LibreOffice(无头模式)转换为 PDF
    • OneDrive:将共享 URL 转换为直接下载 URL(追加 ?download=1),然后按 PDF 或 PPTX 处理
    • RevealJS HTML:使用 Playwright 打开追加了 ?print-pdf 的演示文稿,并将其渲染为 PDF。此外,还会解析 HTML 以提取幻灯片文本内容和链接。

评论

支持 Markdown