如何使用离子电容器预览 Base64 PDF

sap*_*tte 5 ionic-framework capacitor

我正在尝试从电容器应用程序打开并预览 PDF。

这是我的代码:

const { Browser } = Plugins;
let base64Pdf = "";
var contentType = "application/pdf";
var dataBlob = this.b64toBlob(base64Pdf, contentType);
await Browser.open({ url: URL.createObjectURL(dataBlob) }).then(() => {
    console.log("PDF OK");
}).catch(err => {
    console.log(err);
})
Run Code Online (Sandbox Code Playgroud)

这在 Web 上运行良好,但在 iOS 上不起作用。我收到一条错误消息,指出该 URL 无效。我也尝试使用

window.open(URL.createObjectURL(dataBlob), '_blank');
Run Code Online (Sandbox Code Playgroud)

window.open(URL.createObjectURL(dataBlob), '_system');
Run Code Online (Sandbox Code Playgroud)

但这些都不起作用。我没有得到任何错误输出。

当使用 self 时,PDF 可以很好地打开,但由于它是在 webview 中打开的,因此没有更多的控制,用户被卡住了:

window.open(URL.createObjectURL(dataBlob), '_system');
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

预先感谢您的任何帮助