如何控制針式打印機走紙,寫楽走怎麼走紙
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()->(pPrintDlg);
DEVMODE* lpDevMode = (DEVMODE*)::GlobalLock(pPrintDlg->hDevMode);
::GlobalUnlock(pPrintDlg->hDevMode);
lpDevMode->dmFields |= -1;//設定為自定義紙張尺寸, 如果用其他預定義的紙張尺寸,把這一行去掉,用下一行
//lpDevMode->dmPaperSize = DMPAPER_A5; //設定為 A5 紙
lpDevMode->dmPaperLength = 300;//設定紙長為3 釐米
lpDevMode->dmPaperWidth = 300;//設定紙寬為5 釐米
if(PrintDialog.DoModal()!=IDOK) returnFALSE;//顯示打印設置對話框(不顯示把這一行去掉)
PrintDC = PrintDialog.CreatePrinterDC();// 返回一個打印DC句柄
StartDoc(PrintDC,&docin);// 啟動打印工作
StartPage(PrintDC); // 一頁開始
TextOut(PrintDC,10,10,"打印內容",8);//打印內容
EndPage(PrintDC); // 一頁結束
EndDoc(PrintDC);// 終止打印工作
if(DeleteDC(PrintDC))returnTRUE;// 刪除打印機DC
else{ ::MessageBox("出錯"); returnFALSE; }}
5、點擊確定!走紙範圍被控制在設定的紙張範圍內了。