PhantomJS - render()
Render 帮助获取图像缓冲区并按照指定的格式保存。支持的格式包括 PDF、PNG、JPEG、BMP、PPM、GIF(支持取决于所用 QT 的版本)。
质量
它支持 0 到 100 之间的整数。它主要用于 JPEG 和 PNG 格式。对于 JPEG,它以百分比形式使用。级别 0 将生成非常小且质量较低的文件,而级别 100 将生成高质量文件。默认值为75。对于PNG,它设置为压缩级别,0表示文件较小,100表示文件较大。
您可以将clipRect,viewportSize,paperSize与render方法一起使用,以所需的格式渲染图像缓冲区。
语法
其语法如下 −
wpage.render(filename, {format: PDF|PNG|JPEG|BMP|PPM|GIF, quality: '100'});
示例:图像
让我们举一个例子来了解render()方法的使用。
var wpage = require('webpage').create();
wpage.viewportSize = { width: 1920, height: 1080 };
wpage.open("http://www.google.com", function start(status) {
wpage.render('image.jpeg', {format: 'jpeg', quality: '100'});
phantom.exit();
});
上述程序生成以下输出。
示例:PDF
Let us consider another example.
var wpage = require('webpage').create();
var url = "https://jquery.com/download/";
var output = "display.pdf";
wpage.paperSize = {
width: '600px',
height: '1500px',
margin: {
'top':'50px',
'left':'50px',
'rigth':'50px'
},
orientation:'portrait',
header: {
height: "1cm",
contents: phantom.callback(function(pageNumber, nPages) {
return "<h5>Header <b>" + pageNumber + " / " + nPages + "</b></h5>";
})
},
footer: {
height: "1cm",
contents: phantom.callback(function(pageNumber, nPages) {
return <h5>Footer <b>" + pageNumber + " / " + nPages + "</b></h5>";
})
}
}
wpage.open(url, function (status) {
if (status !== 'success') {
console.log('Page is not opening');
phantom.exit();
} else {
wpage.render(output);
phantom.exit();
}
});
上述程序生成以下输出。
Saves as display.pdf with header and footer.
phantomjs_webpage_module_methods.html

