做开发或者写接口文档时,总免不了要把内容整理成 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>,导出的每一页都会有浅浅的标记。