如何控制打印机进退纸 (200分)(200分)

  • 主题发起人 Qiuliang
  • 开始时间
Q

Qiuliang

Unregistered / Unconfirmed
GUEST, unregistred user!
在我的程序中需要套打发票,由于发票纸是连续纸,为了便于撕纸,我想在每次打印完成
之后控制打印机进部分纸,继续打印时再将进出的部分纸退回原位。请各位富翁赐教,不胜
感激!
 
要看你用什么打印机,有的根本不提供这指令。
查打印机附带的使用手册。
 
调用机的控制码就行了。
Assignfile(p,'LPT1');
rewrite(p);
write(p,ss1);

ss1中加入要大的内容和控制码。
 
VAR
var lpt:TextFile;
begin
AssignFile(lpt, 'LPT1' );
ReWrite(lpt );
Writeln(lpt, '打印测试' );
write(lpt,#13#10);
//Write( lpt, #12 );
//打印机换页
//这里可以改成打印机的控制进退纸的命令.
CloseFile( lpt );
end;
 
往打印机送命令容易,可怎样得知控制打印机退纸的命令?有些打印机只提供了进纸的
命令,退纸的命令却根本没有。比如说Epson LQ300K 吧,谁知道怎样让它往后走纸,
我送上300分。
 
小菜:
//比如说Epson LQ300K 吧,谁知道怎样让它往后走纸,我送上300分。
lq300k可通过对打印机的设置进行自动退纸的。
好像是"切纸自动归位", 设置在说明书的2-27页。
最后:
一定可以的。

 
不需要在程序中设置,只需设置打印机(自动切纸)
 
我花了近一年的时间在考虑着这个问题,后来无意解决了。
原理还是调用epson esc?命令实现了在ucdos下打印纸的退纸程序,
可用于epson300k以及panasonic lx1121打印机。
我想在windows原理也是一样的。请参考打印机的随机手册。
如还有问题,我可以给你dos源码!
 
孤独的鱼,请把代码给我,如果能行,我给300分。
我的email: rain_163@163.net
 
给你详细方案:
分两个方面解决此问题:
一、(硬件)打印机设置:(针对LQ300K/670K)
1. 安装好打印纸。按住‘字体’按钮,打开打印机电源,即可
打印出当前打印机的设置状态,并有如何改变当前设置的方法。
请将‘自动切纸’ ENABLE=TRUE !!!
2.安装发票纸(连续纸)
A.调整其装入位置(打印机会记忆该位置);
B.调整其切纸位置(打印机会记忆该位置)。
二、(软件)设置:(长度最关键)
1.在WINDOWS打印机属性中设置为自定义纸张(大于或等于发票纸张大小)。
2.在你自己的发票打印程序中设置好打印纸的大小(发票的实际尺寸)。
(技巧:量10或20张发票-连续纸,然后算出单张发票的长度,以0.01英寸计)
并使其TOP=0,BOTTOM=0
三、试调打印位置:
1、微调打印纸装入位置,以确保套打的上下位置正确。
2、调整打印纸的位置,以确保套打的左右位置正确。
3、微调打印机的切纸位置,以确保一张发票打印完后,能方便撕纸。
效果:打印的数据100%定位在发票框中,每张发票打印完后,
打印机自动切纸(纸前进),撕下发票;计算机打印下张发票时,打印机
自动切纸(后退),并打印;如此循环......
注:我使用QUICKREP设计的发票套打程序,已在我为自来水公司设计的‘水费收缴系统’
中使用,其结果毋庸质疑!!!
祝你好运!!!
 
zhangxh说的对,利用打印机的自动切纸功能,现在的打印机大多都带这个功能,在设置手册里有介绍,
但是都有一个默认时间,一般是3秒钟,即打印完一页后如果在3秒内没有输出,打印机自动移动到切纸
位置,这是如果按切纸钮或还有打印任务,打印机自动退纸到开始位置,如果觉得慢,可以在最后输出
打印结束标志,这时打印机立即移动到切纸位置。
 
我们这里都是epson1600k和LQ1900k的打印机,可以吗?
 
多人接受答案了。
 
zhangxh先生,能否请你说一下第二步中
>> 2.在你自己的发票打印程序中设置好打印纸的大小(发票的实际尺寸)。
怎么做?
能否可以把你程序中发票打印部分的例子发一份给我.
billru@163.net
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
2K
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部