是否可以将相对 URL 提供给 Phantom.js页面生成器以获取 PDF 渲染
Is it possible to feed a relative URL to Phantom.js page generator to get a PDF render?
我目前拥有的是这个脚本:
var phantom = require('phantom');
phantom.create(function(phantomInstance) {
phantomInstance.createPage(function(page) {
page.set('paperSize', {
format: 'A4',
orientation: 'portrait',
margin: '1cm'
});
page.open('https://blablabla.c9.io/pdf/' + data._id + data.querystring, function(status) {
page.render('client/pdf/' + data._id + '.pdf', function() {
phantomInstance.exit();
});
});
});
});
我在Phantom.js文档中读到page.open
的第一个参数必须是绝对URL。这不是很舒服,因为我有两个运行此脚本的环境(一个在 Cloud9 IDE 上开发,一个在 VPS 上生产)。
有没有更好的方法来处理这种限制,有没有办法在不手动管理 URL 库的情况下操作相对 URL(例如 page.open(baseUrl + '...', ...)
)?
如果有帮助的话,我在两个环境中都使用 Express over Node.js 服务器。
不,我认为动态生成您的 url 没有任何相当大的问题(例如 page.open(baseUrl + '...', ...)
)。
您可以创建自己的小包装器,但需要以某种方式将baseUrl和相对路径输入其中,这可能会在短期内使您的生活更轻松一些,但从长远来看,当您需要重构时可能会适得其反。
相关文章:
- React路由器服务器端渲染和ajax获取数据
- 使用ajax在同一页面中获取控制器动作渲染
- 在 Angular 中,我无法正确获取渲染路径
- jQuery:获取渲染图像的宽度以使其居中
- JsTree从未渲染的节点获取html属性
- backbone.js视图没有't由于异步获取而显示结果;t渲染
- 使用add:true参数获取集合时,重新渲染主干视图
- Three.js无法获取贴图和颜色属性'使用Canvas渲染器
- 无法从 PhantomJs 渲染命令中获取整个 png
- 如何获取任何元素的渲染上边距
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 获取 ImpactStory JavaScript 小部件渲染到 R Shiny 应用程序中的表格单元格
- 使用Angular时如何获取当前渲染的(SVG)DOM
- 获取集合时未调用渲染函数
- 如何在网格的渲染器中获取当前渲染值
- PHP获取渲染Javascript页面
- 获取渲染时在three.js中绘制的元素的图像
- 获取渲染元素的组件
- 使用Javascript获取渲染页面源代码
- 从角度控制器获取渲染html