在win2000或xp下的打印走纸问题(100分)

  • 主题发起人 主题发起人 southbug
  • 开始时间 开始时间
S

southbug

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序在win2000或xp下,用LQ1600K,以链式走纸方式连续打印票据,
票据长度为10.80cm,但无论我通过代码自定义纸长(使用DEVMODE结构),
还是通过win2000或xp的打印服务器属性设置自定义纸长,实际上打印出来
的走纸长度都是10.60cm,总有2mm的误差,这是怎么回事?
 
Win2000是不支持自定义.
 
只要打印机支持自定义纸张,而且报表里面设置使用自定义纸张,就没有问题的
我一直这么用的,用report builder
-----
http://www.8421.org
 
也许跟页面边距有关。
 
Win2000不支持自定义
 
由于要打印的票据当字段值为0时要求不输出,字段值不为0的顶上一行,RB做不了,我只
好用printer.canvas.textout 来输出字段,LQ1600K是支持自定义纸长的,只是不知为什
么,我在 Win98 环境下打印输入正常,到了Win2000或XP环境下就出现了这个问题。我翻
看了这个话题的所有讨论,都解决不了,还请各位高手多多帮忙。
 
设置Printer的纸张大小。
 
可能是纸张大小设置的有问题,有很小的误差。
可以尝试用下面的方法设置:
链式纸两孔间是0.5英寸,数一数确定纸张大小。
 
直接对打印口进行操作,使用LQ1600K的打印命令,可以解决。
 
怎样对打印口直接对打印机端口直接进行操作?
能给我一段代码吗?
 
这问题我曾碰到过
你上EPSON的网站下载一个驱动程序就可以解决了
:)
祝你好运吧
 
你看看吧
http://www.epson.com.cn/download/drivers/option/download_wizard.asp
 
EPSON网站上有LQ1600K3以上型号的打印机驱动,但是它们的驱动程序与1600K是不同的,
而且直接使用LPT口进行打印控制打印机是用不到系统中的打印驱动程序,只要打印机的
打印命令与EPSON兼容就行了,如果要打印汉字,打印机必须带有字库才行。但是判断打
印机是否存在,就要使用WIN系统的判断。
下面是几行示范程序:
var f : textfile;
begin
assignfile(f,'lpt1');
Rewrite(f);
str:=chr(27)+'4';
Writeln(f, str);
end;
注:chr(27)+'4'是ESC 4:表示斜体打印。
具体的打印方式是请见EPSON的使用说明书
 
确实是这样
我的发票实际高度为9.3cm,而设定自定义纸张的高度应为9.5cm才能正确打印。
另外yanhawk,mlzhou:
Win2k也可支持自定义纸张的,而且更灵活
开始->设置->打印机->右键->打印服务器属性->添加自定义纸型
 
Hello all:
这个问题我已经初步解决,思路是这样的:
通过程序动态地改变纸长和打印的位置,在两个自设纸长之间轮流转换,从而达到连续
走纸打印都不走位,两个自定义纸长的值分别略大于或略小于实际纸长。我没采用ydsoftyyd
的建议,因为我不知道其它打印机还会不会有这种问题,我想我的解法通用性会好些吧。
在此感谢ydsoftyyd。
 
DJ你好!
我按照你的方法去做,点击属性后,无法"添加自定义纸型",你能不能说得更清楚一点.
谢谢!
yanhawk
 
>>yanhawk
开始->设置->打印机->右键->打印服务器属性->添加自定义纸型
^在空白区点右键-〉服务器属性-〉创建新格式-〉填写格式描述;定义大小、边界-〉保存格式
可能有的打印机不支持创建的新格式。
 
后退
顶部