我正在尝试使用基于 webkit 的 PhantomJS 生成网页的大 png 屏幕截图。我有应用程序生成截图就好了(使用他们的raster.js 示例。)但是,我希望文本更大(而不是 12-16 像素) - 我不关心图像变得颗粒状。我认为我可以简单地缩放/缩放网页,执行以下操作:
document.documentElement.style.webkitTransform = "scale(2.0)";
但这会导致页面内容逃离视口。如果您在 Chrome 中评估该行代码,您可以看到这一点。是否可以在 JavaScript/Phantom.js 中缩放整个网页(复制浏览器的“Ctrl +”功能)?
我当前的 phantom.js 脚本如下所示:
var page = new WebPage(),
address, output, size;
if (phantom.args.length < 2 || phantom.args.length > 3) {
console.log('Usage: rasterize.js URL filename');
phantom.exit();
} else {
address = phantom.args[0];
output = phantom.args[1];
page.viewportSize = { width: 1280, height: 1024 };
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {
page.evaluate(function () {
document.body.style.webkitTransform = "scale(2.0)";
});
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, 200);
}
});
}