龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

如何获取打印机参数

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
1、打印机的分辨率(象素/英寸) X方向分辨率=GetDeviceCaps(Printer->Handle,LOGPIXELSX); Y方向分辨率=GetDeviceCaps(Printer->Handle,LOGPIXELSY); 2、打印纸的大小(以象素为单位) 通过Printer的PageWidt

  1、打印机的分辨率(象素/英寸)

  

  

X方向分辨率=GetDeviceCaps(Printer->Handle,LOGPIXELSX);

  

  

Y方向分辨率=GetDeviceCaps(Printer->Handle,LOGPIXELSY);

  

  

  

  

2、打印纸的大小(以象素为单位)

  

  

通过Printer的PageWidth和PageHeight属性可得到可打印范围的象素数

  

  

物理象素数用以下API得到:

  

  

宽=GetDeviceCaps(Printer->Handle,PHYSICALWIDTH)

  

  

高=GetDeviceCaps(Printer->Handle,PHYSICALHEIGHT)

  

  

物理象素数总是比可打印范围的象素数要大一些(去掉页边距等)。

  

  

  

  

3、打印纸的实际大小(以英寸为单位)

  

  

打印纸的实际大小=物理象素数/分辨率;

  

  

纸的宽度=(double)(GetDeviceCaps(Printer->Handle,PHYSICALWIDTH)/

  

  

GetDeviceCaps(Printer->Handle,LOGPIXELSX));

  

  

纸的高度=(double)(GetDeviceCaps(Printer->Handle,PHYSICALHEIGHT)/

  

  

GetDeviceCaps(Printer->Handle,LOGPIXELSY));

  

  

注:1 inch=2.54 cm

  

精彩图集

赞助商链接