使用pdfmake在默认应用中打开pdf

时间:2017-06-03 22:14:08

标签: cordova-plugins ionic3 pdfmake

我能够在我的离子应用程序中创建pdf,如果我在Chrome中运行应用程序,它就会完美打开。但是,如果我在Android设备上安装我的应用程序,它不会打开。以下是我的代码。如果我必须做一些额外的事情在设备上打开它,有人可以帮助我。我想在设备上使用默认的pdf应用程序打开它。

pdfMake.createPdf(dd).open();

1 个答案:

答案 0 :(得分:2)

确定。在我的头撞墙3天之后,我终于找到了解决方案并在这里分享,以便其他面临这个问题的人可以得到帮助。我正在创建pdf并使用cordova文件插件保存它。成功保存后,我使用cordova文件打开器插件在默认应用程序中打开它。以下是我的代码。

pdfMake.createPdf(YOUR_DEFINITION_HERE).getBlob(buffer => {
  this.file.resolveDirectoryUrl(this.file.externalRootDirectory)
   .then(dirEntry => {
      this.file.getFile(dirEntry, 'test1.pdf', { create: true })
        .then(fileEntry => {
          fileEntry.createWriter(writer => {
            writer.onwrite = () => {
              this.fileOpener.open(fileEntry.toURL(), 'application/pdf')
                .then(res => { })
                .catch(err => {
                  const alert = this.alertCtrl.create({ message: 
err.message, buttons: ['Ok'] });
                  alert.present();
                });
            }
            writer.write(buffer);
          })
        })
        .catch(err => {
          const alert = this.alertCtrl.create({ message: err, buttons: ['Ok'] });
          alert.present();
        });
    })
    .catch(err => {
      const alert = this.alertCtrl.create({ message: err, buttons: ['Ok'] 
});
      alert.present();
    });
});