LODOP不同打印机出现偏移问题

方法简单描述:
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连续打印内容逐渐偏移怎么办

 

posted @ 2019-03-29 15:04  花谢悦神  阅读(5312)  评论(0编辑  收藏  举报