Uncaught TypeError: не удается прочитать свойство «внедрить» неопределенного при использовании пользовательского изображения в механизме pdfMake pdf

Я пытаюсь загрузить некоторые отчеты в свое приложение в формате pdf, используя движок pdfMake pdf, и добавляю изображение логотипа jpg так как,

var logoImg = 'sampleImage.jpg';
var logoImage = "http://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg";
if (logoImage) {
     var img = new Image();
     img.setAttribute('crossOrigin', 'anonymous');
     img.src = logoImage;
     var canvas = document.createElement("canvas");
     canvas.width = img.width;
     canvas.height = img.width;
     var ctx = canvas.getContext("2d");
     ctx.drawImage(img, 0, 0);
     logoImg = canvas.toDataURL("image/png");
 }

который указан в этой скрипке. Но когда я использую собственное изображение, оно выдает ошибку Uncaught TypeError: Cannot read property 'embed' of undefined при первом нажатии кнопки загрузки (проверьте консоль). Когда еще раз запущу оду, то pdf скачается корректно. Итак, как я могу решить ошибку Uncaught TypeError?

Изменить: это будет работать правильно, если я укажу URL-адрес изображения напрямую, как указано в эта скрипка. Но я хочу динамически передавать dataurl на основе ссылки на изображение, как указано в первой скрипке выше.


person mpsbhat    schedule 16.01.2015    source источник


Ответы (1)


Я мог бы устранить ошибку «Uncaught TypeError: невозможно прочитать свойство 'embed' of undefined», предоставив изображение в формате Base64.

Я нашел решение здесь.

Дополнительные сведения о PDFMake и изображениях см. в документации.

person IvanJijon    schedule 12.11.2015