回 帖 发 新 帖 刷新版面

主题: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

回复列表 (共4个回复)

沙发


RIVER=winspool
DEVICE=Epson LQ-1600K
OUTPUT=LPT1:
ORIENTATION=0
PAPERSIZE=149(将数值设置为自定义纸张的代码149)
ASCII=166
COPIES=1
DEFAULTSOURCE=15
PRINTQUALITY=180
COLOR=1
YRESOLUTION=180
TTOPTION=1
COLLATE=0

板凳

说得不错,东西不贴出来

3 楼


EXCEL系列工具软件
吉祥软件:申志平
QQ:394921525
一、数据导入系统
EXCEL系列工具软件-数据导入主要用于以EXCEL格式的数据管理。适应政府,事业,企业的人力资源,劳资,社保等管理数据的单位和个人。可以某单元为匹配将一个EXCEL数据(源)成批导入另一个EXCEL数据文件中(目标),也可以用于同一个EXCEL表中的SheetN里数据向SheetN里传递数据,实现子表向母表,母表向子表的数据传递,汇总,实现自动报表的作用。两个EXCEL表和SheetN里数据可以不是同一排序和同样记录数,通过识别相同点,如:可以姓名或身份证号做为匹配(共同点)导入两个EXCEL数据,可以找出两表之间的差异。本软件使用简便,实用高效。
二、身份证成批信息处理系统
身份证成批信息处理系统,可以查找错误和重复身份证,可以将15位身份证转换为18位、删除空格等,可以将出生年月、年龄、性别、地址成批提取出来。

4 楼


人寿财险保单管理系统
管理人寿财险保单管理,可按天、周、月统计数据。
QQ394921525

我来回复

您尚未登录,请登录后再回复。点此登录或注册