LODOP不同电脑打印效果不同排查

1.位置不同,偏移问题。
详细的相关偏移问题的博文:
LODOP不同打印机出现偏移问题

2.样式问题。

本机浏览器解析样式不同 ,相关超文本样式博文:
Lodop打印控件传入css样式、看是否传入正确样式

LODOP超文本简短问答和相关内容

3.缩放问题。
某个客户端打印出现缩放,相关博文:
Lodop某个电脑打印内容大小有问题

4..排查步骤和简短问答:
排查步骤,相关博文:
Lodop简短问答客户反馈篇 及排查步骤 及注册相关

简短问答:
测试排查:
先用xps或pdf虚拟打印机测试一下试试。
在有问题的机器上先用xps或pdf虚拟打印机测试一下,查看下虚拟打印机的输出效果。

用虚拟打印机测试,可排查是代码或电脑等问题,还是和打印机或打印机设置有关。
如果在该有问题的机器上,用虚拟打印机测试,虚拟打印机输出的文件正常,说明和打印机或打印机设置有关。

虚拟打印机:
只要虚拟打印机没问题 就说明插件代码是正确的。用虚拟打印测试没问题 可排除插件代码问题 排查下打印机重置打印机驱动试下。理论上虚拟打印没问题的话,程序可做的努力就的确很少了,毕竟windows下的打印是微软倡导的设备无关系原则。

纸张和可打区域
纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html
用xps或pdf虚拟打印机测试一下(测试可用样例5),如果虚拟打印机输出的是正确的纸张,真实打印机不是,可能是打印机不支持该自定义纸张。
选择该真实打印机,在打印预览下方状态栏查看一下纸张大小,有的打印机不支持该自定义纸张。

“可打区域”边缘与打印机本身有关,表现在预览里是虚线,可打区域的影响
http://www.c-lodop.com/faq/pp26.html
预览查看下是否有纸张和可打区域导致的。

用真实打印机在打印预览下方状态栏查看一下纸张大小,查看下纸张是否是设置的纸张,有的打印机不支持该自定义纸张。
小票打印 ,参考样例18 http://www.c-lodop.com/demolist/PrintSample18.html
(小票针式打印 建议用 ADD_PRINT_TEXT文本,不用htm超文本,纸张高度不定容易引起 htm 中排版变形)

偏移
打印位置不同,偏移量问题,参考http://www.c-lodop.com/faq/pp17.html
如果是累计偏移,尽量做到实际纸张与设置的纸张一致。
纸张设置和预览微小差异,换算误差引起的。在打印机内部都是按英寸的,mm换算成in,然后in再换算回来就不一定是原来的mm,可以不设置自定义纸张,如果需要的纸张打印机纸张列表里有,直接用打印机的纸张试试,按打印机本身的纸张走纸。
测量多个纸张,取平均值试试。

超文本:
Lodop是基于本机windows底层引擎进行渲染解析的,与ie调用的引擎一致。
查看lodop内部解析的html信息,见http://www.c-lodop.com/faq/pp8.html
分析差异点,因浏览器版本不同遵循的html标准不同,造成某些标签属性显示有差异,尽量避免使用有差异的属性,可以在ie下不同版本仿真情况下验证差异
排查样式,尽量使用使用各浏览器无歧义的通用的 html css js,不支持的样式可尝试用其他样式代替。
可尝试把ADD_PRINT_HTM 换成 ADD_PRINT_HTML(图形模式)试试,ADD_PRINT_HTML不如ADD_PRINT_HTM清晰,适合高精度的打印机,两者各有优势。

1.加载css样式,参考样例10 http://www.c-lodop.com/demolist/PrintSample10.html
2.css样式等尽量使用pt等绝对单位,不使用px等相对单位,避免分辨率的影响
3.系统和浏览器不要设置缩放,例如 控制板面-显示里设置缩放。
4.查看lodop内部解析的html信息,见http://www.c-lodop.com/faq/pp8.html
因浏览器版本不同遵循的html标准不同,造成某些标签属性显示有差异,尽量避免使用有差异的属性。
5.使用各浏览器无歧义的通用的 html css js,
Lodop是基于windows底层引擎,与本机ie引擎一致,进行解析渲染的,不要用本机ie不支持的html css js ,重置ie浏览器试试。
6.可尝试把ADD_PRINT_HTM 换成 ADD_PRINT_HTML(图形模式)试试。
7.用xps或pdf虚拟打印机测试一下,和真实打印机对比。
8.尽量使用最新版Lodop和c-lodop。最新版下载地址 http://www.c-lodop.com/download.html
9.是否是浏览器缓存问题,重置ie浏览器试试,清楚缓存。
10.页面,图片,js等超文本是否没有加载完全,显示空白或者图片缺失等问题,加延迟试试:
LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",1000)//设置上一项延迟超文本下载1000毫秒
是否没有加载完全,给该超文本打印项加延迟试试:
LODOP.SET_PRINT_STYLEA(0,"HtmWaitMilSecs",1000)//设置上一项延迟超文本下载1000毫秒

查看lodop内部解析的html信息,见http://www.c-lodop.com/faq/pp8.html
进入打印设计,选中该超文本打印项,右键,设置属性里查看实际传入的内容,复制到ie里查看下效果。
删减排查下样式,排查是哪些或哪个样式引起的,http://www.c-lodop.com/faq/pp8.html

清晰度
是否用的ADD_PRINT_HTML语句,换用ADD_PRINT_HTM超文本的普通模式 试试,ADD_PRINT_HTM超文本的普通模式,输出的是解析后的超文本。
用xps或pdf虚拟打印机测试一下。

如何输出清晰图片 参考http://www.c-lodop.com/faq/pp14.html
并用xps或pdf虚拟打印机测试

排查描述:
用虚拟打印机测试(xps或pdf虚拟打印机) win7以上系统可能自带xps虚拟打印机,或网上下载pdf虚拟打印机
虚拟打印机正常
(和打印机有关)
1.打印机不支持该自定义纸张
切换真实和虚拟打印机,
查看预览下方状态栏的pagesize纸张大小是否是设置的纸张。
查看预览中是否有虚线,虚线是打印机的可打区域。
打印机不支持透明图打印,打印机不支持非黑白的浅色打印。
打印机不在初始位置,挡板不在初始位置(真实打印机偏移)
打印机缺墨,打印机精度不够,打印机驱动有问题,打印机故障。

调整打印机设置,或打印机本身不支持一些功能,重装打印机驱动。

虚拟打印机也不正常
(和代码或电脑等有关)
在代码里设置了整体偏移。
打印超文本,客户端解析的浏览器版本不同,样式差异。
操作系统显示等设置了缩放,导致内容缩放。
打印超文本,客户端ie引擎问题。
打印维护缓存的ini文件对客户端本地的影响。

图示:

原文地址:https://www.cnblogs.com/huaxie/p/10688455.html