Lodop和C-Lodop打印控件用vue在win7电脑不兼容样式板式错乱问题

项目背景

本文是使用C-Lodop云打印控件,在使用的过程中,出现在win7电脑不兼容,模板样式错乱情况。
这里先简单介绍下C-Lodop:

  • 有人说她是Web打印控件,因为她能打印、在浏览器中以插件的形式出现,用简单一行语句就把整个网页打印出来;
  • 有人说她是打印编程接口,因为她介于浏览器和打印设备之间,是个通道和桥梁,几乎能想到的打印控制事项都能做到;
  • 有人说她是JavaScript的扩展,因为她所有功能就那么几个语句,和JS语法一样,一看就明白个究竟;
  • 有人说她是报表打印工具,因为那个add_print_table语句把报表统计的那点事弄了个明明白白;
  • 有人说她是条码打印工具,因为用了她再也不用后台生成条码图片了,前端一行指令就动态输出清晰准确的条码,一维二维都行;
  • 有人说她是图表打印工具,因为用她能输出几乎能想象的任何图表,虽然没那么豪华,但什么饼图、折线图、柱图甚至复合图等等都不在话下;
  • 有人说她是个小玩意,因为她体积太小了,才2M多,她所包含的其中任何一个对照工具都是她的好几倍(例如条码打印控件、图表控件等);
  • 有人说她是套打教案,因为以Lodop+JS实现套打这种模式,在网上已被吵吵为教科书般的解决方案;
  • 有人说她是Web打印控件的“终结者”,因为接触“她”后再不想别的“她”;
    综上有点,选择了C-Lodop了

问题

遇到一个问题,打印模板经过测试人员、各类打印机都是正常,但是出现这种情况,在部分win7的电脑上模板样式出现错乱问题。。。

排查思路/分析

  1. 准备win7电脑和出现问题打印机型号,准备复现问题,但是依旧正常;
  2. 使用出现问题的浏览器(360浏览器)打印依旧正常,让客户使用谷歌浏览器操作,问题依旧存在;
  3. 使用win7 64位于32位分别测试模板打印,依旧正常;
  4. 查看C-Lodop版本是否一致,C-Lodop -->C-Lodop Setup -->关于,一致并未发现问题;
  5. 寻找是否是模板html的问题,发现模板使用flex布局,模板出问题的样式刚好和flex布局有关;

验证问题

flex布局导致?

2009年,W3C提出了一种新的方案—-Flex布局,可以简便、完整、响应式地实现各种页面布局。但是目前,它只支持IE10 +,但是我使用的360浏览器是谷歌内核的呀,为什么会导致flex布局失效呢?
这是我怀疑起了C-Lodop这个打印控件,查看该官网发现,Lodop调用ie引擎进行解析超文本,但是客户端ie版本可能不同,或ie本身存在问题,都会影响解析后的样式是,升级ie浏览器

这时候我远程用户出现问题的电脑,发现电脑自带的IE是 IE8(这里注意无论你是用什么浏览器进行页面打印,Lodop/C-Lodop都会调取本机自带的IE最高版本引擎去渲染模板),我们用来测试的win7电脑自带的IE版本士IE11,这时候问题浮现了。原来是Lodop和c-Lodop调用的是本机IE引擎进行模板的html渲染,并不是不兼容win7,只是IE版本过低导致flex布局失效,出现样式问题。

解决方案

  1. 对打印的html模板,写html和css的时候要注意IE的兼容性,进行IE7+全部兼容,打印膜版避免使用flex布局、
  2. 模板修改完成后,对WIN10 和win7(IE8内核)等多端进行打印测试;

注意事项

在这里插入图片描述

结尾

如有疑问,可在下方留言,会第一时间进行回复

谢谢你愿意花时间阅读这篇文章,希望可以对你有所帮助!

只要有树叶飞舞的地方,火就会燃烧,火的影子照耀着村子,新的树叶就会发芽

打印机语言:PPLB 插件安装包: ArgoxWebPrintSetup.msi API类库名称:ArgoxWebPrint 操作系统:WindowsXP, Windows7 32/64bit 运行环境:IE6以上 程序测试页面:PrintDemoPage.htm 发行日期:2014-04-17 ******************************************************************************* 注意事项 =============================================================================== 1. 连接打印机开始运行PrintDemoPage.htm打印测试前,请先确认 - ArgoxWebPrintSetup.msi是否已安装完成。 - 打印机驱动是否已安装完成。 2. 请使用IE浏览器开启PrintDemoPage.htm页面,并在下方提示点击允许IE运行此ActiveXP程序。 3. 插件安装软件包名称为:Setup_ArgoX.msi,必须安装在客户端电脑。 4. 打印机接口函数用法请参阅下方说明,JS的调用方式请参考PrintDemoPage.htm脚本。 5. 你应该将DLL档案放置在哪儿? 若使用32位元的DLL: A.将DLL档案和应用程式放在同一目录下.(这是最好的方法) B.在Windows 32位元作业系统中, 将DLL档案放置在\Windows\System32目录. C.在Windows 64位元作业系统中, 将DLL档案放置在\Windows\Syswow64目录. 若使用64位元的DLL: A.将DLL档案和应用程式放在同一目录下.(这是最好的方法) B.在Windows 32位元作业系统中, 无法使用 64位元的DLL. C.在Windows 64位元作业系统中, 将DLL档案放置在\Windows\Syswow64目录. 6. 以下范例为 C# 的范例,其他程式语言不一定完全相同。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tz一号

如果对您有帮助,请我喝杯咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值