- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向使用 node-webshot 生成的 PDF 添加标题, 但没有任何显示。
我正在使用这段代码:
webshot('https://www.google.com', 'google.pdf', options, function (err) {
if(err) throw err;
console.log('Saved to PDF');
});
像这样的选项对象:
var options = {
"paperSize": {
"format": "A4",
"orientation": "portrait",
"border": "0.25cm",
"header": {
"height": "2cm",
"contents": function () {
return phantom.callback(function(pageNum, numPages) {
return '<h1>' + pageNum + ' / ' + numPages + '</h1>';
});
}
}
}
};
我尝试按照 PhantomJS 上的显示方式执行内容功能 documentation但它不起作用,因为未定义幻影。我找不到任何有关如何使用 webshot 添加页眉/页脚的示例。
PDF 生成正确,但页眉是空白的,上面什么也没有写。
我该如何解决这个问题?
最佳答案
我知道这个问题已有一年多了,但对于其他遇到与上述相同问题的人来说,eval() 对我不起作用。我最终做的是在同一位置添加以下代码:
if (key === "paperSize" && page[key] && page[key].header && page[key].header.contents) {
var header = {
"height": page[key].header.height,
"contents": phantom.callback(function() {return options.paperSize.header.contents;})
}
page.paperSize.header = header;
}
if (key === "paperSize" && page[key] && page[key].footer && page[key].footer.contents) {
var footer = {
"height": page[key].footer.height,
"contents": phantom.callback(function() {return options.paperSize.footer.contents;})
}
page[key].footer = footer
}
if (key === "paperSize") {
page.paperSize = {
"format": options.paperSize.format,
"orientation": options.paperSize.orientation,
"margin": options.paperSize.margin,
"header": header,
"footer": footer
}
}
原因是 webshot 将选项对象中的所有数据字符串化,因此使用 phantomjs 呈现页眉和页脚所需的 phantom.callback 无法正确字符串化。相反,您只需要在选项对象中添加要在页眉/页脚中使用的 html,然后将其插入到上面代码中的 phantom.callback 中。这种方法的唯一问题是您不能在回调中使用 numPages 和 pageNum 参数。
关于javascript - 向 Node Webshot 生成的 PDF 添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961624/
我想使用 webshot 将来自特定站点的一些 Web 元素导出到 png 文件R图书馆。 首先,安装和加载库: install.packages("webshot",dependencies = T
在服务器上,我想截取外部链接的屏幕截图并将其保存到服务器的文件夹中。 我正在尝试使用 meteor 包 webshot: https://github.com/TimHeckel/meteor-web
我正在使用 node-webshot 和 phantomjs-cli 将 html 字符串呈现为 png 图像。html 包含图像标签。当 src 属性指向本地文件且未引发错误时,不会呈现图像。但是,
我正在使用 bookdown以 PDF 和 HTML 格式创建“书”。 在我有 HTML 视频的地方,我在渲染时收到此消息: Error: Functions that produce HTML ou
首先,webshot 在此上下文中不起作用 webshot("google.com") 对于 webshot("www.google.com") 我得到: env: node\r: N
我在我的 Node (sails js) 项目上使用 webshot 将 HTML 字符串转换为图像,然后将该图像上传到 S3 存储桶。当我在本地计算机上运行它时,它工作正常,即它生成一个图像,并且我
我有一个 Web 应用程序,用带有 Express 框架的 Node.js 编写,前端使用 Twitter Boostrap 3,我正在使用此模块 node-webshot为了以 png 格式保存页面
我正在尝试向使用 node-webshot 生成的 PDF 添加标题, 但没有任何显示。 我正在使用这段代码: webshot('https://www.google.com', 'google.pd
Node webshot 用于对外部网站进行图片拍摄。 node webshot API 是: var webshot = require('webshot'); var fs = requ
tl;博士 我目前正在尝试使用 webshot 获取屏幕截图并上传到 Google 云端硬盘,无需将文件保存到文件系统作为该过程的中间步骤。 任何能让我做到这一点的代码——无论采用何种方法——都是非常
模拟 node Webshot 发送的请求的正确方法是什么?在使用nock.js进行测试期间? 我尝试使用以下代码来捕获 http://example.com/foo.html 的模拟响应作为 foo
我正在使用 webshot 来保存 wordcloud2 创建的 html 小部件,但是每当我将 png 文件传递给 figPath 时,我都会得到一个空白图像。如果我打开 .html 文件,我可
我正在使用此代码生成 pdf: let fileUri = process.env.PWD + '/storage/orders-pdf/' + fileName; // Commence Websh
我是一名优秀的程序员,十分优秀!