核心用法
md-to-pdf 是一个命令行 Markdown 转 PDF 工具,依赖 pandoc 进行格式转换,并通过 wkhtmltopdf 渲染 PDF。用户通过执行封装脚本 md2pdf.sh 完成转换,支持指定输入 Markdown 文件路径与可选的输出 PDF 路径。
显著优点
1. 预设样式丰富:提供 clean(简约商务)、modern(蓝色演示风)、paper(衬线阅读风)三种内置主题,满足多场景需求。
2. 自定义 CSS 支持:允许传入绝对路径的 CSS 文件,实现高度灵活的样式定制。
3. 本地资源安全加载:脚本默认启用 --enable-local-file-access,支持加载本地 CSS 与图片资源。
4. 元数据友好:支持通过 Markdown frontmatter 设置文档标题,避免输出警告。
潜在缺点与局限性
1. 依赖链复杂:需同时安装 pandoc 与 wkhtmltopdf 两个外部工具,环境配置门槛较高。
2. 无图形界面:纯命令行交互,对非技术用户不够友好。
3. wkhtmltopdf 维护状态:wkhtmltopdf 已停止积极维护,可能存在与新系统环境的兼容性问题。
4. 路径限制:自定义 CSS 必须使用绝对路径,相对路径支持未明确说明。
适合人群
- 技术写作者、开发者、文档工程师
- 需要批量生成标准化 PDF 报告的企业团队
- 偏好命令行工作流、熟悉 Markdown 的用户
常规风险
- 本地文件访问风险:
--enable-local-file-access虽便利,但在多用户环境或处理不可信 Markdown 时,可能被利用读取敏感本地文件。 - 命令注入隐患:若输入路径未做严格校验,可能存在 shell 注入风险(需审查脚本实现)。
- 依赖漏洞传递:pandoc 与 wkhtmltopdf 的历史漏洞可能影响输出安全性。