vue页面转pdf后分页时文字被横向割裂

效果

在这里插入图片描述

预期效果

在这里插入图片描述

 //避免分页被截断
    async outPutPdfFn (id, title) {
      const _t = this;
      const A4_WIDTH = 592.28;
      const A4_HEIGHT = 841.89;
      // dom的id。
      let target = document.getElementById('pdf');
      let pageHeight = target.scrollWidth / A4_WIDTH * A4_HEIGHT;
      // 获取分割dom,此处为class类名为item的dom
      let lableListID = document.getElementsByClassName('item');
      // 进行分割操作,当dom内容已超出a4的高度,则将该dom前插入一个空dom,把他挤下去,分割
      for (let i = 0; i < lableListID.length; i++) {
        const currentItem = lableListID[i];
        let elToTop = document.getElementById('title').offsetTop + currentItem.offsetTop
        if (elToTop + currentItem.offsetHeight > pageHeight && elToTop < pageHeight) {
          let divParent = currentItem.parentNode; // 获取该div的父节点
          let newNode = document.createElement('div');
          newNode.className = 'emptyDiv';
          newNode.style.height = 8 + 'px';
          newNode.style.width = '100%';
          divParent.insertBefore(newNode, currentItem);
        }
      }
      await _t.$nextTick();
      _t.getPdf({
        id,
        title,
        backgroundColor: '#fff'
      }).then(base64 => {
        uni.postMessage({
          data: {
            pb: base64,
            name: title
          }
        })
        _t.navigateBack();
      })
    },
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值