ionic3 - cordova-plugin-datecs-printer 无法打印图像
问题描述
我使用ionic3制作移动应用程序,并安装cordova-plugin-datecs-printer
当我使用示例代码打印图像时,无法打印图像
这是我的代码:
function printMyImage() {
var image = new Image();
image.onload = function() {
var canvas = document.createElement('canvas');
canvas.height = 50;
canvas.width = 50;
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0);
var imageData = canvas.toDataURL('image/jpeg').replace(/^data:image\/(png|jpg|jpeg);base64,/, ""); //remove mimetype
window.DatecsPrinter.printImage(
imageData, //base64
canvas.width,
canvas.height,
1,
function() {
printMyBarcode();
},
function(Error) {
alert(JSON.stringify(Error));
}
)
};
image.src = 'assets/imgs/Logo2.jpg';
}
解决方案
您的问题是您正在绘制一个没有数据的图像,您必须先使用填充图像的 src,
image.src = 'assets/imgs/Logo2.jpg';
然后检查图像是否已加载
image.onload()
并执行您需要的任何操作,例如打印图像
推荐阅读
- thymeleaf - 从 thymeleaf 模板中的表格提交单元格数据
- reactjs - 如何使用 JavaScript SDK 或 React Native Firebase 有条件地向 Firestore 查询添加条件?
- regex - 提取括号之间的所有字符
- python - 如何按字符串属性对对象列表进行排序并使用“键”参数?
- swift - 有没有办法在移动的 SKSpriteNode 上添加淡入淡出的轨迹或描边?
- python - 有没有办法在导入的文件进入循环之前对其进行排序?
- node.js - MERN 堆栈 - 连接 - 404 - NGINX
- reactjs - Vercel 上的部署过程 - 与 CMS 相关的错误
- arrays - 将带有数组的对象转换为带有数组的数组 - *ngfor 用法
- java - RabbitMQ,标头交换,未由标头路由的消息 x-match = all