PDFToolKit 正在发送奇怪的数据
PDFToolKit is sending weird data
我已经为 node.js 安装了 PDFKit。当我调用我的方法来下载 PDF 文件时,我在浏览器上得到了这种字符:
xœU»nÜ0ìùüËûâ’Œ+8Ò¹.H‘œOn|Eà¿ï!ï> AÔ’”†ÃåÌŠ#áºa4Χð+ðÕ؇ýe£ªMfç)av
这是我的代码:
var doc = new PDFDocument({ layout: 'landscape' });
doc.pipe(res);
doc.moveDown(1);
doc.text(reportName, { align: "center" });
doc.text(bNames.join(','), { align: "center" });
doc.text(dateFrom + " - " + dateTo, { align: "center" });
doc.moveDown(2);
const table0 = {
headers: allNames,
rows: allData
};
doc.table(table0, {
prepareHeader: () => doc.font('Helvetica-Bold').fontSize(10),
prepareRow: (row, i) => doc.font('Helvetica').fontSize(10)
});
doc.end();
还有什么我必须告诉 PDFKit 才能正常工作吗?
编辑 1:
我在后端 运行 将此代码发送到我的前端,以便我可以在那里下载它
如果您希望 PDF 直接响应浏览器,您需要添加 header 以便它理解二进制数据。
在管道响应之前设置它。
res.setHeader('Content-type', 'application/pdf')
我已经为 node.js 安装了 PDFKit。当我调用我的方法来下载 PDF 文件时,我在浏览器上得到了这种字符:
xœU»nÜ0ìùüËûâ’Œ+8Ò¹.H‘œOn|Eà¿ï!ï> AÔ’”†ÃåÌŠ#áºa4Χð+ðÕ؇ýe£ªMfç)av
这是我的代码:
var doc = new PDFDocument({ layout: 'landscape' });
doc.pipe(res);
doc.moveDown(1);
doc.text(reportName, { align: "center" });
doc.text(bNames.join(','), { align: "center" });
doc.text(dateFrom + " - " + dateTo, { align: "center" });
doc.moveDown(2);
const table0 = {
headers: allNames,
rows: allData
};
doc.table(table0, {
prepareHeader: () => doc.font('Helvetica-Bold').fontSize(10),
prepareRow: (row, i) => doc.font('Helvetica').fontSize(10)
});
doc.end();
还有什么我必须告诉 PDFKit 才能正常工作吗?
编辑 1:
我在后端 运行 将此代码发送到我的前端,以便我可以在那里下载它
如果您希望 PDF 直接响应浏览器,您需要添加 header 以便它理解二进制数据。
在管道响应之前设置它。
res.setHeader('Content-type', 'application/pdf')