6

如何为使用 pdfKit 创建的 PDF 文件设置文件名,以便通过 HTTP 发送(而不是在本地保存)。以下不设置文件名,decs仅显示如何设置文件名以保存本地。

var doc = new PDFDocument({bufferPages: true});
doc.info.Title = 'Case ' + req.params.id + ' overview';
// Some more content here
doc.pipe(res);

我也尝试过设置标题,但这似乎没有帮助。

res.setHeader('Content-disposition', 'attachment; filename=testFile.pdf');
4

2 回答 2

4

我知道这是一个旧线程,但这个答案可能对我认为的某些人有所帮助。

let doc = new PDFDocument();
doc.info['Title'] = 'Test Document';
于 2018-02-28T03:38:31.867 回答
2

尽管这很旧,但我仍在发表评论,因为我花了一段时间才找到有效的解决方案,这仍然是谷歌的最高回应。

要让 PDF 在浏览器中显示但定义我使用的下载名称:

res.setHeader('Content-disposition', 'inline; filename='+ yourfilename +'.pdf');

希望这对其他人有帮助。

于 2020-05-27T10:42:07.463 回答