我正在使用PDFkit
Meteor
并收到错误
对象没有方法' writeSync'
谁能告诉我哪个包包含这个方法?我错过了什么吗?
我的套餐包括:
meteorhacks:async
meteorhacks:npm
npm-container
cfs:filesystem
cfs:standard-packages
pascoual:pdfkit
该文档包含meteor
添加pascoual:pdfkit
,并建议添加2个纤维方法writeSync
和outputSync
,但找不到它们。
有人可以帮忙吗?
答案 0 :(得分:1)
使用2个替代方案在服务器端使用PDFKit:
Rounting:lib / router.js
Router.route(' / createPDF /:_ ParamId',function(){ var paramId = this.params._ParamId; if(!paramId)return;
var doc = new PDFDocument({
size: 'A4',
margins: {
top: 50,
bottom: 0,
left: 50,
right: 50,
}
});
doc.image(process.env.PWD + '/public/sample1.jpg', 0, 30);
this.response.writeHead(200, {
'Content-type': 'application/pdf',
'Content-Disposition': 'attachment; filename=somename.pdf'
});
this.response.end(doc.outputSync());}, { where: 'server' });
并且,使用以下方式从客户端致电:
Router.go('/createPDF/' + someParamId);
调用Meteor方法
Meteor.call(' createPDF',paramId);
更改PDF构建方法
Meteor.methods({
createPDF: function(paramId) {
if (!paramId) return;
var doc = new PDFDocument({
size: 'A4',
margins: {
top: 50,
bottom: 0,
left: 50,
right: 50,
}
});
doc.image(process.env.PWD + '/public/img/sample1.jpg', 0, 30);
....
doc.writeSync(process.env.PWD + '/public//pdf/' + pdfName + '.pdf');
}
});
我只有一个麻烦,在我的blabla.meteor.com测试应用程序中无法运行,服务器无法使用doc.image找到图像(...)