【问题标题】:PDF to Base64 on Ionic 3 app for Android and iOS platforms适用于 Android 和 iOS 平台的 Ionic 3 应用程序上的 PDF 到 Base64
【发布时间】:2019-05-12 06:24:07
【问题描述】:

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

【问题讨论】:

  • 我已经在一个应用程序中使用 Base64 Ionic 原生插件 3 个月了,它运行良好。我用它来编码最多 4Mo 的二进制文件。在 Debug 或 Release 版本中从来没有任何问题,即使这个插件被标记为 beta :)
  • 能否介绍一下iOS平台的使用体验? @saperlipopette
  • Sep 7, 2017之后没有更新,iOS平台也有很多问题。请分享您使用 ios 和此插件的经验。 @saperlipopette github.com/hazemhagrass/phonegap-base64/…
  • 该应用在 iOS 和 Android 商店中,我从未收到任何崩溃/错误报告。每天大约有 100/150 名用户使用这个应用程序,base64 功能做得很好
  • 确实刚刚看到在 git 上报告了 iOS 的问题。但即使在 iOS 12 上,该插件似乎也适用于我

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


【解决方案1】:

有一个很棒的本机插件。那是Native File plugin。它工作得非常好。

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

【讨论】:

  • 请分享您用来实现此目的的完整单元代码或方法。
【解决方案2】:

注意:以下代码适用于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)

【讨论】:

  • 这对我没有帮助,因为我是 Ionic 开发人员。不是本机应用程序开发人员。但希望原生应用开发者能从这个答案中受益。
猜你喜欢
  • 2015-11-17
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-31
  • 2018-01-12
相关资源
最近更新 更多