给定以下文件结构:
project-folder
|- images/
| |- foo.png
|
|- script.js
类似以下幻影脚本:
var page1 = require("webpage").create(),
page2 = require("webpage").create();
page1.content = "<img src='images/foo.png'/>";
page2.content = "<img src='file:///path/to/project-folder/images/foo.png'/>";
// give the images some time to load
setTimeout(function () {
page1.render("pdf1.pdf");
page2.render("pdf2.pdf");
phantom.exit();
}, 10);
运行后,foo.png
在pdf2.pdf
中正确显示,但在pdf1.pdf
中不正确显示。
我需要呈现一个大的HTML文件,其中包含许多具有相对路径的图像,如page1中所示。
虽然可以使用某种疯狂的regex来完成标记,并在设置内容之前手动将所有图像src属性更改为脚本的工作文件夹,但我宁愿避免这样做。
我还缺少其他选择吗?
GitHub上有一个关于此的问题。似乎没有将基本目录传递给PhantomJS的选项。但是,您可以使用HTML基本标记来设置基本url。