通过代码拍摄网页的屏幕截图

Take Screen Shot of a webpage via code

本文关键字:网页 屏幕截图 代码      更新时间:2023-09-26

我有一个网站,它在特定的div中动态生成HTML标记。现在,在创建所有HTML标记后,我将这些HTML标记保存在数据库中。问题是,我需要对生成HTML标签的网页进行屏幕截图。当我要拯救它的时候,但是;

  1. 我无法想象从哪里开始,就屏幕截图而言
  2. 我不想使用第三方API,因为他们通常会要求提供网址,然后去网站拍一张截图,然后通过电子邮件发送给你

我不能使用它们的原因是,当我动态创建HTML标签时,它们只是在浏览器上。如果其他人试图访问相同的链接,他们会得到一个没有当前创建的HTML标签的页面(即使我刷新页面,标签也不见了)。

我不想要一个完整的解决方案,只是一个关于如何开始构建这个问题的解决方案的提示,我所说的屏幕截图是指图像。

谢谢。

  • 如果您使用的是HTML5,请查看HTML2Canvas(http://html2canvas.hertzen.com/)
  • 如果您可以访问服务器环境并在其上安装额外的,请尝试wkhtmltoimage(http://code.google.com/p/wkhtmltopdf/)

我的建议是使用PhantomJS,这是一种可以通过命令行运行并指定输出的web浏览器。您可以将其指定为图像、pdf或其他内容。

糟糕的是,你需要一个地方来指出它,但除此之外,它对这类事情来说非常棒。但它不一定是公共url,它可以在内部使用,甚至可以从其他地方提供html。

使用webshot库它简单易用。您还可以使用window.print()方法拍摄网页的屏幕截图