zoukankan      html  css  js  c++  java
  • 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文件对客户端本地的影响。

    图示:

  • 相关阅读:
    Python标准库:内置函数dict(**kwarg)
    如何把 excel 的数据导入到数据库里面去
    正在载入数据中效果
    站点公司亚马逊砸了10亿也没能做成智能手机,技术是须要沉淀和积累的
    零积分下载,2014年辛星mysql教程秋季版第一本已经完工,期待您的支持
    【C语言】在两个数成对出现的数组中找到一个单独的数。
    3.跟我学solr---使用solrj加入索引
    使用CAShapeLayer的path属性与UIBezierPath画出扫描框
    UI设计四要素
    swift 工作日志
  • 原文地址:https://www.cnblogs.com/huaxie/p/10688455.html
Copyright © 2011-2022 走看看