主题:XP自定义纸默认打印问题的解决方法
XP自定义纸默认打印问题的解决方法
申志平
一, 问题的引出
许多计算机管理软件用户在打印的时候打印的纸张不是打印机原有的标准纸张,而需要自定义大小尺寸的纸张。如收费用的收据纸都是自定义的纸张,在WINDOWS98系统里很好处理,因为WINDOWS98系统里的纸张除既有的标准纸张外,只有一个可自定义的纸张,它的代号是256,如果用户使用自定义的纸张,在WINDOWS98系统将自定义的纸张规格的大小设成程序设计的纸张相一致,并设为默认纸张就可以在打印票据时不需要选择纸张就可直接默认打印,这对打印频繁的用户来说是十分方便的。
但是操作系统升级到了Windows 2000和XP或后却遇到了问题。在Windows 2000和XP设置了自定义纸张规格,并设为默认纸张,但打印时却不是默认纸张,需要频繁地在打印机属性里找到自定义的纸张才能正常打印。即使是在Windows 2000和XP系统里开发的程序到了另一台相同的Windows 2000和XP系统里打印,同样不能默认自定义纸张。
二, 问题的原因
因为 98.me 只有一个自订纸张,在程序里代号为 256,因程序只认代号不认纸张名称,而 2000.xp自定义纸张却不止一个,代号也是无法自行更改,所以即使同为 2000.xp 系列,但也是无法代号相同,因此当在 98.me 设定的纸张,或不同台的 2000.xp 设定的纸张,到另一台 2000.xp 时便找不到此代号的纸张,系统便自动指向预设打印机或同名打印机的第一个代号的纸张,此时使用者每次欲打印自定义纸张的票据,便得选择打印机和纸张,这是个很严重的问题。
三、解决问题的方法
引起问题的原因找到了,如何解决呢?方法可能有多种,笔者通过对各种方法在不同系统的电脑中的反复研究实验,发现最好的方法是能将系统默认纸张的代码找出,然后把程序设计时的自定义纸张代码修改为和系统默认纸张代码一样。这样一来,就有两个问题需要解决。一是将在系统里设置的默认自定义纸张的代码找出来,比如软件设计的自定义纸张规格为1900x950,在XP系统里自定义一个1900x950的纸张规格,并取名”票据纸”,并设为默认纸张,但这个纸张的代码是看不到的,必须让他显示出代码才可以修改软件里的代码和系统里的一样。二是根据系统设置的默认自定义纸张的代码,把软件里的默认纸张的代码修改成和系统设置的代码一样 。解决这两个问题就可以完全控制打印时的默认自定义纸张。
具体方法,编写一个小程序,用函数取出系统里设置的自定义纸张代码,然后再打开软件里的打印参数的记录信息,把纸张代码PAPERSIZE=XXX改写成系统设置的代码。
QQ:394921525
申志平
一, 问题的引出
许多计算机管理软件用户在打印的时候打印的纸张不是打印机原有的标准纸张,而需要自定义大小尺寸的纸张。如收费用的收据纸都是自定义的纸张,在WINDOWS98系统里很好处理,因为WINDOWS98系统里的纸张除既有的标准纸张外,只有一个可自定义的纸张,它的代号是256,如果用户使用自定义的纸张,在WINDOWS98系统将自定义的纸张规格的大小设成程序设计的纸张相一致,并设为默认纸张就可以在打印票据时不需要选择纸张就可直接默认打印,这对打印频繁的用户来说是十分方便的。
但是操作系统升级到了Windows 2000和XP或后却遇到了问题。在Windows 2000和XP设置了自定义纸张规格,并设为默认纸张,但打印时却不是默认纸张,需要频繁地在打印机属性里找到自定义的纸张才能正常打印。即使是在Windows 2000和XP系统里开发的程序到了另一台相同的Windows 2000和XP系统里打印,同样不能默认自定义纸张。
二, 问题的原因
因为 98.me 只有一个自订纸张,在程序里代号为 256,因程序只认代号不认纸张名称,而 2000.xp自定义纸张却不止一个,代号也是无法自行更改,所以即使同为 2000.xp 系列,但也是无法代号相同,因此当在 98.me 设定的纸张,或不同台的 2000.xp 设定的纸张,到另一台 2000.xp 时便找不到此代号的纸张,系统便自动指向预设打印机或同名打印机的第一个代号的纸张,此时使用者每次欲打印自定义纸张的票据,便得选择打印机和纸张,这是个很严重的问题。
三、解决问题的方法
引起问题的原因找到了,如何解决呢?方法可能有多种,笔者通过对各种方法在不同系统的电脑中的反复研究实验,发现最好的方法是能将系统默认纸张的代码找出,然后把程序设计时的自定义纸张代码修改为和系统默认纸张代码一样。这样一来,就有两个问题需要解决。一是将在系统里设置的默认自定义纸张的代码找出来,比如软件设计的自定义纸张规格为1900x950,在XP系统里自定义一个1900x950的纸张规格,并取名”票据纸”,并设为默认纸张,但这个纸张的代码是看不到的,必须让他显示出代码才可以修改软件里的代码和系统里的一样。二是根据系统设置的默认自定义纸张的代码,把软件里的默认纸张的代码修改成和系统设置的代码一样 。解决这两个问题就可以完全控制打印时的默认自定义纸张。
具体方法,编写一个小程序,用函数取出系统里设置的自定义纸张代码,然后再打开软件里的打印参数的记录信息,把纸张代码PAPERSIZE=XXX改写成系统设置的代码。
QQ:394921525