我无法创建包含内容的pdf。我正在使用html-pdf运行node / express以将一个反应Dom节点转换为字符串,然后通过管道传送回客户端以将Blob保存为pdf。该pdf为空白,但有多个页面,表明内容占用空间。
请求进入:
{"html":"<html><meta charset=\"utf8\"><title>Report</title>
<body><div>Text test</div></body></html>","filename":"report"}
PDF创作:
pdf.create(req.body.html, {
format: 'letter'
, border: { top: '0.6in', right: '0.6in', bottom: '0.6in', left: '0.6in'}
, phantomArgs: ["--ignore-ssl-errors=yes"]
}).toStream(function(err, stream){
if(err){
utils.standardError(res, err)
}
else{
res.setHeader('Last-Modified', utilities.httpDateString(new Date()))
res.setHeader('Content-disposition', 'attachment; filename='+req.body.filename)
res.setHeader('Content-Type', 'application/pdf')
// res.setHeader('Response-type', "arrayBuffer")
// res.setHeader('Content-length', buffer.length)
res.status(200)
// res.send(buffer)
stream.pipe(res)
}
})
然后我就这样保存Blob:
saveAs(
new Blob([response], {type: "application/pdf;charset=utf-8"}),
'report.pdf'
)
当我通过验证器运行保存的pdf时,我会收到与其格式有关的各种错误。我究竟做错了什么?