如何打开(而不是保存)使用Cordova for Android生成的jspdf生成的blob?

时间:2016-09-17 03:00:45

标签: android cordova intel-xdk jspdf

我在尝试使用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插件。

1 个答案:

答案 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