usage: swagger2pdf [-h] [-v] [-s SRC] [-o OUTPUT]
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show program's version number and exit.
-s SRC, --src SRC Swagger spec JSON file.
-o OUTPUT, --output OUTPUT
Output path of the pdf file.
./bin/swagger2pdf -s ./swagger-spec-sample.json -o ./dump/
&
Wait several seconds
See: ./dump/swagger-spec-sample.pdf
- Read source swagger json spec
- Convert it into yaml format
- Dump yaml into the spec dir of swagger editor
- Use electron to render swagger editor page (nicely formatted api page)
- Dump the page into pdf
Version of swagger editor embedded is: 2.9.9
You can get it from: here
If you want to use some other version:
- clone the repo
- replace the editor in ./swagger-editor
- Add codes below into the bottom of file swagger-editor/index.html
- npm install .
<script type="text/javascript">
$("document").ready(function() {
setTimeout(function() {
var fileMenuTimer = setInterval(function() {
// open file menu
var fileMenu = $("#fileMenu");
if (fileMenu.length) {
clearInterval(fileMenuTimer);
fileMenu.click();
// open example selector
var exampleButton = $("#open-example");
var exampleButtonTimer = setInterval(function() {
if (exampleButton.length) {
clearInterval(exampleButtonTimer);
exampleButton.click();
// click open button
setTimeout(function() {
$(".modal-large .btn-primary").click();
}, 1000);
}
}, 300);
}
}, 300);
}, 1000);
});
</script>
Done, just use it.