浏览器上有一个程序(在asp.net mvc中)连接到扫描仪,扫描文档并将其显示为图像。 enter image description here
图片的源代码如下:
data:application/octet-stream;base64,Qk0m2wEAAAAAAD4AAAAoAAAAOAMAAJEEAAABA//////////////////////wAGA/wAYMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAg13xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/
现在,我想将所有图像转换为一个pdf文件并将其附加到文件上传中。
能帮我吗?
答案 0 :(得分:1)
请使用以下代码通过客户端JavaScript将Base64转换为PDF。将base64数据传递给函数base64ToArrayBuffer
function base64toPDF(data) {
var bufferArray = base64ToArrayBuffer(data);
var blobStore = new Blob([bufferArray], { type: "application/pdf" });
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blobStore);
return;
}
var data = window.URL.createObjectURL(blobStore);
var link = document.createElement('a');
document.body.appendChild(link);
link.href = data;
link.download = "file.pdf";
link.click();
window.URL.revokeObjectURL(data);
link.remove();
}
function base64ToArrayBuffer(data) {
var bString = window.atob(data);
var bLength = bString.length;
var bytes = new Uint8Array(bLength);
for (var i = 0; i < bLength; i++) {
var ascii = bString.charCodeAt(i);
bytes[i] = ascii;
}
return bytes;
};
答案 1 :(得分:0)
您需要某种JavaScript PDF库来执行此操作。
例如jsPDF有一个addImage()
方法(https://rawgit.com/MrRio/jsPDF/master/docs/module-addImage.html),该方法接受base64字符串作为输入