如何使用CasperJs和PhantomJS添加PDF页码和总页数
我已经通过了一个网站,我想不出什么。该网站使用从命令行调用的CasperJS,该命令行登录到该网站,然后从下载的HTML生成PDF。我认为CasperJS将使用PhantomJS生成PDF,使用capture() 我需要添加页码和总页数到PDF。例如,第1页,共5页。但是我在网上找不到任何关于如何使用CasperJS和PhantomJS的细节。可能吗 下载过程会在服务器上创建以下JS文件,其名称如下:如何使用CasperJs和PhantomJS添加PDF页码和总页数,phantomjs,casperjs,Phantomjs,Casperjs,我已经通过了一个网站,我想不出什么。该网站使用从命令行调用的CasperJS,该命令行登录到该网站,然后从下载的HTML生成PDF。我认为CasperJS将使用PhantomJS生成PDF,使用capture() 我需要添加页码和总页数到PDF。例如,第1页,共5页。但是我在网上找不到任何关于如何使用CasperJS和PhantomJS的细节。可能吗 下载过程会在服务器上创建以下JS文件,其名称如下: var casper = require('casper').create({ ver
var casper = require('casper').create({
verbose: false,
logLevel: 'debug',
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',
pageSettings: {
loadImages: true,
loadPlugins: true
},
});
var url = '{$siteurl}';
casper.start(url, function() {
this.page.paperSize = {
width: '11in',
height: '8.5in',
orientation: 'landscape',
border: '0.1in'
};
this.fill('form#loginform', {
ident: 'username',
password: 'password'
}, true);
});
var url = '{$siteurl}/pdf/{$twigDate}/{$clubId}/{$sessionId}';
casper.then(function() {
casper.start(url, function() {
this.capture('{$genPdf}');
});
});
casper.run();
然后使用以下命令调用上述文件:
$exe = shell_exec('/usr/bin/casperjs --ignore-ssl-errors=true --ssl-protocol=any ' . INC_ROOT . '/pdf/registers/' . $filename . ' 2>&1');
谢谢PhantomJS
PhantomJS有一个属性,用于定义呈现为PDF时网页的大小
该属性具有允许重复页眉和页脚的和子属性
PhantomJS提供了关于如何完成此任务的以下内容:
var webPage = require('webpage');
var page = webPage.create();
page.paperSize = {
width: '8.5in',
height: '11in',
header: {
height: '1cm',
contents: phantom.callback(function (pageNum, numPages) {
return '<h1>Header <span style="float:right">' + pageNum + ' / ' + numPages + '</span></h1>';
}),
},
footer: {
height: '1cm',
contents: phantom.callback(function (pageNum, numPages) {
return '<h1>Footer <span style="float:right">' + pageNum + ' / ' + numPages + '</span></h1>';
}),
},
};
如果您已经调用了SHILLYEXEC,请考虑<代码> PSPDFoToR号(x= -1Pt,y= -1Pt,开始=1,大小=10)'输入.pdf输出.pdf < /> > a
casper.page.paperSize = {
width: '8.5in',
height: '11in',
header: {
height: '1cm',
contents: phantom.callback(function (pageNum, numPages) {
return '<h1>Header <span style="float:right">' + pageNum + ' / ' + numPages + '</span></h1>';
}),
},
footer: {
height: '1cm',
contents: phantom.callback(function (pageNum, numPages) {
return '<h1>Footer <span style="float:right">' + pageNum + ' / ' + numPages + '</span></h1>';
}),
},
};