如果不是有特别的需求,比如打印或者分页,还是建议能在一页显示pdf,这样就避免了文字被截断的风险。

不做分页的处理,

var copyDom = $("#letterright");//要保存的dom
        var width = copyDom[0].offsetWidth; //dom宽
        var height = copyDom[0].offsetHeight; //dom高
        var scale = 2; //放大倍数
        var opts = {
          dpi: window.devicePixelRatio * 2,
          scale: scale,
          width: width,
          height: height,
          useCORS: true // 如果截图的内容里有图片,可能会有跨域的情况,加上这个参数,解决文件跨域问题
        };

html2canvas(copyDom[0], opts).then((canvas) => {
          debugger
          var contentWidth = canvas.width;
          var contentHeight = canvas.height;
          var pdfWidth = (contentWidth + 10) / 2 * 0.75;
          var pdfHeight = (contentHeight + 200) / 2 * 0.75; // 500为底部留白
          var imgWidth = pdfWidth;
          var imgHeight = (contentHeight / 2 * 0.75); //内容图片这里不需要留白的距离
          var pageData = canvas.toDataURL('image/jpeg', 1.0);
          var pdf = new jsPDF('', 'pt', [pdfWidth, pdfHeight]);
          pdf.addImage(pageData, 'jpeg', 0, 0, imgWidth, imgHeight);
          });
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐