方法简单描述:
1.精确套打,设置以纸张边缘为基点,可避免不同可打区域不同带了的影响。
2.不同客户端打印机位置差异,可通过打印维护调整,结果在客户端本地。
或调整打印机初始位置
(本人使用的金税盘的开票软件,还有以前在用友售后实习的时候见过的用友软件的打印,都有提供调整整体偏移的地方,因此开发打印,需要把打印维护开放给客户端调整,以便适用不同的打印机和客户端。)
3.开发代码里,PRINT_INITA的前两个参数要为0,如果需要整体偏移,要在客户端那里调整。
4.累计偏移,尽量让设置的纸张与实际纸张一致,实在无法做到,可输出一定数量,手动调整。

方法简述:
1、打印机可打印区域的影响,可以设置纸张边缘基点输出
2.打印机挡板不在初始位置,或打印机初始位置有偏移
(1).调整打印机挡板,打印机初始位置,
(2).用打印维护进行本地调整,
3.原始代码不在初始位置,PRINT_INITA的前两个参数应为0,0是打印机的初始位置
4.累计偏移,尽量与实际纸张一致,手动调整

详细解释:

1.不同的打印机打印位置略有偏移:
该问题属于打印机可打印区域的影响,可以设置纸张边缘基点输出;
一般软件没有可打区域,但是打印也都是在可打区域内的,lodop用了显示可打区域,是为了精确套打,设置以纸张边缘为基点,就可以以可打区域为基点造成的不同打印机位置偏移不同问题。
关于可打区域,可查看参考本博客相关博文:LODOOP中的各种边距 打印项、整体偏移、可打区域、内部边距LODOP中预览界面查看打印机的可打区域具体值

关于如何以纸张边缘为基点,可参考查看本博客相关博文:Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点

2.不同客户端的不同打印机位置有偏移
表现为有的客户正常不偏移,有的偏移,客户端不同,链接的打印机不同,挡板位置不同,或打印机初始位置不同,由于打印机千差万别,不可能有程序可以完全符合所有类型的打印机,这种情况,可开放打印维护给客户端进行微调,调整结果可保持在客户端本地。
如果是内容整体偏移,可用PIRNT_INITA的前两个参数进行调整,在打印维护里是纸钉,拖动纸钉,相当于把内容进行了整体移动。
套打的难点在于位置对准,如果你同一个页面程序要应付不同的打印机,完全可以将打印维护功能授权给操作者,打印维护中按钮“应用”结果保存在操作者自己的电脑上,保存时与“打印任务名”相对应,这样任何打印机都可以适应同一个页面程序了。
如何使用打印维护,可查看本博客相关博文:Lodop打印维护PRINT_SETUP本地缓存ini文件

其他相关:Lodop打印设计、维护、预览、直接打印简单介绍LODOP暂存、应用、复原 按钮的区别

此外,有的打印机可能不支持自定义纸张,或打印机可打区域有问题非常小,以及打印机故障,如果打印机不支持自定义纸张,自定义无法生效,会走默认纸张,默认纸张和定义的纸张存在较大差异,也会造成偏差很大,这种是打印机的限制。

(1)打印机挡板不在初始位置,或打印机初始位置有偏移,这种情况,也可以直接调整打印机的挡板或初始位置,可查看相关打印机的说明书或咨询打印机的客服,本人用税务局的金税盘打发票,金税盘也提供了类似打印维护的向上,向下偏移调整的数值,而且本人也配合挡板位置的移动。
可见,直接调整打印机,或开发打印维护给客户应该是普通软件都会有的,很早的时候在用友售后的时候,打印的时候,也有针对客户端在本机调整偏移值。
个人遇到过的两个软件,用友财务软件和金税盘的开票软件,都有调整偏移值的地方,可见由于打印机千差万别,不同打印机都会偏移,这不是只有lodop才出现的问题。
(2).用打印维护时,注意不同模版不同任务要取不同的任务名,否则任务名相同会有影响,此外,某个客户端偏移严重,可能是该客户用了打印维护进行了大量调整,并保存了,可以进入打印设计恢复整体缺省,或置空任务名等方式。
置空任务名就相当于禁用了打印维护的功能,空任务名无法调整后保存到本地。

3.只有自己无偏移,其他客户端都偏移了。
很可能是PRINT_INITA的前两个参数不为0,0,0是打印机的初始位置,自己的打印机不在初始位置,进行了整体偏移,还把整体偏移写到了代码里。
需要把这两个参数设置为0,大多数客户打印机应该是在初始位置的,如果位置有问题,在该客户端本地调整,参考2的打印维护,结果只对该客户端有效。
(开发的源码里要设置为0,0,不要在源代码里进行整体偏移)

4.累计偏移,大量批量打印的时候,偏移逐渐增大。
这种是实际纸张与设置的纸张之间存在差异导致的,尽量让实际纸张与设置的纸张一致。
批量连续打印时,可以测量多张纸,取平均值,这样测量可能准确一点。
由于实际与设置的差异,即使差异一点,大量打印后这点差异也会越来越大。

或者代码里不设置纸张,直接走打印机的默认纸张,把需要的纸张设置为默认纸张,这个打印机自带的是英寸,避免了代码和打印机单位之间的转换导致差异。
相关详细博文:Lodop连续打印内容逐渐偏移怎么办

LODOP不同打印机出现偏移问题的更多相关文章

  1. Lodop连续打印内容逐渐偏移怎么办

    Lodop打印控件中,可以使用打印机自带的纸张名称,也可以自定义纸张.(SET_PRINT_PAGESIZE语句).通常进行打印开发,为了避免浪费纸张,会用虚拟打印机效果作为依据,虚拟打印机连续打印多 ...

  2. LODOP获取打印机状态码和状态码含义测试

    由于打印机千差万别,打印机执行的标准也不一样,LODOP获取的打印状态码也可能不同,安装了个打印机驱动实际测试一下,测试的打印机驱动是Brother Color Type3 Class Driver. ...

  3. LODOP设置打印机不存在不打印

    LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点. 打印机优先级简介 ...

  4. LODOP纸张/打印机/份数/打印方向/双面打印 简短问答

    纸张#如何设置纸张纸张设置,参考样例5 http://www.c-lodop.com/demolist/PrintSample5.html纸张的一些优先级 http://www.c-lodop.com ...

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

    1.位置不同,偏移问题.详细的相关偏移问题的博文:LODOP不同打印机出现偏移问题 2.样式问题. 本机浏览器解析样式不同 ,相关超文本样式博文:Lodop打印控件传入css样式.看是否传入正确样式 ...

  6. [简短问答]LODOP套打问题及相关

    该博文为简短问答,具体详细介绍可查看本博客的相关博文,套打及位置相关详细博文:LODOP中的各种宽高和位置简短问答.LODOP不同打印机出现偏移问题.Lodop打印控件打印机可打区域的影响 设置纸张边 ...

  7. LODOP打印维护适应不同的客户端

    之前的博文:Lodop打印设计.维护.预览.直接打印简单介绍,介绍了打印设计.打印维护.打印预览,直接打印等的区别和使用. 如上面以前博文描述的,打印维护是针对客户端进行调整的,开放打印维护给客户端, ...

  8. LODOP打印项水平居中

    LODOP控制打印项水平居中,可以用如下语句,该语句控制的是打印项本身在纸张中水平居中.LODOP.SET_PRINT_STYLEA(0,"Horient",2);这个根据大的打印 ...

  9. LODOP设置纸张无效问题

    有的打印机不支持自定义纸张,或不支持当前设置的纸张尺寸,会造成纸张尺寸和代码里设置的尺寸不一致的情况.现象:1.代码一样,纸张语句设置正确,有的打印机纸张正常,有的打印机不正常.2.代码一样,纸张语句 ...

随机推荐

  1. Java 重建二叉树 根据前序中序重建二叉树

    题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2, ...

  2. 高效使用VSCode的9点建议

    在开源 IDE 市场,最近几年 Visual Studio Code(简称 VSCode)越来越流行.自从 2015 年对外发布后,根据 2018 年 Stack Overflow 的调查报告,有 3 ...

  3. vue动画及其原理

    1,vue动画的实现原理,主要是通过在不同时期给需要动画的dom元素加上css动画样式 我们以显示和隐藏动画为例 a, 需要动画的dom元素 b,点击时vue控制往vue中加的样式 2,  我们以两张 ...

  4. JavaScript知识点 思维导图

    javascript变量 javascript数据类型 javascript运算符 javascript流程语句 javascript数组 javascript字符串函数 javascript函数基础 ...

  5. tarjan系列算法代码小结

    个人使用,可能不是很详细 强联通分量 这里的dfn可以写成low 因为都是在栈中,只要保证该节点的low值不为本身即可 void tarjan(int now) { dfn[now]=low[now] ...

  6. Python爬取地图瓦片

    由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下: 因为地图瓦片就是按照层级.行.列规则组织的一张张 ...

  7. arcgis api 3.x for js 入门开发系列十一地图统计图(附源码下载)

    前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ...

  8. (最完美)小米平板3的USB调试模式在哪里开启的流程

    经常我们使用安卓手机链上电脑的时候,或者使用的有些应用软件比如我们公司营销小组经常使用的应用软件引号精灵,之前的老版本就需要开启usb调试模式下使用,现经常新版本不需要了,如果手机没有开启usb调试模 ...

  9. CentOS 7下使用Gitolite搭建Git私服

    1. 搭建环境 CentOS7, git version 1.8.3.1 2. 安装依赖包 yum install curl-devel expat-devel gettext-devel opens ...

  10. 数据库之redis篇(1)—— redis数据库安装,简单使用

    简介 reids,由Salvatore Sanfilippo写的一个高性能的key-value数据库,并且它是非关系型数据库,也就是没有像mysql那样多表链接操作,并且它是是完全开源免费的,遵守BS ...