GetDeviceCaps(Printer.Handle,LOGPIXELSX);获得水平方向每英寸多少个点
GetDeviceCaps(Printer.Handle,LOGPIXELSY) 获得竖直方向每英寸多少个点
像我的的打印机hp
GetDeviceCaps(Printer.Handle,LOGPIXELSX);=600
GetDeviceCaps(Printer.Handle,LOGPIXELSY);=600
A4纸的尺寸是210x297毫米 ,
1英寸=25.4毫米,
经过换算 210/25.4*600 大于等于4961
297/25.4*600 大于等于7016
A4转成成点4961*7016
这个和
GetDeviceCaps(printer.Handle,PHYSICALWIDTH)
GetDeviceCaps(printer.Handle,PHYSICALHEIGHT)
是一致的
但是打印的时候有两边是有边距不能打印的
GetDeviceCaps(printer.Handle,PHYSICALOFFSETX)=88
GetDeviceCaps(printer.Handle,PHYSICALOFFSETY)=84
实际A纸的可打印的点式 4784*6848
和
GetDeviceCaps(printer.Handle,HORZRES) 这个就是Printer.PageWidth
GetDeviceCaps(printer.Handle,VERTRES) 这个就是Printer.PageHeight
相等
你可以直接用Printer.PageWidth 和 Printer.PageHeight
直接计算打印机可以尺寸的比例
1744

被折叠的 条评论
为什么被折叠?



