it works now. the network (samba) printer must be installed using "Generic - text-only" driver. in my example, i named it "EpsonLX". in my application i wrote: DocInfo.pDocName = "whatever"; DocInfo.pOutputFile = NULL; DocInfo.pDataType = "RAW"; OpenPrinter( "EpsonLX", &handle, NULL ); StartDocPrinter( handle, 1, &DocInfo ); StartPagePrinter( handle ); WritePrinter( handle, buffer, buffersize ); EndPagePrinter( handle ); EndDocPrinter( handle ); ClosePrinter( handle ); still not as fast as windows (needs 15 - 20 seconds to print, while in windows only took 2 - 3 seconds to print), but it works.