我在尝试使用cordova打开使用jspdf生成的PDF文件blob时遇到问题。我发现Android上有很多“安全”措施,从保存的文件中打开起来非常困难,对我来说更多,因为我是跨平台应用程序的noob,所以我需要找到一种方法来打开blob而不用节省。
我试过但是控制台告诉我:“无法在'URL'上执行'createObjectURL':找不到与提供的签名匹配的功能。”
这是我生成pdf blob的函数:
function createPDF(){
console.log("generating pdf...");
var doc = new jsPDF();
doc.text(20, 20, 'Document title');
doc.setFont("courier");
doc.setFontType("normal");
doc.text(20, 30, 'test first line');
doc.text(20, 50, 'test second line');
var blobPDF = doc.output();
var blobUrl = URL.createObjectURL(blobPDF); <--- THE ERROR APPEARS HERE
window.open(blobUrl,'_system','location=yes');
}
我需要的是打开文件,以便Android为我提供可选的应用程序(Adobe阅读器等)。
如何让此代码适用于Android?我尝试了很多例子,但总是存在某种问题。
以防我使用英特尔XDK(版本3522)并且我包含了文件,文件传输,InAppBrowser,FileOpener2插件。
答案 0 :(得分:0)
试试这个,对我有用:
var blobPDF = new Blob([ doc.output() ], { type : 'application/pdf'});
var blobUrl = URL.createObjectURL(blobPDF); //<--- THE ERROR APPEARS HERE
window.open(blobUrl); // will open a new tab
//window.open(blobUrl,'_system','location=yes'); will open a new window