How can I make a PDF file using base64 string ? Swift(如何使用 base64 字符串制作 PDF 文件?迅速)
问题描述
我正在寻找一种在我的项目目录中保存 PDF 文件的方法,我已经从 Web 服务收到了一个 base 64 pdf 字符串.我是否必须将其转换为 NSData 或类似的东西?
I'm looking for a way to save a PDF file on my project directory, I've received a base 64 pdf string from a Web Service yet. Do I have to convert it to NSData or something like that?
我是 Swift 编码的新手,但我可以按照您的指示进行操作.
I'm new at coding in Swift but I can follow your instructions.
我希望你能帮助我.谢谢
I hope you can help me. Thanks
推荐答案
是的,你必须将其转换为Data,然后将其保存到设备上的文档目录中.像这样的功能会起作用:
Yes, you have to convert it to Data and then save it to the documents directory on the device. A function like this would work:
func saveBase64StringToPDF(_ base64String: String) {
    guard
        var documentsURL = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last,
        let convertedData = Data(base64Encoded: base64String)
        else {
        //handle error when getting documents URL
        return
    }
    //name your file however you prefer
    documentsURL.appendPathComponent("yourFileName.pdf")
    do {
        try convertedData.write(to: documentsURL)
    } catch {
        //handle write error here
    }
    //if you want to get a quick output of where your 
    //file was saved from the simulator on your machine
    //just print the documentsURL and go there in Finder
    print(documentsURL)
}
                        这篇关于如何使用 base64 字符串制作 PDF 文件?迅速的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用 base64 字符串制作 PDF 文件?迅速
				
        
 
            
        - 用 Swift 实现 UITextFieldDelegate 2022-01-01
 - 如何检查发送到 Android 应用程序的 Firebase 消息的传递状态? 2022-01-01
 - android 4中的android RadioButton问题 2022-01-01
 - 在测试浓缩咖啡时,Android设备不会在屏幕上启动活动 2022-01-01
 - 使用自定义动画时在 iOS9 上忽略 edgesForExtendedLayout 2022-01-01
 - Android - 我如何找出用户有多少未读电子邮件? 2022-01-01
 - MalformedJsonException:在第1行第1列路径中使用JsonReader.setLenient(True)接受格式错误的JSON 2022-01-01
 - Android viewpager检测滑动超出范围 2022-01-01
 - Android - 拆分 Drawable 2022-01-01
 - 想使用ViewPager,无法识别android.support.*? 2022-01-01
 
				
				
				
				