如何控制针式打印机走纸

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:44:28
我做的一个打印票据的程序,用的链式进纸,每次打完数据后,打印机并不是立刻停止的,还继续会走一段,打印机设置的A4纸,那怕打几行,也是走完A4的纸再停。
我想实现,打完数据,立刻停止,请问如何实现,就类似于超市POS机那样,有多少数据打多少数据。
打印机是ESPON 590K 或LQ-1600k3也可以。
完美解决问题的,愿意奉献所有的积分,开贴送分。
VB或DELPHI都可以。
这些都是什么意思?怎么利用控制码打印表格和文字?
EPSON ESC/P控制码
只要在软件中选择EPSON ESC/P打印机,就可以使用高级字体和图形。
一般操作:
ESC @, ESC U, ESC EM
进纸:
FF, LF, ESC 0, ESC 2, ESC 3, ESC +, CR

页面格式:
ESC (C, ESC C, ESC C 0, ESC Q, ESC l, ESC (c, ESC N, ESC O

打印位置移动:

ESC $, ESC \, ESC (V, ESC (v, ESC D, HT, ESC B, VT, ESC J

字体选择:
ESC k, ESC x, ESC y, ESC X, ESC P, ESC M, ESC g, ESC p, ESC 4, ESC 5, ESC E, ESC F, ESC !

字体增强:
ESC W, DC4, SO, DC2, SI, ESC w, ESC G, ESC H, ESC T, ESC S, ESC -, ESC (-, ESC q

间距:
ESC Space, ESC c, ESC (U
字符处理:
ESC t, ESC ( t, ESC R, ESC %, ESC &, ESC :, ESC 6, ESC 7, ESC (^

位图:

ESC *
条形码:

ESC (B

1、把EPSON LQ-300K+II的驱动程序换成EPSON LQ-1600K。(EPSON LQ-300K+II的驱动是不支持走纸控制的,一定要换成EPSON LQ-1600K,EPSON LQ-1600K的驱动是XP自带的,只要在打印机安装里搜索一下就有它的驱动安装程序)。
2、打印机在单页纸设置时是不支持进走纸控制的。所以,必须使用连续纸进纸!且把打印机右边的“过纸控制杆”推在连续走纸的位置!
3、如果使用代码控制走纸请跳过本条直接看第4条。如果使用word 等软件打印的话,请继续看完本条。
开始——》设置——》打印机和传真——》窗口空白处右键单击——》服务器属性—》创建新格式——》纸张大小处请精确填写所须打印的纸张长宽——》确定——》确定
打印时,在所用软件的页面设置里对纸张进行设置。注意,不是打印设置
中的纸张设置!!是文件——》页面设置!!
因为该打印机是软件设置优先。对打印中的设置是驱动设置,会被页面设置中的软件设置覆盖掉!
4、如果使用代码控制,请参考下面代码:(VC++)
BOOL PrintChitty()//打印函数
{ HDC PrintDC;
DOCINFO docin;
docin.cbSize = sizeof(DOCINFO);
docin.lpszDocName = "TestDoc";
docin.lpszOutput = NULL;
CPrintDialog PrintDialog(TRUE,PD_ALLPAGES|PD_NOPAGENUMS,NULL);
// if(!PrintDialog.GetDefaults()) return FALSE; //如果不用打印设置对话框,使这一行有效
PRINTDLG *pPrintDlg = &PrintDialog.m_pd;
AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg);
DEVMODE* lpDevMode = (DEVMODE*)::GlobalLock(pPrintDlg->hDevMode);