如何使用 Flutter 和热敏蓝牙打印机打印图像
How to print images using Flutter and a Thermal Bluetooth Printer
我有一个“销售收据”屏幕,所以我需要使用蓝牙热敏打印机打印它,但是当我尝试打印图像时,我只收到一个“黑色”方块。
打印结果(图像只是一个没有背景的标志,所以我也尝试了不同的图片,但没有成功)
使用 blue_thermal_printer 包的代码(我尝试使用其他包,但结果相同)
printContent(BluetoothDevice device) async {
await connectToPrinter(device);
final imageBytes = await imagePathToUint8List('assets/images/logo_ps.png');
await bluetooth.printImageBytes(imageBytes);
await bluetooth.paperCut();
await disconnectToPrinter();
}
Future<Uint8List> imagePathToUint8List(String path) async {
//converting to Uint8List to pass to printer
ByteData data = await rootBundle.load(path);
Uint8List imageBytes =
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
return imageBytes;
}
拜托,有人可以告诉我我做错了什么吗?
我的错误是使用“无背景”的 png 使用热敏打印机进行打印。当我使用带有 白色背景 的图像时,它起作用了。
我有一个“销售收据”屏幕,所以我需要使用蓝牙热敏打印机打印它,但是当我尝试打印图像时,我只收到一个“黑色”方块。
打印结果(图像只是一个没有背景的标志,所以我也尝试了不同的图片,但没有成功)
使用 blue_thermal_printer 包的代码(我尝试使用其他包,但结果相同)
printContent(BluetoothDevice device) async {
await connectToPrinter(device);
final imageBytes = await imagePathToUint8List('assets/images/logo_ps.png');
await bluetooth.printImageBytes(imageBytes);
await bluetooth.paperCut();
await disconnectToPrinter();
}
Future<Uint8List> imagePathToUint8List(String path) async {
//converting to Uint8List to pass to printer
ByteData data = await rootBundle.load(path);
Uint8List imageBytes =
data.buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
return imageBytes;
}
拜托,有人可以告诉我我做错了什么吗?
我的错误是使用“无背景”的 png 使用热敏打印机进行打印。当我使用带有 白色背景 的图像时,它起作用了。