printEscPosWin32 method
void
printEscPosWin32(
- List<int> data
)
Implementation
void printEscPosWin32(List<int> data) {
final hPrinter = calloc<HANDLE>();
final docInfo = calloc<DOC_INFO_1>();
final printerNamePtr = printerName.toNativeUtf16();
final docNamePtr = 'ESC/POS Print Job'.toNativeUtf16();
docInfo.ref.pDocName = docNamePtr;
docInfo.ref.pOutputFile = nullptr;
docInfo.ref.pDatatype = nullptr;
if (OpenPrinter(printerNamePtr, hPrinter, nullptr) != 0) {
final printerHandle = hPrinter.value;
if (StartDocPrinter(printerHandle, 1, docInfo.cast()) != 0) {
StartPagePrinter(printerHandle);
final buffer = Uint8List.fromList(data);
final bytesWritten = calloc<DWORD>();
WritePrinter(printerHandle, buffer.allocatePointer(), buffer.length, bytesWritten);
EndPagePrinter(printerHandle);
EndDocPrinter(printerHandle);
}
ClosePrinter(printerHandle);
}
calloc.free(printerNamePtr);
calloc.free(docNamePtr);
calloc.free(hPrinter);
calloc.free(docInfo);
}