把HTML变成图片并下载到本地

待我称王封你为后i 2022-06-14 08:29 371阅读 0赞

同学问如何把生成的HTML网页变成图片并下载到本地,去网上搜了一下,大部分都是部分代码,没有详细的源码,现把源码贴出,供大家参考。

本例子是用Hbulider写的静态页面,不用再服务器运行。采用了html2canvas.js插件的方法。首先下载html2canvas.js插件,下载地址:

http://download.csdn.net/download/hr541659660/9489386,或者去官方网站下载。

下载后的界面如下:

Center

在dist文件夹下把html2canvas.js文件拷贝到Hbulider的js文件夹下。

Center 1

HTML源码文件如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>html2canvas example</title>
  7. <script type="text/javascript" src="js/html2canvas.js"></script>
  8. <script type="text/javascript">
  9. function takeScreenshot() {
  10. console.log('test');
  11. html2canvas(document.getElementById('view'), {
  12. onrendered: function(canvas) {
  13. var imgUri = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream"); // 获取生成的图片的url
  14. window.location.href= imgUri; // 下载图片
  15. },
  16. width: 500,
  17. height: 500//下载图片的大小
  18. });
  19. }
  20. </script>
  21. </head>
  22. <body>
  23. <div id="view" style="background:url(img/carousel1.jpg);">//图片地址任意本地图片即可
  24. <table id="data" border="1px" cellpadding="10px" bordercolor="red" border="2">
  25. <caption><h3>Employee payroll</h3></caption>
  26. <thead>
  27. <tr>
  28. <th>Name</th>
  29. <th>Salary</td>
  30. <th>career time</th>
  31. <th>opertion</th>
  32. </tr>
  33. </thead>
  34. <tbody>
  35. <tr>
  36. <td>nancy</td>
  37. <td>2000</td>
  38. <td>2016.7</td>
  39. <td>saler</td>
  40. </tr>
  41. <tr>
  42. <td>ruthy</td>
  43. <td>4000</td>
  44. <td>2016.7</td>
  45. <td> technicians</td>
  46. </tr>
  47. <tr>
  48. <td>tom</td>
  49. <td>5000</td>
  50. <td>2013.5</td>
  51. <td>manager</td>
  52. </tr>
  53. <tr>
  54. <td>perter</td>
  55. <td>20000</td>
  56. <td>2011.5</td>
  57. <td>boss</td>
  58. </tr>
  59. </tbody>
  60. </table>
  61. <input type="button" value="截图" οnclick="takeScreenshot()">
  62. </div>
  63. </body>
  64. </html>

代码可以直接复制,粘贴,不谢,需要请拿走!

发表评论

表情:
评论列表 (有 0 条评论,371人围观)

还没有评论,来说两句吧...

相关阅读