作为一个兴趣项目,我正在探索以编程方式(主要使用C/C++/JavaScript/Java)保存网页(HTML)为图像的方法。到目前为止,我已经遇到了以下几种方法:
1. 获取页面主体的IHTMLElement并使用其查询IHTMLElementRender,然后使用其DrawToDC方法(参考:http://www.codeproject.com/KB/IP/htmlimagecapture.aspx)。但是问题在于它并不适用于所有页面(大多数是嵌入iframe的页面)。
2. 另一种想到的方法是使用某些Web浏览器组件,在页面完全加载后使用BitBlt进行捕捉(参考:http://msdn.microsoft.com/en-us/library/dd183370%28VS.85%29.aspx)。但是问题在于我请求的页面可能比我的屏幕尺寸更长,无法适应Web浏览器组件。
非常感谢任何解决上述问题或提供替代方法的指导和建议。
1. 获取页面主体的IHTMLElement并使用其查询IHTMLElementRender,然后使用其DrawToDC方法(参考:http://www.codeproject.com/KB/IP/htmlimagecapture.aspx)。但是问题在于它并不适用于所有页面(大多数是嵌入iframe的页面)。
2. 另一种想到的方法是使用某些Web浏览器组件,在页面完全加载后使用BitBlt进行捕捉(参考:http://msdn.microsoft.com/en-us/library/dd183370%28VS.85%29.aspx)。但是问题在于我请求的页面可能比我的屏幕尺寸更长,无法适应Web浏览器组件。
非常感谢任何解决上述问题或提供替代方法的指导和建议。