前端打印及后端生成PDF

vue中前端打印

CSS

按正常样式书写, flex, 嵌套,主流样式,都可以用;

JS

涉及到图片, 必须是https地址, 且要等图片加载完成后, 再去打印;

//判断打印中的审核签名图片是否加载完成
    judgeVerifySign() {
      let that = this;
      if (that.orderDetial.verifySign) {
        let el = document.getElementById('verifySign');
        el.src = that.orderDetial.verifySign.replace(/^http:\/\//i, 'https://');
        el.onload = function() {
          that.printList();
        };
      } else {
        that.printList();
      }
    },
    //打印清单
    printList() {
      let listPrint = document.getElementById('listPrint');
      let newContent = listPrint.innerHTML;
      let oldContent = document.body.innerHTML;
      document.body.innerHTML = newContent;
      window.print();
      window.location.reload();
      document.body.innerHTML = oldContent;
      return false;
    },

后端生成PDF

只需要提供样式模板

不能嵌套, 不能用flex布局, 使用 div+浮动 +100% 进行布局

2023.2.10: 使用table 布局效果更好

主要内容字体大小14-16px  标题 23-25 px

最顶部 需要加上这些 用来规定纸张大小

@page{ 
  /* 297mm 420mm        A3纸 */
  /* 210mm 297mm        A4纸  */
  /* size: 210mm 148mm; A5  (宽X高)  纸张横向 */
  size: 148mm 210mm; // 纸张纵向
  margin: 0; 
  width: 100%; 
  height: 100%;
}
* {
  margin: 0;
  padding: 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值