LODOP打印使用及其使用问题

安装lodop:

官网地址:下载中心 - Lodop和C-Lodop官网主站

关联网站: 

CSS3/CSS2/CSS 属性速查表:CSS3/CSS2/CSS 属性速查表 - w3c html

can i use网站(CSS、JS兼容性自查工具):https://caniuse.com/

使用注意点:

1:Vue文件不能使用饿了么组件

2:css样式不允许放在style scoped里,可以放在行内或者样式拼接

3:样式要使用css2的,最好套官方模板使用

4:使用其打印表格时要画标准表格,否则会出现不兼容情况

常用打印函数:

ADD_PRINT_TABLE:不切行,打印表格。只能打印一个表格,嵌套复杂的行跨页了会隐藏后面的内容,不会分到下一页,会出现文字被截成一半的情况。

ADD_PRINT_HTM:切行不切字,按照打印页的高度进行分页,嵌套复杂的行会将最后一行字展示完了然后剩余部分展示在下一页。

ADD_PRINT_HTML:切行切字,完全按照打印设计的高度分页,会出现文字被截成一半的情况,类似于截图

曾出现问题:

1:行内样式color里 rgba不生效(css3)

2:行内元素转行内块元素在windows(win7)里可能不生效 (css2)

3:  flex布局不生效(css3)

4:引入图片win7会出现问题,可能会展示红叉叉

5:将左侧合并列单独放一个tr里,这种不标准table会出现兼容问题,无法正常自动分页

  <tr>
    <td rowspan="3">合并列</td>
  </tr>
  <tr>
    <td>一行一列</td>
    <td>一行二列</td>
  </tr>
  <tr>
    <td>二行一列</td>
    <td>二行二列</td>
  </tr>

// 这种写法IE6可能也不兼容,会渲染失败 

tips:

不同浏览器展示效果也可能会出现差距。例如:linux和windows可能会出现效果不同,linux使用ADD_PRINT_TABLE自动换行分页会出现无法补全表头和结尾表格线

官网答疑页面:

常见问题及解答:https://www.lodop.net/problem.html

Vue项目使用举例: 

有使用问题的可参考官网提供的LODOP技术手册,上面标注比较详细。

   // HTML 布局
  <div id="printTable">
      <table border="1" >
      <caption>LODOP打印表格</caption>
      <thead>
        <td>名称</td>
        <td>江苏</td>
        <td>内蒙</td>
      </thead>
      <tr>
        <td>数量</td>
        <td>28</td>
        <td>56</td>
      </tr>
      <tr>
        <td>等级</td>
        <td>二</td>
        <td>四</td>
      </tr>
    </table>
   </div>
   <el-button type="primary" size='mini' @click="print">打印</el-button>


    // 引入js文件
    import { getLodop } from "../plugins/LodopFuncs"


    // LODOP 打印方法
    print(){
      let LODOP=getLodop()  // 获取lodop对象
      // 为null时说明没获取到,没有安装或者启动插件都会导致该情况
      if(LODOP==null) return console.log('没安装或者没启动')
      // 获取表格打印内容
      const printHtml=document.getElementById('printTable').innerHTML
      // 打印初始化
      LODOP.PRINT_INITA( 0, 0, "297mm", "210mm", '表格打印测试' )  
      LODOP.SET_PRINT_PAGESIZE(1,0,0,'A4')  // 设置纸张大小
      LODOP.SET_SHOW_MODE('NP_NO_RESULT',true)  // 设置显示模式
      LODOP.SET_SHOW_MODE('LANDSCAPE_DEFROTATED',1) 
      // 表格打印设置(包括边距设置)
      LODOP.ADD_PRINT_TABLE('10mm','6mm','RightMargin:20mm','85%',printHtml)
      LODOP.PREVIEW() // 预览(预览页面可以进行下载)
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值