I am generating a PDF in the browser using PDFKit (without node) and displaying it an iframe or an embed tag via the src attribute. The generated blob URL is some kind of UUID. So the overall page looks like:
<embed src="blob:http://localhost/eeaabb..."/>
The PDF appears fine, but when I click the Download link in Chrome, the default file name is the UUID. In FireFox, it is just "document.pdf".
If this were a server-generated PDF I would use Content-Disposition and/or manipulate the URL so the last part of it is the name I want, but that doesn't seem possible with a client-generated object.
Things I have tried:
- Setting the PDF title via the metadata. This works but doesn't affect the filename.
- Manipulating the embed tag title attribute. Doesn't seem to do anything.
- Change the page title. Doesn't affect the file.
- Try to append something to the data url. Just prevents the PDF from displaying.
- Upload the PDF via POST, then download it via a page where I can control the URL. Could work, but seems crazy to generate a client-side PDF only to have to upload it to the server.
Is there any way around this so that I can control the default/suggested file name?