我正在使用 PDFKit(无节点)在浏览器中生成 PDF,并通过 src 属性将其显示为 iframe 或嵌入标签。生成的 blob URL 是某种 UUID。所以整个页面看起来像:
<embed src="blob:http://localhost/eeaabb..."/>
PDF 看起来不错,但是当我在 Chrome 中单击下载链接时,默认文件名是 UUID。在 FireFox 中,它只是“document.pdf”。
如果这是服务器生成的 PDF,我将使用 Content-Disposition 和/或操作 URL,因此它的最后一部分是我想要的名称,但这对于客户端生成的对象似乎是不可能的。
我尝试过的事情:
- 通过元数据设置 PDF 标题。这有效但不影响文件名。
- 操作嵌入标签标题属性。好像什么都没做
- 更改页面标题。不影响文件。
- 尝试在数据 url 中附加一些内容。只是阻止显示 PDF。
- 通过 POST 上传 PDF,然后通过我可以控制 URL 的页面下载它。可以工作,但生成客户端 PDF 只需要将其上传到服务器似乎很疯狂。
有什么办法可以解决这个问题,以便我可以控制默认/建议的文件名?