Android 和 iOS 平台的 Ionic 3 应用程序上的 PDF 到 Base64

PDF to Base64 on Ionic 3 app for Android and iOS platforms

我用Scan bot Cordova plugin to generate pdf using png. But my API requires to send data as base64 encoded. There is only 1 plugin for this on Ionic native. i.e base64. But it still in beta and seems it has a lot of issues on iOS devices。所以关于如何在 Ionic 应用程序上将 pdf 转换为 base64 的任何线索,它应该在两个平台上都能正常工作。即 AndroidioS。你关于这个主题的经验确实帮助我提供了建议。

注意:以下代码适用于 iOS 平台。

  1. 从图像生成 pdf 数据:
func generatePdfData(_ images:[UIImage])->Data? {
    let data = NSMutableData()

    UIGraphicsBeginPDFContextToData(data, CGRect.zero, nil)

    for image in images {
        UIGraphicsBeginPDFPageWithInfo(CGRect(x: 0,y: 0,width: image.size.width,height: image.size.height), nil)
        image.draw(in: CGRect(x: 0, y: 0, width: image.size.width, height: image.size.height))
    }
    UIGraphicsEndPDFContext()
    return data as Data
}
  1. 将数据转换成base64字符串

data.base64EncodedString(options: .lineLength64Characters)

有一个很棒的本机插件。那就是Native File plugin。它真的很好用。

 let base64String = await this.file.readAsDataURL(pdfFilePath, pdfFilename);