如何与打印机直接交互?采用直通方式的打印!(100分)

  • 主题发起人 主题发起人 only you
  • 开始时间 开始时间
O

only you

Unregistered / Unconfirmed
GUEST, unregistred user!
一台针式打印机!现在想直接控制它的走纸和打印定位!手边有其命令格式!可是不知道
如何将命令直接发给打印机!有资料说用ExcapeE函数!可是我用了后一点效果也没有!
诸位有何高见?
 
直接发码就是了,以前PASCAL就可以write(Lst, xxxx);的
ExcapeE函数?没听说过,莫不是ESC换档指令吧,很多针式机指令字里面都有ESC。
 
是啊!怎么使用它提供的指令呢?
 
为什么不使用Windows的虚拟打印机呢,直接打印的问题很多,小心点
 
Try the sample code below here, u can also adding the printer control code
in the string.
procedure TForm1.Button1Click(Sender: TObject);
var
F:TEXTFILE;
begin
ASSIGNFILE(F,'LPT1');
REWRITE(F);
WRITELN(F,'TEST1 FIRST LINE');
WRITELN(F,'TEST2 SECOND LINE');
CLOSEFILE(F);
end;
end.
 
同意sqlman,不会反向走纸吧!
 
我需要的是如何控制打印机脱机、联机、换页、定位、字符大小、自定义字符、
等等!而不是简单的写几个字符串!否则这个问题能值100分吗?类似银行
系统中对针打的控制!
 
For the common priter Epson LQ-1600k, chr(12) is move to next page,
chr(27)+'@' is initial the printer and clear the printer buffers.
procedure TForm1.Button1Click(Sender: TObject);
var
F:TEXTFILE;
begin
ASSIGNFILE(F,'LPT1');
REWRITE(F);
WRITELN(F,chr(27)+'@');
//initial the printer
WRITELN(F,'TEST1 FIRST LINE');
WRITELN(F,chr(12));
// move the paper to a new page
CLOSEFILE(F);
end;
 
很多打印机都有其特殊打印控制符,用来控制打印机脱机、联机、换页、定位、字符大小、自定义字符、
等,在这些特殊符后面加上控制参数就可以了。具体如何使用要参考具体打印机的说明。
 
用api向打印机输出打印机控制码
 
犯了一个可笑的错误,本以为要直接写LPT端口了!谢谢sqlman,你的答案是正确的!
是我把问题想复杂化了。
 
好,又学了新知识了。
 
后退
顶部