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';
    }

person uokivan    schedule 03.01.2019    source источник


Ответы (1)


Проблема в том, что вы рисуете изображение без данных в нем, вы должны сначала заполнить src изображения, используя image.src = 'assets/imgs/Logo2.jpg';, а затем проверить, загружено ли изображение, используя image.onload(), и выполнить все, что вам нужно, например, распечатать изображение.

person Bellal Mohamed    schedule 18.02.2019
comment
Спасибо за этот фрагмент кода, который может предоставить некоторую ограниченную немедленную помощь. Надлежащее объяснение значительно повысило бы его долгосрочную ценность, показав, почему это хорошее решение проблемы, и сделало бы его более полезным для будущих читателей с другими подобными вопросами. Пожалуйста, отредактируйте свой ответ, чтобы добавить некоторые пояснения, включая сделанные вами предположения. - person Murray Foxcroft; 18.02.2019