百思不得其解:关于打印(100分)

  • 主题发起人 主题发起人 xgydelphi
  • 开始时间 开始时间
X

xgydelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
用quick report做的打印程序,纸张大小是以程序中report的纸张设置
为准呢,还是以 windows中打印机的默认纸张为准。还有,打印的横向,
纵向是以哪个为准?莫名其妙,请指点迷津!
 
可将windows的纸张设置成自定义(如3445*2794),然后quickrep中设置成所
需要的格式.
 
自己设为准
 
纸张大小是以程序中report的纸张设置为准。如果你的打印机纸张与你的设置不符,则打印就不会按你的要求做,最好用WINDOWS API动态根据打印机设置纸张大,我这有一段程序,或许对你有帮助:
两个办法: 1, Escape( printer.handle, GETPHYSPAGESIZE, 0, nil, @physsize );可取得纸张的实际尺寸(点数,与打印机分辨率有关,把它转为
以Twips为单位就是实际尺寸)
2. pixelsperinchx := GetDeviceCaps( printer.handle, LOGPIXELSX );
Longint(printer.pagewidth) * 1440) div pixelsperinchx
可得到打印机可打印的范围尺寸(已转为Twips)。
用DocumentProperties这个api取得指定打印机的信息,里面包括打印纸张型号,页长页宽等


 
打出来看看就知道哪个准了~_^
 
接受答案了.
 
后退
顶部