LODOP中无规律无法还原偶尔出现问题排查

一些问题无法还原且偶尔出现,没法通过做例子来展示问题,为了找到问题在哪里,就需要排查定位问题 。由于这些问题偶尔出现,且无规律,出现频率低,所以只能不断通过各种对比测试,定位排查到问题和什么有关。
如果是个别用户问题,则需排查和该客户端相关的,相关博文:LODOP不同电脑打印效果不同排查

如果内容和客户端无关,每个客户都有问题,偶尔出现且无法还原,那么可能和程序有关,有可能和内容有关或自己页面其他部分有关等。也可能和c-lodop本身有关,可以用最新版对比试试。
如果通过大量测试,排除打印内容或页面或浏览器或电脑有关,可反馈给LODOP官方,并做个简单的能还原问题的小例子。

因为是偶尔出现,且无规律,开发人员在自己电脑上也无法还原问题,所有必须到出问题的用户那里排查,也可能和用户电脑或浏览器等有关。

通用简短问答:
虚拟打印机-
开发测试 先用本机虚拟打印机测试下(如win7之后的系统自带xps虚拟打印机,或群文件里的Doro PDF Writer虚拟打印机)
理论上本机虚拟打印没问题的话,说明插件代码没问题,程序可做的努力就的确很少了,毕竟windows下的打印是微软倡导的设备无关系原则,要在打印机和打印驱动程序 系统上排查下,尝试重装驱动 或者 打印机不支持一些功能 打印机精度太低。

win7以上系统自带xps虚拟打印机,或安装pdf虚拟打印机,打印成文件。
如果文件正常,可能和打印机的可打区域或纸张不识别等有关。
如果虚拟打印机文件有问题,说明代码有问题。
用虚拟打印机打印测试,可排查是代码问题还是和打印机有关。

选择打印机,参考样例5,7http://www.c-lodop.com/LodopDemo.html
打印机优先级,参考http://blog.sina.com.cn/s/blog_721e77e50100wto6.html
开发测试 先用本机虚拟打印机测试下(如win7之后的系统自带xps虚拟打印机,或群文件里的Doro PDF Writer虚拟打印机)

偶尔出现不好排查,用虚拟打印机多测试几次,试试能否复现问题。如果也会出现,可能和代码有关。
因为问题是偶尔出现的,现在不清楚和代码有关还是和打印机有关。

不好判断,只能先多用虚拟打印机测试下。
虚拟打印机怎么测都正常,那么就和打印机驱动有关,排查打印机或打印机驱动。
如果虚拟打印机也偶尔出问题,排查内容,和代码的其他部分。

最新版-
以管理员权限安装最新版,用最新版对比试试http://www.c-lodop.com/download.html
测试样例
测试下官网样例http://www.c-lodop.com/demolist/PrintSample2.html 是否有什么提示。

管理员权限-
用管理员权限安装最新版http://www.c-lodop.com/download.html,右键以管理员权限运行,再对比试试。
用管理员权限安装最新版对比试试http://www.c-lodop.com/download.html,以管理员权限运行。

其他测试-
访问下欢迎页面试试http://localhost:8000
访问下https的欢迎页面https://localhost:8443
访问下 http://localhost:8000/c_sysmessage 查看下c-lodop系统信息和出错信息

预览测试
需要用实际打印的打印机预览,打印机不同,预览效果可能也有差异。
因为打印机存在可打区域或不支持自定义的纸张的情况。

预览是打印机的反显,预览和实际打印存在差异,一般和打印机驱动有关。
如果位置预览和实际打印不同,是否是打印机挡板有问题,可用打印维护等针对打印机调整。
如果是样式有差异,则可能和打印机驱动有关,预览是打印的反显。

重启c-lodop-
双击桌面上的c-lodop快捷方式,重启一下本机的c-lodop,重启c-lodop后刷新页面,再测试下。

各种奇怪问题及排查步骤:
0.排查和内容还是页面有关
先用自己写的输出原内容,对比排查是否和内容有关,如果和内容无关。
在用自己的写的页面,输出简单内容,排查是否和页面其他部分有关。

1.是否和打印内容有关
偶尔出问题,刷新后正常:
因为这个问题是偶然出现的,而且刷新就正常了,所以给了内容的html也不一定能出现。
建议先通过简单例子对比排查,排查是否和打印内容有关。

例如做个只发add_print_text的简单例子,然后不断用这个例子试试。
如果这个例子也有这个问题,也是刷新后正常,那么就排除了打印内容的影响,就不用排查打印内容了。
如果这个例子没这个问题,那么很可能和内容有关,通过删减内容等,排查和哪些内容有关。

2.是否和自己写的页面其他部分有关
由于LODOP用于各种web系统,开发人员除了打印,页面会有很多东西,加了很多判断循环之类的,获取数据也有很多方法,数据传递,或判断中出现问题,也会导致一些问题。

根据提示等分类的简短问答:
1.偶尔提示‘WebSocket没准备好’,刷新下页面就正常了 ,无法复现问题。
参考http://www.c-lodop.com/faq/pp3.html 如果是页面点击后打印,把获取LODOP对象放在打印按钮里触发。参考样例2http://www.c-lodop.com/demolist/PrintSample2.html
如果是需要一进入页面就进行打印,不需要点击页面的按钮等触发,可参考链接里的处理方法,加延迟或等c-lodop加载完再调用。

根据链接处理了,偶尔还是出现这个提示。
http://www.c-lodop.com/faq/pp3.html
这里面的方法都是正常的,而且刷新就正常了,很可能和页面其他部分有关,可以做个简单例子对比,尽量能做出还原问题的简单例子。

就是等页面加载完成,WebSocket通讯服务准备完成,然后再调LODOP 。

刷新就正常了比较奇怪,是否是页面本身其他部分的影响。
弄个简单例子放上试试,排除其他页面其他部分的影响。
先用自己写的输出原内容,对比排查是否和内容有关,如果和内容无关。
在用自己的写的页面,输出简单内容,排查是否和页面其他部分有关。

简短问答:
漏打
用最新版对比试试http://www.c-lodop.com/download.html
参考样例4http://www.c-lodop.com/demolist/PrintSample4.html判断打印的返回值,设置如果漏打,重新打印该任务试试。

参考样例4 http://www.c-lodop.com/demolist/PrintSample4.html,判断下print的返回值。
调试JS,排查是否执行了足够次数的pirnt。
并查看版本,用最新版http://www.c-lodop.com/download.html

如果队列里任务也不正常,应该是漏任务了,调试JS,排查是否执行了八次pirnt,查看下pirnt的返回值是否正常。

如果队列里任务正常,用虚拟打印机测试下,队列和虚拟打印机个都正常,说明代码正常,进入队列后就开始排队了,打印机打印不出来,应该和打印机有关,重装打印机驱动试试。

漏打任务(偶尔无规律,无法复现)
1.用最新版http://www.c-lodop.com/download.html
2.参考样例4http://www.c-lodop.com/demolist/PrintSample4.html
直接判断print的返回值,判断是否加入了队列。
批量打印,参考样例26,尽量多分一些任务试试。

1.用最新版http://www.c-lodop.com/download.html
2,判断print的返回值,参考样例4.http://www.c-lodop.com/demolist/PrintSample4.html
返回值判断的是是否加入队列,如果已经加入了队列,就不是程序漏打了。
3.脱机测试打印,偶尔出现不好排查,最好能找到规律,查看队列是否正常。

漏打内容(偶尔无规律,虚拟打印机也有时候可以复现):
如果是批量打印超文本,中间漏打的是空白,可以加延迟等方式试试,尽量多分一些任务试试。
批量打印大量较大的图片,可以试试直接输出base64码方式,参考样例38,不要加img标签。
批量点大量的超文本和图片,可能会有影响。尽量用add_print_text纯文本等进行设计,这种是lodop直接输出的,不需要经过浏览器解析。

偶尔出现且无法还原不好排查,最好能找到规律。
如果是单个用户,是否是该用户电脑或系统等问题,最好在出问题的时候去用户电脑上排查下,找到和什么原因有关。

偶然发生打印同样内容多次
偶然发生不好排查,调试下JS,脱机查看下打印机队列,
用虚拟打印机多测试几次。

如果虚拟打印机多次测试都是正常的,真实打印机多次测试脱机后队列也正常,应该和打印机或打印机驱动有关,重装打印机驱动试试。

输出个超文本有进度条很慢
远程共享打印机 打印机驱动有问题 内容过多需要下载有脚步执行或本身网络慢
机器性能过低 系统ie有问题或缓存过多
可能会出现这种问题 。跟机器 网络 内容都相关。
尽量减少单个任务数据量 参考样例26 ,重置下ie, 用本机虚拟打印机测试对比
批量打印,分页分任务,在页数和任务之间平衡一下,参考样例26http://www.c-lodop.com/demolist/PrintSample26.html
删减内容排查下,也可能和内容有关,如果内容过多,可以多分一些任务试试。

输出个简单的超文本内容对比试试。
如果简单的超文本内容很快,可能和内部的什么样式或其他内容加载有关。

同一台电脑有时候能打印有时候不能,无反应(无法还原问题,开发人员测不出来,偶尔出现无规律)
打印不出来的时候,查看下打印机队列。是否进入了队列,打印机脱机等问题。
同一台电脑有时候可以打印,有时候不可以打印吗,打印出来的时候有什么现象。
打印不出来的时候,进入打印机队列查看下任务状况 。
参考样例4http://www.c-lodop.com/demolist/PrintSample4.html
判断下PRINT的返回值试试。
参考样例4,判断print的返回值试试,这个返回值是发送打印任务加入队列算成功。

调试下JS,排查是否执行了打印语句,打印的时候单据信息是否都已经获取到了。
用虚拟打印机测试下,做个简单的例子对比试试,如果能还原问题,发个例子来这边测试下。
用最新版对比试试http://www.c-lodop.com/download.html

偶尔出现且无法还原不好排查,最好能找到规律。
如果是单个用户,是否是该用户电脑或系统等问题,最好在出问题的时候去用户电脑上排查下,找到和什么原因有关。

偶尔出现且无法还原不好排查,最好能找到规律。
如果是单个用户,是否是该用户电脑或系统等问题,最好在出问题的时候去用户电脑上排查下,找到和什么原因有关。
因为你们的电脑测试是没有问题的,只有这个用户有问题,感觉应该和这个用户的什么设置有关,建议出问题的时候去用户那里排查下。

都是一台电脑一台打印机,用虚拟打印机测试下,也可能和打印机有关。
不好排查,因为只有那个用户有问题,这边应该也没法还原问题。
只能出问题的时候你们去排查下。
都是同一台电脑,有时候能打印,有时候不能打印,不好排查。
出问题的时候去那台电脑上测试下。
出问题的时候,去那台电脑上排查下,是否是电脑卡了之类的,浏览器不响应之类的,导致怎么点都不打印。
无法还原问题,这边也没法排查,而且是偶尔出现,只能出问题的时候去查看下是什么情况。

批量打印超文本中偶尔出现问题
批量打印,分页分任务,在页数和任务之间平衡一下,参考样例26http://www.c-lodop.com/demolist/PrintSample26.html
删减内容排查下,也可能和内容有关,如果内容过多,可以多分一些任务试试。

或者改成用add_print_text输出文本。
base64码直接输出图片,不加img标签方式,参考样例 38http://www.c-lodop.com/demolist/PrintSample38.html
这种不经过浏览器解析,批量打印效果好些。

批量打印超文本,可能受浏览器解析引擎的限制。
多分一些任务,或换用add_print_text+base64图片输出方式。

如果实在偶尔出现,不好复现:
安装带日志的版本用于测试,(该版本不是正式发布的版本,建议用于测试)排查下打印任务数量是否正常
http://demo.c-lodop.com:8000/c_update 下载这个版本:3.0.8.9 其中有日志功能,观察是否真的重新打印了:在端口设置界面的右键菜单里选择run logs
日志存在这个C:\Program Files (x86)\MountTaiSoftware\CLodop32\Logs目录下,最多7天
日志有对话REQUEST类和打印PRINTED类两类成功日志(暂无失败日志),
前者保存了请求目的、对方IP、对话协议、对话端口和对话时间;
后者保存了打印机名、打印标题、打印任务页数、打印份数、打印时间;

输出个超文本有进度条很慢
远程共享打印机 打印机驱动有问题 内容过多需要下载有脚步执行或本身网络慢
机器性能过低 系统ie有问题或缓存过多
可能会出现这种问题 。跟机器 网络 内容都相关。
尽量减少单个任务数据量 参考样例26 ,重置下ie, 用本机虚拟打印机测试对比
批量打印,分页分任务,在页数和任务之间平衡一下,参考样例26http://www.c-lodop.com/demolist/PrintSample26.html
删减内容排查下,也可能和内容有关,如果内容过多,可以多分一些任务试试。

输出个简单的超文本内容对比试试。
如果简单的超文本内容很快,可能和内部的什么样式或其他内容加载有关。

远程共享打印机 打印机驱动有问题 内容过多需要下载有脚步执行或本身网络慢
机器性能过低 系统ie有问题或缓存过多
可能会出现这种问题 。跟机器 网络 内容都相关。
尽量减少单个任务数据量 参考样例26 ,重置下ie, 用本机虚拟打印机测试对比
预览页数多可以多分一些任务,太多不建议预览,建议直接打印,在任务和页数之间平衡一下,参考样例26 http://www.c-lodop.com/demolist/PrintSample26.html

用有问题的电脑测试下官网样例http://www.c-lodop.com/demolist/PrintSample2.html
如果样例预览很快,可能和自己的内容有关。
删减内容排查下,如果内容过多,可以多分一些任务试试,减少每个任务的输出量。
参考样例26http://www.c-lodop.com/demolist/PrintSample26.html
如果样例也很慢,那就可能和电脑有关,清理电脑垃圾缓存,清理内存,清理浏览器缓存,重置浏览器试试。

再测试下样例4http://www.c-lodop.com/demolist/PrintSample4.html
这个是纯文本,如果这个样例也很慢,那么就应该和电脑有关了。

如果样例4的纯文本也很慢,再测试下样例7http://www.c-lodop.com/demolist/PrintSample7.html
选择虚拟打印机预览试试,排除打印机的影响。

也可能和网络有关,在一个本地样例里输出个add_print_text纯文本试试。
如果本地用虚拟打印机输出一个add_print_text纯文本也很慢,没什么好办法,清理电脑,或排查下电脑设置,还原系统等试试。或重启下电脑试试,关闭其他软件进程试试。
关闭其他软件进程试试,重启电脑后不开其他软件再测试试试。

两台电脑样式不同
查看lodop内部解析的html信息,见http://www.c-lodop.com/faq/pp8.html
分析差异点,因浏览器版本不同遵循的html标准不同,造成某些标签属性显示有差异,尽量避免使用有差异的属性,可以在ie下不同版本仿真情况下验证差异
和操作系统无关,先用虚拟打印机测试下,如果虚拟打印机两台电脑也有问题,和样式解析不同有关。
如果虚拟打印机两台电脑没问题,可能和打印机,纸张,可打区域影响了样式等有关。

 

转载于:https://www.cnblogs.com/huaxie/p/11248349.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值