作者:f永远喜爱捉迷藏 | 来源:互联网 | 2023-02-12 10:21
我尝试从本地数据生成pdf.我在ArrayBuffer()和Uint8Array对象上遇到了问题.解决方案是添加我在互联网上找到的js实现.现在这行有一个错误:EWeb控制台(21
我尝试从本地数据生成pdf.
我在ArrayBuffer()和Uint8Array对象上遇到了问题.解决方案是添加我在互联网上找到的js实现.
现在这行有一个错误:
E / Web控制台(21515):未捕获的TypeError:文件:///android_asset/www/libs/jspdf.js:973上的非法构造函数
这是一行:
blob =新的Blob([array],{type:“ application / pdf”});
我添加了BlobBuilder.js和Blob.js(就像jspdf示例中一样).
总的来说,用jspdf可以做到吗? (我发现jspdf有很多问题)
我怎么解决这个问题?
我该怎么做才能在浏览器,Android和iOS上生成PDF.
感谢您的帮助,祝您有美好的一天:-)
解决方法:
try
{
blob = new Blob([data], {type: "application/pdf"});
console.debug("case 1");
}
catch (e)
{
window.BlobBuilder = window.BlobBuilder ||
window.WebKitBlobBuilder ||
window.MozBlobBuilder ||
window.MSBlobBuilder;
if (e.name == 'TypeError' && window.BlobBuilder)
{
var bb = new BlobBuilder();
bb.append(data);
blob = bb.getBlob("application/pdf");
console.debug("case 2");
}
else if (e.name == "InvalidStateError")
{
// InvalidStateError (tested on FF13 WinXP)
blob = new Blob([array], {type: "application/pdf"});
console.debug("case 3");
}
else
{
// We're screwed, blob constructor unsupported entirely
console.debug("Errore");
}
}