You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Mkdocs导出含Mermaid图的合并PDF文件?

解决方案:导出含Mermaid图的合并PDF

针对你用mkdocs-material渲染Mermaid图但PDF导出遇阻的问题,这里有几个可行的方案:

1. 预渲染Mermaid为静态图片 + mkdocs-pdf-export-plugin

因为依赖WeasyPrint的插件无法处理JS渲染的Mermaid,你可以提前把Mermaid图转成静态图片,再用mkdocs-pdf-export-plugin合并:

  • 安装mermaid-cli(通过npm或yarn)
  • 编写脚本遍历所有Markdown文件,将```mermaid代码块替换为对应的图片引用(比如![Mermaid图](path/to/generated.png))
  • 正常运行mkdocs-pdf-export-plugin,此时插件会把图片和内容一起合并成单PDF

2. 自定义浏览器自动化脚本

利用浏览器渲染JS的能力,自己实现页面遍历和PDF合并:

  • 先执行mkdocs build生成静态站点
  • 用Puppeteer(Node.js)或Playwright编写脚本,逐个访问静态站点的所有页面,调用浏览器的打印API生成单页PDF
  • 用PyPDF2或其他PDF工具将所有单页PDF合并为一个文件

3. 使用mkdocs-print-site-plugin

这个插件可以生成一个包含所有站点内容的单页HTML,再通过浏览器打印导出合并PDF:

  • 安装插件后,在mkdocs.yml中添加配置:
    plugins:
      - print-site
    
  • 执行mkdocs build后,访问站点的/print-site.html路径
  • 用浏览器打开该页面,等待Mermaid图渲染完成后,直接打印并保存为PDF(浏览器会自动合并所有内容为单文件)

内容的提问来源于stack exchange,提问作者nguyendhn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 04:10:12