用途:把 PDF 文件的页面转换为 PNG 图片,用于预览、对比或后续图像处理。
主要能力:支持系统工具与 JS 脚本两种后端。系统后端包括 magick(ImageMagick,Linux/MacOS)、mutool(MuPDF,Linux/MacOS)、pdftoppm(Poppler,Linux/MacOS)、sips(仅 MacOS);JS 回退基于 pdfjs,位于 <CURRENT_SKILL_DIR>/scripts/ 目录。所有后端应输出 <pdf-name>page<N>.png 到目标目录。
使用方式:系统后端示例:magick -density 144 paper.pdf -quality 90 paper_page_%d.png;mutool convert -o paper_page_%d.png -O resolution=144 paper.pdf;pdftoppm -png -r 144 paper.pdf paper_page;sips -s format png paper.pdf --out paper_page_1.png。JS 脚本首次使用需安装依赖:cd skills/convert-pdf-to-png/scripts && bun install(或 npm install)。运行示例:bun $SCRIPT_DIR/convert-pdf-to-png.mjs paper.pdf;可加 --output-dir ./output、--pages 1,3,5、--scale 3、--password "secret"。CLI 选项:--output-dir 默认与 PDF 同目录;--scale 默认 2.0;--pages 默认全部,逗号分隔的 1 起始页码;--password 用于加密 PDF。
限制与注意:不同后端文件名模式略有差异(0 起始与 1 起始、补零、分隔符),若下游要求严格格式需重命名。复杂图形在 pdfjs 下可能渲染为空白,建议改用 magick 或 mutool。文本质量差可提高 --scale/DPI(如 3.0/216)。大 PDF 可能内存不足,可用 --pages 只转指定页。加密 PDF 需提供密码(JS 用 --password,mutool 用 -p,pdftoppm 用 -upw)。