- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经采用了一个网站,但我想不通。该网站使用从命令行调用的 CasperJS,它登录到网站,然后从下载的 HTML 生成 PDF。我认为 CasperJS 将使用 PhantomJS 来生成 PDF,使用 capture()。
我需要向 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');
谢谢
最佳答案
PhantomJS 有一个 paperSize
定义呈现为 PDF 时网页大小的属性。
paperSize
属性(property)有header
和 footer
允许重复页眉和页脚的子属性。
PhantomJS 提供以下 example关于如何完成这项任务:
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>';
}),
},
};
Note: A more detailed example can be found in printheaderfooter.js in the
examples
folder.
CasperJS 允许您使用 page
访问现有 PhantomJS 网页实例的选项。
换句话说,在casperjs.start()
之后, PhantomJS 页面模块在 casper.page
中可用。
您可以使用 casper.page.paperSize
在 CasperJS 中访问 paperSize
属性。
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>';
}),
},
};
关于phantomjs - 如何使用 CasperJs 和 PhantomJS 添加 PDF 页码和总页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47000237/
有没有像{{NUMBEROFARTICLES}}这样的魔法词对于所有页面? 文章和页面之间似乎存在差异(文章 < 页面),我想显示总页数。 最佳答案 Yes, there is : {{NUMBERO
在我的项目中,我有一个要求,即显示 Word 文档(.doc、.docx)文件中的页数和 Excel 文档(.xls、.xlsx)中的工作表数。我尝试使用 Docx4j 读取 .docx 文件,但性能
我使用正则表达式来计算 pdf 的页数。下面是我使用的代码。 Regex regex = new Regex(@"/Type\s*/Page[^s]"); MatchCollection matche
我的问题如下: 有一些巨大的 PDF 文件(>500MB),我想使用 JAVA 找到它们的页数。如果我使用 itext 或 pdfbox,我必须等到它读取整个文件,并且大多数时候都会失败,因为文件很大
我希望能够在浏览器中输出一个 pdf(这一切都很好而且花花公子)但限制了显示的页数。 IE。读者可以看到他想买的东西的内容是准确的,但同时我也不是免费提供文件的。我可以批量编辑文件以创建新的 3-5
我有一个 WebView 显示一些经常更新的内容。我想在我的 UI 中显示一个页面计数器,它会告诉用户如果要打印它,Web View 会有多少页。 我试过: NSRange r = NSMakeRan
我正在研究 linux 设备驱动程序,发现页数等于帧数。每个页面映射到每个框架。它说只要程序需要内存,它就会分配页面。 但是我发现在操作系统书籍中,虚拟地址分为页面,这些页面被加载到框架中。那么页面数
我想基于模板创建一个新文档,并且需要知道我的插入或附加结果何时会在最终打印输出中生成一个新页面,是否有任何属性/属性(例如可用于此的页数)? 最佳答案 过去我对此进行了大量搜索,但我认为没有任何属性或
不确定这是否可行,但我正在尝试通过纯文本输出将文本保存到具有特殊编码的 RTF。 除了总页数外,我一切正常。 我想让它说“y 的第 x 页”,例如,每页的底部说“第 1 页,共 3 页”,但我找不到总
在 ReportViewer 和导出的 PDF 中查看时显示的页数不同。例如:Report Viewer 的一页显示 50 条记录。但是当导出为 PDF 时,45 条记录出现在第 1 页,其余记录出现
除了我的所有文件都在网络驱动器上之外,这段代码对我有用。在下面的示例中,仅当文件位于根目录 (c:\) 中时代码才有效。 我是否必须将 input.pdf 替换为 d:\hello space fol
我想在访问者访问开始后进入第三页时向他显示一个弹出窗口。 我发现表log_url存储了visitor_id和url_id。我在想是否我们可以计算某个访问者 ID 的 url_id 记录数,这样我就可以
我正在尝试阅读编号。使用 pdf 的给定 pdf 中的页面(通过查找“/Count xx”),但我似乎做错了什么。我将所有字符读入缓冲区并使用字符串类的查找来查找。但是在我尝试过的许多文件中,它只工作
目前我正在使用 itext 阅读 pdf 的页数。这需要很长时间,因为库似乎要扫描整个文件。 页面信息是否位于 pdf 标题的某处,或者是否需要完整的文件扫描? 最佳答案 没错。 iText 在打开时
在我的项目中,我有一项要求显示 Word 文档(.doc、.docx)文件中的页数和 Excel 文档(.xls、.xlsx)中的页数。我曾尝试使用 Docx4j 读取 .docx 文件,但性能很差,
我在获取 phantomjs 中生成的 pdf 页数时遇到问题。基本上我将 phantomjs 与 nodejs 一起使用,我想在第 5 页中显示总页数。 function generatePdf()
我有一个网页,允许用户将文件上传到帐户文件夹。仅限 PDF 和 JPG 文件。我想计算每个上传的 PDF 中的页数,以将其显示给用户。 为此,我使用了 PDFINFO linux 库,它是 XPDF
我做了很多研究(我猜还不够?)并试图找到一个易于使用的库来使用 Node.js 查找 PDF 的页数。该库需要在 Windows 操作系统上可用。 有人知道如何最好地解决这个问题吗?最坏的情况是,我正
我是一名优秀的程序员,十分优秀!