作为一个业余爱好项目,我正在探索将网页(
HTML)保存为图像的方法,主要是以编程方式使用c / c /
javascript / java.直到现在我遇到了以下几种方式:
>获取页面主体的IHTMLElement并使用它来查询IHTMLElementRender,然后使用其DrawToDC方法(参考:http://www.codeproject.com/KB/IP/htmlimagecapture.aspx).但问题是它并不适用于所有页面(主要是嵌入了iframe的页面).
>我能想到的另一种方法是使用一些Web浏览器组件,当页面完全加载时,使用BitBlt捕获它(参考:http://msdn.microsoft.com/en-us/library/dd183370%28VS.85%29.aspx).但问题是我请求的页面可能比我的屏幕大小更长,并且它不适合Web浏览器组件.
解决方法
如果你使用Python,那就是
pywebshot和
webkit2png.但是它们都有一些依赖关系.
编辑:糟糕,Python不在您的首选语言列表中.无论如何,我会在这里留下这个答案,因为你说“大部分”而不是“完全”.