美文网首页
js相关html转canvas,canvas转pdf

js相关html转canvas,canvas转pdf

作者: 小小了墨 | 来源:发表于2019-08-13 11:53 被阅读0次

    html转canvas

    html2canvas

    1. 安装
    npm install html2canvas
    
    1. 简单使用
    import html2canvas from 'html2canvas';
    
    // element 是 dom元素
    html2canvas(element).then(canvas => {
        // canvas元素
        // 将canvas插入到页面
        document.body.appendChild(canvas);
    })
    
    1. 拓展使用
    import html2canvas from 'html2canvas';
    
    // element 是 dom元素
    html2canvas(element, {
        scale: 2 //放大一倍,使图像清晰一点
    }).then(canvas => {
        // 下面可以对生成的canvas进行一系列操作
        // 获取到canvas对象
        const ctx = canvas.getContext('2d');
        // 生成数据
        const pageData = canvas.toDataURL('image/jpeg', 1.0);
        
    })
    

    canvas转pdf

    jsPDF

    1. 安装
    npm install jspdf
    
    1. 简单使用

      • 文字生成PDF
      import jspdf from 'jspdf';
      
      // 默认a4大小,竖直方向,mm单位的PDF
      const doc = new jspdf();
      
      // 添加文本
      // 后面2个是x和y轴的偏移量
      doc.text('添加的文字', 10, 10);
      // 保存
      doc.save('a4.pdf');
      
      • 文字生成PDF
      import jspdf from 'jspdf';
      
      // 默认a4大小,竖直方向,mm单位的PDF
      // 方向,单位,尺寸格式
      // const doc = new jspdf('l', 'pt', [205, 115]);
      const doc = new jspdf('l', 'pt', 'a5');
      
      // 将图片转化为dataUrl
      const imageData = 'data:image/png;base54,idsfsdf...';
      
      // 添加图片
      // 第3,4参数:距离左上角x和y轴偏移的位置 
      // 第5,6参数:生成图片的宽高
      doc.addImage(imageData, 'PNG', 0, 0, 205, 115);
      // 保存
      doc.save('a4.pdf');
      

    html转pdf

    html2canvas + jspdf

    import html2canvas from 'html2canvas';
    import jspdf from 'jspdf'
    
    html2canvas(element, {
        scale: 2 //放大一倍,使图像清晰一点
    }).then(canvas => {
        // 下面可以对生成的canvas进行一系列操作
        // 获取到canvas对象
        const ctx = canvas.getContext('2d');
        // 生成数据
        const pageData = canvas.toDataURL('image/jpeg', 1.0);
        // 图片的大小
        const pdfWidth = 417;
        // a5 纸大小 [418, 594]
        // a4 纸大小 [595.28, 841.89]
        const pdf = new jspdf('p', 'pt', 'a5');
        pdf.addImage(pageData, 'JPEG', 0, 50, pdfWidth, pdfWidth / canvas.width * canvas.height);
        // 保存
        pdf.save('html转成的PDF.pdf');
    })
    

    相关文章

      网友评论

          本文标题:js相关html转canvas,canvas转pdf

          本文链接:https://www.haomeiwen.com/subject/gfyvjctx.html