如何直接对打印机编程实现打印,而无需安装打印驱动程序?

lauweiaaa 2004-03-26 12:34:02
邮箱
lauweiaaa@hotmail.com
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
VeryOldMan 2004-03-26
  • 打赏
  • 举报
回复
直接对端口写一些二进制串,且这些串恰好是打印机所能识别的控制命令,那么恭喜你!

如果操作系统不允许你直接写端口,或你写的串恰好打印机不认识,则:革命商未成功,同志请继续努力.....

konhon 2004-03-26
  • 打赏
  • 举报
回复
直接写打印端口。

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;
WWWWA 2004-03-26
  • 打赏
  • 举报
回复
如你的打印机有硬字库的话:
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);
aiirii 2004-03-26
  • 打赏
  • 举报
回复
打印机ESC控制字符的使用

以下纯属举例,我几年前做过Unix下的打印,知道过程应该是这样的,但举例用的换码序列一定是不确切的,需要用你从手册上查出来的来替代:
-----------------------
比方说,手册上说明:
^[1B 粗体
^[0B 正常字体
你想打印字符串:
I am a hero.
其中,“am”为粗体,其他部分为正常字体,在Delphi中代码是:
assignfile(f,'lpt1');//"把这个直接输出到操作系统的打印虚拟文件"

s := 'I ' + #27'1B' + 'am' + #27'0B' + ' a hero.';
writeln(f,s);

closefile(f);
lauweiaaa 2004-03-26
  • 打赏
  • 举报
回复
兄弟, 你这不跟没说一样嘛。。。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧