实现后端返回pdf的纯base64字符串(没有任何格式的base64字符串)使用iframe打印内容。
将base64字符串转换成byte
function convertDataURIToBinary(base64data) { //编码转换
var raw = window.atob(base64data);//这个方法在ie内核下无法正常解析。
var rawLength = raw.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for (i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i) & 0xff;
}
return array;
}
生成Blob对象
function basetoBlob(base64data){
var u8arr = convertDataURIToBinary(base64data);
var mine = "application/pdf";//固定为pdf格式
return new Blob([u8arr], {type: mime});
}
使用js方法将Blob对象生成一个网址路径
var src = URL.createObjectURL(blob);
最后以iframe显示该路径下的文件,实现打印逻辑就行了。