获取网页打印屏幕,php / unix

时间:2011-11-03 09:21:39

标签: php linux unix

如何远程获取网页打印屏幕?使用linux / unix或php工具。 用户输入页面地址,我想在服务器上保存外观(作为图像)。

1 个答案:

答案 0 :(得分:2)

您需要无头Web浏览器(即可以从命令行运行而无需图形界面的浏览器)。其中一种可能性是PhantomJS,它使用webkit渲染引擎。

具体来说,您需要render() method

examples page上的渲染示例中,将以下内容另存为rasterize.js

var page = new WebPage(),
    address, output, size;

if (phantom.args.length < 2 || phantom.args.length > 3) {
    console.log('Usage: rasterize.js URL filename');
    phantom.exit();
} else {
    address = phantom.args[0];
    output = phantom.args[1];
    page.viewportSize = { width: 600, height: 600 };
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('Unable to load the address!');
        } else {
            window.setTimeout(function () {
                page.render(output);
                phantom.exit();
            }, 200);
        }
    });
}

然后运行它:

phantomjs rasterize.js http://ariya.github.com/svg/tiger.svg tiger.png