1. 程式人生 > >LODOP不同打印機出現偏移問題

LODOP不同打印機出現偏移問題

ref str 打印控件 打印機故障 方法 正常 而且 col ini

方法簡單描述:
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不同打印機出現偏移問題