用途:把代码片段、Markdown、终端输出、Mermaid 图表、SVG 或渲染后的 UI 组件转换为 PNG 图片文件。
主要方法与用法:
- HTML → PNG(最灵活):先按需生成带样式(语法高亮、内边距、字体)的 HTML,再用无头浏览器截图。Playwright 示例:npx playwright screenshot --full-page "file:///path/to/content.html" output.png;也可用 Puppeteer 的 page.screenshot({ path: 'output.png', fullPage: true })。
- 代码 → PNG:使用 silicon,如 silicon --language python --output code.png source.py,或 silicon --from-clipboard --output code.png;也可生成 Carbon URL 后浏览器截图。
- Mermaid → PNG:npx @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.png -b transparent,或用 Docker 命令 docker run --rm -v "$(pwd)":/data minlag/mermaid-cli mmdc -i /data/diagram.mmd -o /data/diagram.png。
- SVG → PNG:可用 sharp(Node.js)、Inkscape(inkscape input.svg --export-type=png --export-filename=output.png)或 ImageMagick(convert input.svg output.png)。
- 终端输出 → PNG:可用 termshot -- ls -la;或手动捕获输出并包进等宽字体 HTML 后截图。
工作流:判断内容类型,检查环境可用工具(如 which silicon、npx --help),选择方法生成 PNG,验证文件存在且非空(file output.png && ls -la output.png),最后报告路径与尺寸。
技巧:代码截图可用深色主题并留 32px 以上内边距;在 Playwright/Puppeteer 中设 deviceScaleFactor: 2 获得高清输出;透明背景用 --background transparent 或 omitBackground: true;若无专用工具,回退到 HTML + 无头浏览器方案。
限制:需要相应工具或浏览器环境;资料未提供具体版本要求、安装步骤与费用信息。