我正在使用webshot npm模块来创建我的页面的pdf文件
这是我的页面

和
我把这个作为pdf格式的输出

我的设置是
var options = {
renderDelay:10000,
"paperSize": {
"format": "Letter",
"orientation": "portrait",
"border": "1cm"
},
shotSize: {
width: 'all',
height: 'all'
},
shotOffset: {
left: 0
, right: 0
, top: 0
, bottom: 0
}
};
webshot(url, fileName, options, function(err) {
fs.readFile(fileName, function (err,data) {
if (err) {
return console.log(err);
}
fs.unlinkSync(fileName);
fut.return(data);
});
});
this.response.writeHead(200, {'Content-Type': 'application/pdf',"Content-Disposition": "attachment; filename=generated.pdf"});
this.response.end(fut.wait());对于流星专家来说,这是我的服务器端根目录
this.route('generatePDF', {
path: '/api/generatePDF',
where: 'server',
action: function() {
var webshot = Meteor.npmRequire('webshot');
var fs = Npm.require('fs');
Future = Npm.require('fibers/future');
var fut = new Future();
var fileName = "generated_"+Random.id()+".pdf";
var userid = (Meteor.isClient) ? Meteor.userId() : this.userId;
console.log(userid);
// var username = Meteor.users.findOne({_id: userid}).username;
var url = "url";
var options = {
renderDelay:10000,
"paperSize": {
"format": "Letter",
"orientation": "portrait",
"border": "1cm"
},
shotSize: {
width: 'all',
height: 'all'
},
shotOffset: {
left: 0
, right: 0
, top: 0
, bottom: 0
}
};
webshot(url, fileName, options, function(err) {
fs.readFile(fileName, function (err,data) {
if (err) {
return console.log(err);
}
fs.unlinkSync(fileName);
fut.return(data);
});
});
this.response.writeHead(200, {'Content-Type': 'application/pdf',"Content-Disposition": "attachment; filename=generated.pdf"});
this.response.end(fut.wait());
}
});我是不是漏掉了什么?感谢您的任何帮助
发布于 2015-12-09 16:16:44
您可以尝试将paperSize更改为:
"paperSize": {
width: '612px',
height: '792px',
margin: 'XXpx'
},发布于 2016-12-03 21:41:56
如果其他人在这方面有问题-我也有同样的问题。我不能告诉你确切的原因,但问题是我使用的是bootstrap,而我页面的包装器有"container“类。在移除这个类之后,整个页面都被呈现了--没有移除它,它只是呈现在页面的一半周围。
https://stackoverflow.com/questions/30658601
复制相似问题