js将html转为图片(html2canvas截图)

js将html转为图片(html2canvas截图)

借用html2canvas.js将html文本转为图片并展示在页面。
引入js。
< script src=“https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js” >< /script>
也可以下载js直接引入自己的项目。
调用html2canvas
html2canvas($("#content")).then(function (canvas) {
var imgUri = canvas.toDataURL(“image/png”); // 获取生成的图片的url
$("#father").append("<img src=""+imgUri+"">");
});
得到的是图片Base64,可以直接存放到img标签src中,直接展示

内联代码片


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery1.7.2.js" ></script>
    <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.js"></script>
    <script type="text/javascript">


        function onclick1() {
            html2canvas($("#content")).then(function (canvas) {
                var imgUri = canvas.toDataURL("image/png"); // 获取生成的图片的url
                $("#father").append("<img src=\""+imgUri+"\">");

                // $('#father').css("background-image","url('"+imgUri+"')") ;

            });
        }
    </script>
</head>
<style>
    table{
        border-collapse:collapse;
        text-align: center;
        margin: auto;
        width: 800px;
        height: 800px;
    }
</style>
<body>
<div style="text-align: center" id="content">
    <p>
        要截图的内容
    </p>
    <table  border="1px" >
        <thead>
        <tr style="height: 50px">
            <th>网站</th>
            <th>资源</th>
            <th>url</th>
            <th>排名</th>
        </tr>
        <tbody>
        <tr >
            <td>淘宝网</td>
            <td></td>
            <td>www.taobao.com</td>
            <td>25</td>
        </tr>
        <tr >
            <td rowspan="2">京东</td>
            <td></td>
            <td>www.jingdong.com</td>
            <td>25</td>

        </tr>
        <tr >
            <td></td>
            <td>www.jingdong.com</td>
            <td>25</td>

        </tr>
        <tr >
            <td colspan="4" style="text-align: center;">testtesttesttesttesttesttesttest</td>
        </tr>
        </tbody>
        </thead>
    </table>
</div>
<div  style="text-align: center">

    <button id="btn" onclick="onclick1()"  >点击获取</button>
    <br>
    <div id="father">

    </div>
</div>

</body>
</html>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要使用html2canvas和pdfmake将HTML转为PDF并下载,您可以按照以下步骤操作: 1. 首先,您需要在HTML页面中引入html2canvas和pdfmake的库文件。您可以通过以下方式在HTML文件中添加这两个库: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/pdfmake.min.js"></script> ``` 2. 接下来,您需要创建一个按钮或触发器,以便在单击时开始换并下载PDF。例如: ```html <button onclick="generatePDF()">Download PDF</button> ``` 3. 然后,您需要编写一个JavaScript函数来执行换和下载操作。该函数将使用html2canvasHTML元素换为图像,然后使用pdfmake将这些图像添加到PDF文档中。最后,该函数将使用pdfmake下载PDF文档。以下是一个示例函数: ```javascript function generatePDF() { // 获取要换为PDF的HTML元素 const element = document.getElementById("html-content"); // 使用html2canvasHTML元素换为图像 html2canvas(element).then((canvas) => { // 将图像换为DataURL const imgData = canvas.toDataURL("image/png"); // 创建一个PDF文档对象 const docDefinition = { content: [ { image: imgData, width: 500, }, ], }; const pdfDocGenerator = pdfMake.createPdf(docDefinition); // 下载PDF文档 pdfDocGenerator.download("document.pdf"); }); } ``` 在这个示例中,我们使用了一个id为“html-content”的HTML元素,并将其换为PNG图像。然后,我们创建了一个pdfmake文档定义对象,其中包含一个图像元素,该元素使用先前创建的DataURL。最后,我们使用pdfmake的下载方法下载PDF文档。 4. 最后,您需要确保您的HTML元素可以正确换为图像。这意味着您需要确保该元素在屏幕上可见,并且没有被另一个元素遮盖。 通过这些步骤,您应该能够使用html2canvas和pdfmake将HTML换为PDF并下载。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SJAping

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值