我正在我的节点后端生成一个 pdf,如下所示:
router.post('/api/submissions/generatecontract', auth, function (req, res, next) {
if (!req.body.stallholderId || !req.body.edition) {
return res.json({status: 400, message: 'Please enter all fields.' });
}
var doc = new PDFDocument();
doc.fontSize(25).text('Here is some text', 100, 80);
doc.end();
return doc.pipe(res);
});
现在,当我调用后端并 console.log 响应时,我得到以下输出:
_body:“%PDF-1.3↵%����↵5 0 obj↵<<↵/Type /Page↵/Parent 1 0 R↵/MediaBox [0 0 612 792]↵/Contents 3 0 R↵/Resources 4 0 R↵>>↵endobj↵4 0 obj↵<<↵/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]↵/Font <<↵/F1 6 0 R↵>>↵>>↵endobj ↵7 0 obj↵<<↵/Producer (PDFKit)↵/Creator (PDFKit)↵/CreationDate (D:20160903110846Z)↵>>↵endobj↵6 0 obj↵<<↵/Type /Font↵/BaseFont / Helvetica↵/Subtype /Type1↵/Encoding /WinAnsiEncoding↵>>↵endobj↵2 0 obj↵<<↵/Type /Catalog↵/Pages 1 0 R↵>>↵endobj↵1 0 obj↵<<↵/类型 /Pages↵/Count 1↵/Kids [5 0 R]↵>>↵endobj↵3 0 obj↵<<↵/Length 106↵/Filter /FlateDecode↵>>↵stream↵x�e�1↵� @�yE�sfvw�1��L�L.:13���+�IAS]�4Rdz��I�jcy�@�a9~8��~Zm����%WKʖ=({��� ��{�4 0z�<��LS��.j。↵Dstream↵Dobj↵08。000000000000000000000000000000000000000000000446 00000n↵000000039700000N↵0000000300000300000N↵0000000000119 00000119 00000 N队↵/大小 8↵/根 2 0 R↵/信息 7 0 R↵>>↵startxref↵681↵%%EOF↵"
headers: Headers _headersMap:Map size: (...) proto : Map [1] 0: {"content-type" => Array[1]} key: "content-type" value: Array[1] 0: "应用程序/pdf“长度:1 原型:数组 [0] 原型:对象 ok:true 状态:200 statusText:“OK”类型:2 url:“ http://localhost:3000/api/submissions/generatecontract ”
我看到我的 PDF 在响应的正文中。但是我现在如何在浏览器中查看或下载它呢?如果这很重要,我会在前端使用 Angular2。
我发现的信息是针对以前的 angular 2 版本的。