【发布时间】:2017-10-29 12:34:54
【问题描述】:
我采用了一个网站,但我无法弄清楚。该网站使用从命令行调用的 CasperJS,它登录到该网站,然后从下载的 HTML 生成 PDF。我认为 CasperJS 将使用 PhantomJS 使用 capture() 生成 PDF。
我需要在 PDF 中添加页码和总页数。例如,第 1 页,共 5 页。但我无法在网上找到如何使用 CasperJS 和 PhantomJS 执行此操作的任何详细信息。是否可以?
下载过程在服务器上创建如下JS文件,如下调用:
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');
谢谢
【问题讨论】:
-
如果您已经在调用 shell_exec,请考虑
pspdftool 'number(x=-1pt,y=-1pt,start=1,size=10)' input.pdf output.pdf和 stackoverflow.com/questions/1603301/…