我有一个OpenAPI 3.0规范,我想用它生成一个PDF,以便它可以提供给最终用户。
目前,swagger-spec-to-pdf或swagger2markup等工具仅支持Swagger 2.0,而不支持OpenAPI 3.0。是否可以从OpenAPI 3.0规范生成PDF而不将其转换为Swagger 2.0?
我有一个OpenAPI 3.0规范,我想用它生成一个PDF,以便它可以提供给最终用户。
目前,swagger-spec-to-pdf或swagger2markup等工具仅支持Swagger 2.0,而不支持OpenAPI 3.0。是否可以从OpenAPI 3.0规范生成PDF而不将其转换为Swagger 2.0?
6条答案
按热度按时间slsn1g291#
一个可能的解决方案是将OpenAPI 3.0定义转换为HTML文档,然后使用浏览器的“保存为PDF”功能将HTML转换为PDF。
请按照以下步骤操作:
1.转到https://editor.swagger.io。
1.粘贴OpenAPI 3.0 YAML/JSON定义。
1.选择生成客户端> html。
1.下载并解压缩文件。
1.在浏览器中打开
index.html
页面,例如Chrome。1.选择文件>打印,将目标更改为保存为PDF,然后保存页面。
hzbexzde2#
我刚刚找到了RapiPDF,它能够从OpenAPI 3.0定义生成PDF。
但它仍然不是我正在寻找的理想工具。到目前为止,我发现了这些限制:
pgccezyw3#
您可以使用this site并直接将OpenAPI 3.0规范(在json中)发布到其中。这是最简单的方法,我认为生成的PDF看起来很漂亮。
jtoj6r0c4#
ApiBake -将OpenAPI转换为PDF:https://www.npmjs.com/package/apibake我是该工具的开发人员。
2023年更新:该工具已从Dart转换为Node.js,添加了yaml支持,修复了一些问题。添加了可定制的配置/样式(现在主要是配色方案配置)。
该项目的重点是生成视觉上简单,但有用的文档,书签和类型的链接,便于导航。也就是说,PDF中的对象定义很容易在TypeScript/JavaScript代码中复制和使用。现在正在处理输出文档的自定义样式。欢迎反馈。
a11xaf1n5#
以下2个包帮助我从OpenAPI json文件生成PDF:
应用相关的 Plugin 类,剩下的就是非常简单的任务配置。这是我的groovy插件,但如果你需要的话,找到相应的gradle DSL扩展应该不难。
如果有关于此代码段的问题(或语法错误),请告诉我。
mgdq6dx16#
我发现最简单和最好的解决方案就是使用通常的https://editor.swagger.io/。一旦你对生成的结果(在右边)感到满意,只需拖动左边的中央光标(覆盖你的源代码),以便只可视化最终文档。然后,如果您使用Chrome(类似于Firefox),只需(屏幕中的右键或菜单)选择“打印”,并为“目的地”选择“保存为PDF”。