저는 tryna에서 jsPDF 라이브러리를 사용하고 있습니다. 로드하고 이미지를 삽입하고 PDF 파일을 내보내려고합니다.jsPDF 및 이미지 로딩
제 문제는 이미지로드에 관한 것입니다. 나는이 일을하고있다 : var imageData = getBase64Image('thinking-monkey.jpg');
그리고 내가 imageData
안으로 base64의 dataURL을 얻어야한다.
function getBase64Image(url) {
var img = new Image();
var dataURL;
img.src = url;
img.onload = function() {
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
dataURL = canvas.toDataURL('image/jpeg');
}
return dataURL;
}
을하지만 이미지가 65 이하 같다 한번에로드하지 않기 때문에 그것은 '정의되지 않은'반환 :
내 getBase64Image()
기능은 다음을 수행합니다. 따라서 return dataURL;
일 때 변수는 여전히 정의되지 않습니다.
앞에 setTimeout()
을 추가하려고했으나 작동하지 않는 것 같습니다.
dataURL을 반환하기 위해 이미지가 완전히로드 될 때까지 어떻게 기다릴 수 있습니까?
감사합니다.