c++ - LPT POS printer alternate feed -


i have ancient pos printer axhiohm a470 link. windows 7 64bit doesn't detect printer , drivers don't exist. way print (text mode only) send print job directly lpt. after digging found it's pretty easy. thing have correctly create file lpt1 , write it.

#include <iostream> #include <conio.h> #include <windows.h>  int main(int argc, char* argv[]) {     handle hcomm = createfilea("lpt1", generic_read | generic_write,                        0, 0, open_existing, file_attribute_normal, 0);      if (hcomm == invalid_handle_value)         return 1;      char str[] = { "   hello printer\n" };      dword byteswritten;     unsigned char data;      bool nerror = writefile(hcomm, str, sizeof(str), &byteswritten, null);      if (nerror)         std::cout << "data sent" << std::endl;     else         std::cout << "failed write data " << getlasterror() << std::endl;      _getch(); } 

now take 1 step further , send print job second feeder. first 1 roll of paper inside printer (prints receipt). 1 prints code above. second 1 slit used put in receipt. don't know how send print job there.

as found out not programming problem printer control problem. accomplish form validation on axiohm a470 receipt/form validation printer, have send appropriate escape sequences. link website described how validate form printing on pos slip , receipt validation printer . also, if don't have useful drivers printer , it's connected lpt/com port there's easier way send print job printer in code above. don't have install windows generic/text drivers. how send line feed printer:

file * pfile; char buffer[] = { (char)0x0a }; pfile = fopen ("c:\\test.txt", "wb"); fwrite (buffer , sizeof(char), sizeof(buffer), pfile); fclose (pfile); system("copy c:\\test.txt lpt1"); 

you can bypass creating , copying file lpt1 , open lpt1 file directly.


Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -