PhantomJS - paperSize 属性
此属性提供网页的大小,即尺寸,需要使用该属性将网页转换为 pdf 格式。 paperSize 属性包含对象所需的尺寸。 如果未定义 paperSize,则将采用网页的尺寸。 支持的尺寸单位为"mm"、"cm"、"in"和"px"。 默认情况下为"px"。
参数
以下是 paperSize 属性的参数
边距 −它可以作为一个对象给出,其值为'top'、'left'、'bottom'、'right'。默认情况下,它将被视为 0。例如 - margin: {top: '100px',left: '20px',right: '20px'bottom: '10px'>
格式 − 支持的格式为'A3'、'A4'、'A5'、'Legal'、'Letter'、'Tabloid'。
方向 − '纵向' 和 '横向'。默认情况下为 '纵向'。
页眉和页脚 −页眉和页脚可以以具有高度和内容属性的对象格式提供。
语法
其语法如下 −
header: { height: "1cm", contents: phantom.callback(function(pageNumber, nPages) { return "<h1>Header <b>" + pageNumber + " / " + nPages + "</b></h1>"; }) } footer: { height: "1cm", contents: phantom.callback(function(pageNumber, nPages) { return "<h1>Footer <b>" + pageNumber + " / " + nPages + "</b></h1>"; }) }
paperSize 的语法如下 −
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>"; }) } }
示例
让我们举一个例子来了解 paperSize 属性的用法。
var wpage = require('webpage').create(); var url = "http://localhost/tasks/a.html"; var output = "test.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(); } });
上述程序生成以下输出。
test.pdf
在上面的例子中,我们打开一个 URL 并为其提供 papersize 选项。wpage.render(输出)将给定的 URL 转换为 pdf 格式。pdf 文件将存储在上述输出中,在上面的例子中,我们将其指定为 var output ="test.pdf"。
我们可以定义您想要存储文件的位置。它为您提供了 pdf 格式以及与页眉和页脚一起使用的 papersize 尺寸。您可以执行上述代码并查看如何呈现 pdf 文件。
phantomjs_webpage_module_properties.html