我正在尝试在 Ionic 5 应用程序中使用 Cordova Plugin Datecs Printer 来打印从服务器接收到的图像。这是我使用的功能:
onPrintImage(img: string, height: number, width: number) {
return new Promise((resolve, reject) => {
var image = new Image();
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.height = height / 2;
canvas.width = width / 2;
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
var imageData = canvas.toDataURL('image/jpeg').replace(/^data:image\/(png|jpg|jpeg);base64,/, "");
window.DatecsPrinter.printImage(imageData, canvas.width, canvas.height, 0, function(success) {resolve(success)}, function(error) {reject(error)});
}
image.src = 'data:image/png;base64,' + img;
})
}
它在大多数打印机上都能正常工作,除了我刚买的一台新的 Honeywell MPD31D。在这一点上,结果如下所示:
我知道这不是打印机的问题,因为我可以从其他通用蓝牙打印应用程序打印图像,所以很可能是插件的问题。有什么想法可以解决这个问题吗?