我有大约500张链接格式的图片包含https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT_yOZbW3fwqkqaZiAmwcXTy8ia9hQkbAXKqf6sgLmWfooXUV6qMw图片。
因此,通过这种方式,我需要在base64中转换大约500个链接,并在动态生成的PDF中打印。
我已经完成了一些功能
function getBase64FromImageUrl(url) {
var img = new Image();
img.setAttribute('crossOrigin', 'anonymous');
img.onload = function () {
var canvas = document.createElement("canvas");
canvas.width =this.width;
canvas.height =this.height;
var ctx = canvas.getContext("2d");
ctx.drawImage(this, 0, 0);
var dataURL = canvas.toDataURL("image/png");
return dataURL
// alert(dataURL);
};
img.src = url;
}
我也试过
function toDataURL(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
callback(reader.result);
}
return reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.responseType = 'blob';
xhr.send();
}
但问题是我正在使用角度js,它是异步的,用于将图像转换为base64需要时间,我无法获得pdf中的那些。
对于PDF生成,我使用的是pdfmake。
所以,任何有助于将图像更快地转换为base64的帮助。
在为我提供解决方案之后,请帮助我,而不是将其标记为重复或拒绝投票。
我没有使用任何类型的画布或图像,这意味着与HTML无关,无法进行转换