RapiPdf: Generate PDF button on a local json file does nothing
When I click the Generate PDF button:

nothing happens. My issue is not the same as described in https://github.com/mrin9/RapiPdf/issues/5, in that issue the user describes a tab opening for a second and then closing, in my case nothing happens. Also the demo website https://mrin9.github.io/RapiPdf/ works great with the Swagger pet store example link https://mrin9.github.io/RapiPdf/specs/petstore.json.
Here is what I have done so far:
Clone RapiPdf to my home directory:
cd ~
git clone https://github.com/mrin9/RapiPdf.git
Based on the bottom of the readme I’m doing to build steps:
cd ~/RapiPdf
yarn install
yarn build
yarn serve
In the root directory of RapiPdf there is already a file named index.html, so I made a file index2.html:
cd ~/RapiPdf
touch index2.html
Then I copy/pasted in this text from the RapiPdf website:
<!doctype html>
<html>
<head>
<script src="https://unpkg.com/rapipdf/dist/rapipdf-min.js"></script>
</head>
<body>
<rapi-pdf
style = "width:700px; height:40px; font-size:18px;"
spec-url = "https://mrin9.github.io/RapiPdf/examples/specs/petstore.json"
button-bg = "#b44646"
> </rapi-pdf>
</body>
</html>
Then I copied a file named MyApi.json into the ~/RapiPdf directory. This file contains the Swagger 2.0 pet store example so I’m 100% sure it’s valid.
Next I edited the
spec-url = "https://mrin9.github.io/RapiPdf/examples/specs/petstore.json"
line in index2.html to be:
spec-url = "../MyApi.json"
Please note that MyApi.json and index2.html are both located in the ~/RapiPdf/ directory. Next I double-clicked index2.html to open it in Chrome, see the screenshot at the beginning of this post. If I press the Generate PDF button nothing happens. No error message, no pop-up blocker warning, no momentary tab opening and then closing.
I’ve tried it with and without the yarn serve command above running. In the text box I’ve tried:
../MyApi.json
/home/cdahms/RapiPdf/MyApi.json
file://home/cdahms/RapiPdf/MyApi.json
file:///home/cdahms/RapiPdf/MyApi.json
In Chrome I went to:
Chrome -> dot dot dot button -> Settings -> Privacy and security -> Pop-ups and redirects
and added file:///home/cdahms/RapiPdf/index2.html
I also tried opening index2.html in FireFox, same result.
Suggestions ??
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 15 (3 by maintainers)
I can see there are about 12 errors in the screenshot, but not sure what are they. However I think its because we are trying to load a local file instead of loading from a http server. (There are some know issues when we try to load the spec file from a local system instead of an http server)
can you try to expose the folder
~/tempthat you created through a web-server For a quick test I normally use http-serverin the command line, from the
~/tempfolder run the below commandand navigate to
localhost:8080in your browserlet me know if it worked
yes they both have. However there is a bug though, the JSON cannot contain
$refsin itRapiPDF:
generatePdf(spec)https://mrin9.github.io/RapiPdf/api.html#methods RapiDoc :loadSpechttps://mrin9.github.io/RapiDoc/api.html#methodsfew things I would like to set right
You dont need to do
git cloneor any of thebuildsteps. Thats for those who would like to modify the functionality of RapiPDF. You are just using itSo, I would say try the following, create a new folder and place two files in it
index.html
To test and debug if things are working , open
index.htmlin your browser. You should also open browser console (Dev Tools) in your browser. When your clickGenerate PDFit will try to loadMyApi.jsonand will be shown in the Network section in browser console, if not then there is some issue with the file pathLet me know if that works