I have an OpenAPI 3.0 spec and I want to generate a PDF out of it so that it can be given to the end users.
Currently, tools like swagger-spec-to-pdf or swagger2markup only support Swagger 2.0 but not OpenAPI 3.0. Is it possible to generate a PDF from an OpenAPI 3.0 spec without converting it to Swagger 2.0?
答案 0 :(得分:1)
可能的解决方案是将您的OpenAPI 3.0定义转换为HTML文档,然后使用浏览器的“保存为PDF”功能将HTML转换为PDF。
请按照以下步骤操作:
index.html
页面,例如Chrome。答案 1 :(得分:1)
我刚刚发现RapiPDF能够从OpenAPI 3.0定义生成PDF。
但是它仍然不是我想要的理想工具。到目前为止,我发现了这些限制:
答案 2 :(得分:0)
答案 3 :(得分:0)
以下2个软件包帮助我从OpenAPI json文件生成PDF:
应用相关的 Plugin 类,其余的都是非常简单的任务配置。这是我的常规插件,但如果需要,找到对应的gradle DSL扩展应该不难。
project.plugins.apply OpenApiGeneratorPlugin
GenerateTask adoc = project.tasks.withType(GenerateTask).iterator().next()
adoc.with {
it.input = swagger.outputDir.path + '/' + swagger.outputFileName + '.json'
it.generatorName.set 'asciidoc'
it.outputDir.set swagger.outputDir.path
// Leaving the below option empty can cause rendering issues
it.configOptions.putAll([
'infoUrl' : 'https://example.com',
'infoEmail': 'inbox@example.com',
])
}
project.plugins.apply AsciidoctorJPdfPlugin
project.tasks.withType(AsciidoctorPdfTask).iterator().next().with {
it.sourceDir = adoc.outputDir
it.outputDir = it.sourceDir
}
请告诉我有关此代码段的问题(或其中的语法错误)。
答案 4 :(得分:0)
您可以使用this site并将您的OpenAPI 3.0规范(在json中)直接发布到其中。我认为这是最简单的方法,生成的PDF看起来很漂亮。