M
mor
Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个票证打印的程序,是在win2000 + Delphi6 + QuickRep3.5下开发的。在2000下
一切正常。我用的页面设置的方法是常见的DEVMODE中dmPaperSize、dmPaperLength等设
置。在程序移植到NT下后打印无法成功,每打一张后都走很多纸。我读printer.PageHeight
的值发现差异很大,在2000下大概为500多,到nt下竟有1500多。然后我做了一些测试,发
现2000下dmPaperLength可以修改成功,但NT下无效。
于是我改用dmFormName来进行设置。我在打印机的服务器属性中设置了一个自定义页面,
然后在程序中设置成这个页面,在2000下仍然是成功的,但到了NT下页面设置也成功了,
但走纸仍然不正常,printer.PageHeight值也仍然和2000下不一致。
后来我把2000和NT下的纸张都设成A4,再去读printer.PageHeight发现在两个系统下是
不一样的。如下: 'INVOICE'是我自定义的纸张,数值是PageHeight*dmPaperWidth
2000 A4 2104*1488 INVOICE 1350*1035
NT A4 1944*1443 INVOICE 907*1440
然后,我又尝试设定dmPrintQuality和dmYResolution,仍旧是无效,也许我应该尝试设定
一下dmPelsWidth?这对打印机有效吗?
一切正常。我用的页面设置的方法是常见的DEVMODE中dmPaperSize、dmPaperLength等设
置。在程序移植到NT下后打印无法成功,每打一张后都走很多纸。我读printer.PageHeight
的值发现差异很大,在2000下大概为500多,到nt下竟有1500多。然后我做了一些测试,发
现2000下dmPaperLength可以修改成功,但NT下无效。
于是我改用dmFormName来进行设置。我在打印机的服务器属性中设置了一个自定义页面,
然后在程序中设置成这个页面,在2000下仍然是成功的,但到了NT下页面设置也成功了,
但走纸仍然不正常,printer.PageHeight值也仍然和2000下不一致。
后来我把2000和NT下的纸张都设成A4,再去读printer.PageHeight发现在两个系统下是
不一样的。如下: 'INVOICE'是我自定义的纸张,数值是PageHeight*dmPaperWidth
2000 A4 2104*1488 INVOICE 1350*1035
NT A4 1944*1443 INVOICE 907*1440
然后,我又尝试设定dmPrintQuality和dmYResolution,仍旧是无效,也许我应该尝试设定
一下dmPelsWidth?这对打印机有效吗?