Cordova App - 从扩展文件打开PDF并转换为Base64字符串

时间:2017-02-23 17:17:34

标签: android cordova pdf

我有一个cordova应用程序正在运行,我有一个扩展文件,托管了很多pdf文档。我希望能够从该扩展文件中打开一个pdf文件,并将整个文件转换为基本的64字符串,以便从我的应用程序中打印该pdf。我正在尝试使用这个cordova插件:https://github.com/sarahgoldman/cordova-print-pdf-plugin这很棒,但没有解释如何实际创建base 64字符串。

我试图使用

var files = new File([""], "filename.pdf",{type:'application/pdf'});
  console.log(files);
  if (files.length > 0) {
    getBase64(files[0]);
  }
});

function getBase64(file) {
   var reader = new FileReader();
   reader.readAsDataURL(file);
   reader.onload = function () {
   console.log(reader.result);
   };
  reader.onerror = function (error) {
  console.log('Error: ', error);
  };

}

其中filename.pdf存储在我的扩展文件中,但我没有从代码中获得正确的响应。

任何帮助将不胜感激。 谢谢,

1 个答案:

答案 0 :(得分:0)

你真的在一个问两个问题。

Cordova中的扩展文件

要获取扩展文件的内容,我建议使用此cordova插件: https://github.com/agamemnus/cordova-plugin-xapkreader/tree/cordova-6.5.0 它有助于访问扩展文件中的文件,因此您可以执行以下操作:

<img src="content://com.test.expansion/myfile.png">

关键是按照安装说明进行操作,因为这个插件比我安装的大多数其他插件需要更多的工作。

Javascript中的Base64编码

查看 btoa() atob()函数。它们将文本转换为base64编码。 将PDF内容提供给该函数并将其交给pdf插件。