我在尝试使用cordova打开用jspdf生成的PDF文件blob时遇到问题。我发现Android上有很多“安全”措施,这使得从保存的文件中打开非常困难,对我来说更多的是因为我是跨平台应用程序的新手,所以我需要找到一种方法来打开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插件。
发布于 2017-12-06 22:28:26
试试这个,对我很管用:
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 windowhttps://stackoverflow.com/questions/39542458
复制相似问题