我正在尝试使用JavaScript从二进制文件生成PDF。
这是我的代码:
downloadPDF(response) {
var binaryData = [];
binaryData.push(response);
var file = window.URL.createObjectURL(new Blob(binaryData, {type: "application/pdf"}))
var a = document.createElement("a");
a.href = file;
a.download = "detailPDF";
document.body.appendChild(a);
a.click();
window.onfocus = function () {
document.body.removeChild(a)
}
}
问题在于PDF始终为空。我知道该二进制文件是有效的,因为我能够以其他方式使用此二进制文件生成有效的PDF。
有什么想法吗?
Here is the binary being passed in
更新:
以下是由我的代码(左)和工作的PDF(右)生成的PDF中二进制差异的片段。大多数文件是相同的,除了一些字符外,例如我的代码有:
x��Y�k�0
工作PDF所在的位置
xœíYÝkÛ0
那么也许是将我的字符串转换为二进制数组的工具?