接口文档导出PDF的实用方法分享

做开发或者写接口文档时,总免不了要把内容整理成 PDF 给同事或客户看。尤其是前后端对接、第三方接入这些场景,光发个 Markdown 或网页链接显得不够正式,导出一份清晰的 PDF 更方便传阅和归档。

用 Swagger + Docgen 自动生成 PDF

如果你的项目用的是 Swagger(OpenAPI)来管理接口文档,可以搭配 swagger-docgen 这类工具直接生成 PDF。安装完 Node.js 环境后,执行命令:

npm install -g swagger-docgen
docgen generate -f pdf -o api.pdf -s swagger.json

这样就把 swagger.json 里的接口定义转成了 api.pdf,格式规整,支持中文也没问题。

Postman 文档导出再转 PDF

很多人习惯用 Postman 写接口示例。其实它自带“Document”功能,把集合发布成网页文档后,可以用浏览器打印功能另存为 PDF。打开文档页面,按 Ctrl+P(Mac 是 Cmd+P),选择“保存为 PDF”,勾上页眉页脚和背景图形,出来的效果很接近官网文档。

如果接口多,建议先在 Postman 里分好文件夹,比如“用户模块”“订单接口”,导出后的 PDF 结构也会更清晰。

用 Typora 写文档,一键转 PDF

有些团队喜欢用 Markdown 写接口说明,这时候 Typora 就特别顺手。把请求地址、参数表格、返回示例都写好,预览效果满意后,直接点“文件 → 导出 → PDF”。表格对齐、代码块高亮都能保留,连目录都能自动生成。

比如你写了个参数表:

| 参数名 | 类型   | 必填 | 说明     |
|--------|--------|------|----------|
| uid    | int    | 是   | 用户 ID  |
| token  | string | 是   | 验证令牌 |

导出后在 PDF 里照样整齐排列,打印出来也不糊。

在线工具快速转换

临时要交一份文档,又不想装软件?可以直接用在线转换工具。把 Markdown 或 HTML 格式的接口文档复制到 markdowntopdf.com 这类网站,粘贴内容,点几下鼠标就能下载 PDF。虽然不能处理太复杂的样式,但应付日常沟通完全够用。

Python 脚本批量处理

要是经常更新接口文档,还可以写个 Python 脚本自动导出。用 markdown2 把 md 转成 HTML,再通过 weasyprint 渲染成 PDF:

pip install markdown2 weasyprint

脚本示例:

import markdown2
from weasyprint import HTML

# 读取 Markdown 文件
with open('api.md', 'r', encoding='utf-8') as f:
    md_content = f.read()

# 转成 HTML
html_content = markdown2.markdown(md_content)

# 生成 PDF
HTML(string=html_content).write_pdf('api_document.pdf')

每次更新完文档,运行一下脚本,新的 PDF 就出来了,适合集成到 CI/CD 流程里。

小技巧:加水印和版本号

给团队内部用的 PDF 可以加个“内部资料”水印,避免外泄。用 weasyprint 或者 pdfkit 都能通过 CSS 实现:

@page {
    @bottom-center {
        content: "接口文档 v1.2 - 内部使用";
        font-size: 10px;
        color: #888;
    }
}

.watermark {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.1;
    font-size: 80px;
    font-weight: bold;
    color: #000;
    pointer-events: none;
    z-index: -1;
}

在 HTML 模板里套一层 <div class="watermark">内部资料</div>,导出的每一页都会有浅浅的标记。