SuperAPI AI 工具集

markdown-to-pdf

办公与效率

查看项目

更新于 10-16 02:39

技能介绍

用途:在命令行把 Markdown 文件渲染为 PDF,复现 VS Code 扩展 yzane「Markdown-PDF」(v2.1.0)的完整流程:markdown-it(相同选项与插件)→ 扩展自带 CSS 的 HTML → 通过 puppeteer-core 调用本机 Google Chrome 打印。适合需要与该扩展完全一致排版、又想在 CLI 批量转换的场景;相比 pandoc(LaTeX 风格)或 md-to-pdf(不同解析器与内置 CSS)更接近扩展样式。

主要能力:附带插件支持任务列表与标题锚点,highlight.js 代码高亮,tomorrow.css 主题;渲染 Mermaid 代码块为 SVG(失败时保留源码而不中断文档);以 file:// 加载页面,使相对 Markdown 引用的图片/图表可嵌入。页面为 A4 纵向,边距上 1.5cm、下左右 1cm,打印背景;页眉左侧为文档标题(源文件名去扩展名)、右侧为 ISO 日期,页脚居中显示页码/总页数,均为 9px。

使用方式:首次运行会自动安装依赖到该技能的 node_modules。要求 Node.js 与 Google Chrome(或 Chromium/Edge),Chrome 自动检测,macOS 默认路径 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome,驱动的是已存在的浏览器,不会额外下载。示例: node scripts/md2pdf.mjs path/to/RELEASES.md node scripts/md2pdf.mjs "path/to/data room" node scripts/md2pdf.mjs "path/to/data room" --recursive --out ~/Desktop/pdfs 选项:--out <dir> 指定输出目录;--recursive/-r 递归子文件夹;--css <file> 追加样式表(最后加载以覆盖默认,可重复);--chrome <path> 指定浏览器;--quiet 仅输出错误。输出文件名为源文件基名加 .pdf,已存在的 PDF 会被覆盖。

适用场景与覆盖:批量转换含表格、流程图或嵌入图表的 Markdown 文档;项目可通过 --css 叠加自己的排版微调,不修改技能本体。

限制:默认不渲染数学公式(KaTeX/LaTeX),如需可加 markdown-it-katex 插件与 KaTeX CSS;远程图片需渲染时有网络访问。不要放在 OneDrive、Dropbox 等云同步目录,node_modules 文件过多会引发同步风暴,建议放在普通 git 仓库中并指向任意位置的 Markdown 文件。