PhantomJs 2.0.0-viewportSize/zoomFactor不适用于PDF
我正在尝试用Phantomjs将html导出为pdf。除了PDF中html对象的大小外,其他一切都正常工作。 当我使用viewportSize或zoomFactor时,根本没有效果PhantomJs 2.0.0-viewportSize/zoomFactor不适用于PDF,phantomjs,pdf-generation,Phantomjs,Pdf Generation,我正在尝试用Phantomjs将html导出为pdf。除了PDF中html对象的大小外,其他一切都正常工作。 当我使用viewportSize或zoomFactor时,根本没有效果 var page = require('webpage').create(); page.viewportSize = { width: 800, height: 600}; page.zoomFactor = 2; page.open("http://www.google.com", function start
var page = require('webpage').create();
page.viewportSize = { width: 800, height: 600};
page.zoomFactor = 2;
page.open("http://www.google.com", function start(status) {
page.render('test.pdf');
phantom.exit();
});
这似乎是2.0.0中的一个已知问题 看
使用PhantomJs 1.9.8版效果很好。有关易于安装的信息,请参见此调整可用于修复此问题: 注释在
光栅化.js中的代码下方
/*if (system.args.length > 4) {
page.zoomFactor = system.args[4];
}
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit(1);
} else {
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, 200);
}
});*/
在同一位置添加下面的code
page.zoomFactor = parseFloat('0.4');
page.open(address, function (status) {
if (status !== 'success') {
phantom.exit(1);
} else {
window.setTimeout(function () {
page.evaluate(function(zoom) {
return document.querySelector('body').style.zoom = zoom;
}, page.zoomFactor);
page.render(output);
phantom.exit();
}, 200);
}
});
尝试github票证: