代码之家  ›  专栏  ›  技术社区  ›  Sampath

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

  •  0
  • Sampath  · 技术社区  · 6 年前

    我用 Scan bot Cordova plugin 生成 pdf 使用 png . 但我的API要求以 base64 编码的。在离子本机上只有一个插件。即 base64 . 但它仍然是beta版本,似乎它有一个 lot of issues on iOS devices . 所以关于如何在离子型应用程序中将PDF转换成base64的任何线索,它在两个平台上都可以正常工作。即 Android ioS . 你在这方面的经验真的有助于我提出建议。

    2 回复  |  直到 6 年前
        1
  •  0
  •   Sandeep Ahuja    6 年前

    注:以下代码适用于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(选项:.linelength64个字符)

        2
  •  0
  •   Sampath    6 年前

    有一个很好的本地插件。那就是 Native File plugin 它工作得很好。

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