2011-11-03 93 views
1

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

+0

另存为图片?另存为html文件? – ManseUK

+0

你可以使用wget命令? –

+0

ManseUK>作为图片 – lolalola

回答

2

您需要一个无头网页浏览器(即您可以从命令行运行而不需要图形界面的浏览器)。其中一种可能性是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