适用于Android和iOS平台的Ionic 3应用程序上的PDF至Base64

时间:2018-12-11 09:33:33

标签: ios ionic-framework ionic3 cordova-plugins ionic-native

我使用Scan bot Cordova plugin通过pdf生成png。但是我的API需要以base64编码的形式发送数据。 Ionic本机上只有1个用于此的插件。即base64。但它仍处于测试阶段,并且似乎具有lot of issues on iOS devices。因此,有关如何在Ionic应用程序上将pdf转换为base64的任何线索,在两种平台上均应能正常工作。即AndroidioS。您对这个主题的经验确实可以帮助我提供建议。

2 个答案:

答案 0 :(得分:0)

注意:以下代码适用于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(选项:.lineLength64Characters)

答案 1 :(得分:0)

有一个很棒的本地插件。就是Native File plugin。效果很好。

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