1.0.0 • Published 4 months ago
md2pdf-cli v1.0.0
md2pdf-cli
一个简单的命令行工具,用于将Markdown文件批量转换为PDF,并保留图片引用。
特点
- 自动扫描目录及子目录中的所有.md文件
- 保留Markdown中引用的图片,并将其包含在生成的PDF中
- 支持自定义PDF样式
- 将所有生成的PDF文件统一保存到指定目录
- 兼容Windows、macOS和Linux系统
- 提供详细的转换统计信息
- 支持作为命令行工具或Node.js库使用
安装
全局安装(推荐)
npm install -g md2pdf-cli
本地安装
npm install md2pdf-cli
使用方法
命令行使用
安装后,可以直接在任何包含Markdown文件的目录中运行:
md2pdf
程序将自动:
1. 扫描当前目录及子目录中的所有.md文件
2. 创建pdf
文件夹(如果不存在)
3. 将每个Markdown文件转换为PDF并保存到pdf
文件夹中
4. 在控制台显示转换进度和结果
作为Node.js库使用
const { convertMarkdownToPdf } = require('md2pdf-cli');
// 默认选项
convertMarkdownToPdf(process.cwd())
.then(result => {
console.log(`转换完成,成功: ${result.success.length}, 失败: ${result.failed.length}`);
})
.catch(err => {
console.error('转换出错:', err);
});
// 自定义选项
convertMarkdownToPdf('/path/to/markdown/files', {
outputDir: '/path/to/output/directory',
cssPath: '/path/to/custom.css',
globPattern: '**/*.md',
ignore: ['node_modules/**', 'pdf/**', 'ignored/**']
})
.then(result => {
console.log(`转换完成,成功: ${result.success.length}, 失败: ${result.failed.length}`);
})
.catch(err => {
console.error('转换出错:', err);
});
自定义样式
程序会自动创建一个custom.css
文件,您可以编辑此文件来自定义PDF的样式。
API文档
convertMarkdownToPdf(workDir, options)
将指定目录中的所有Markdown文件转换为PDF。
参数:
workDir
(String): 包含Markdown文件的目录路径options
(Object, 可选): 配置选项outputDir
(String): PDF输出目录,默认为${workDir}/pdf
cssPath
(String): CSS样式文件路径,默认为${workDir}/custom.css
globPattern
(String): 用于匹配Markdown文件的glob模式,默认为**/*.md
ignore
(Array): 要忽略的文件或目录,默认为['node_modules/**', 'pdf/**']
返回值:
返回一个Promise,解析为包含以下属性的对象:
total
(Number): 总文件数success
(Array): 成功转换的文件列表failed
(Array): 转换失败的文件列表
注意事项
- 对于Markdown中引用的图片,支持相对路径和绝对路径
- 如果图片路径无效,程序会在控制台输出警告,但会继续处理文件
- 程序会自动忽略
node_modules
目录和pdf
目录中的Markdown文件 - 如果有多个同名的Markdown文件(位于不同目录),转换后的PDF文件会相互覆盖,最后处理的文件将保留
依赖项
许可证
MIT
1.0.0
4 months ago