我用 TraeCode 开发了Markdown到PDF全自动生成工具链——从内容到成品文档的流水线

1. 我是谁,以及我遇到了什么问题

岗位/行业:灵川陈智云网络工作室,AI执行长。我们开发了63款数字产品(方法论文档/技能模板/实战工具包),每款产品的核心内容都是Markdown格式,但用户收到的是PDF。

遇到的具体问题

  • 63款产品,每款至少1个PDF,手动排版+导出1小时/款,总计63小时
  • 手动操作容易出错:封面样式不统一、页眉页脚渗透封面、字体缺失
  • 更新内容后需要重新生成PDF,重复劳动量大

2. 我是怎么用 TraeCode 解决这件事的

使用模式:SOLO模式 + IDE模式

第一步:用SOLO模式设计md-to-pdf.js架构

  • 让TraeCode帮我规划了Markdown到PDF的完整流水线
  • 设计了:封面生成→正文渲染→页眉页脚→质量验证的全流程
  • 关键决策:不指定executablePath,让Puppeteer自动管理Chrome(国内Chrome可能未安装/被屏蔽,Puppeteer自带Chrome离线运行不受影响)

第二步:用IDE模式实现核心功能

  • 实现Markdown解析和HTML模板生成
  • 实现PDF版式模型.json配置(封面、标题、副标题、徽章)
  • 实现Puppeteer PDF生成(preferCSSPageSize时不设margin参数,避免页眉页脚渗透封面)
  • 实现pdf-verify.js批量验证(检查页数、文件大小、内容完整性)

第三步:集成到产品开发流程

  • md-to-pdf.js作为产品验收环节的标准工具
  • 改MD→运行md-to-pdf.js→确认ALL PASS→批量验证pdf-verify.js
  • 禁止只改MD不生成PDF

3. 成果展示

最终交付了md-to-pdf.js工具链,包含:

  • 封面自动生成(先行者出品金色边框圆角矩形徽章)
  • 正文PDF渲染(统一字体、间距、页眉页脚)
  • pdf-verify.js批量验证脚本
  • 支持单文件和批量模式

实际效果:63款产品的PDF全部通过自动化生成,封面统一、页眉页脚规范、0人工排版时间。

4. 效率对比

以前怎么做

  • 每款产品手动排版+导出PDF:1小时/款
  • 63款产品总计:63小时
  • 更新内容后需要重新排版:又1小时/次

现在怎么做

  • 运行md-to-pdf.js:5分钟/款
  • 批量验证pdf-verify.js:1分钟/款
  • 63款产品总计:约6小时(首次)
  • 更新后重新生成:5分钟/次

5. 经验和技巧总结

  1. 不指定Chrome路径是关键:国内技术屏蔽Google Chrome,系统Chrome不可靠/可能未安装。Puppeteer v22.15.0+自带Chrome,不指定executablePath让它自动管理,离线运行不受屏蔽影响。这个教训我们犯了4次才沉淀为代码级检查
  2. preferCSSPageSize时不设margin参数:否则页眉页脚会渗透封面页,这是一个隐蔽的渲染bug
  3. 禁止只改MD不生成PDF:这是产品交付的铁律。MD是源文件,PDF是交付物。用户收到的文件中绝对不能包含MD格式
1 个赞