如何在Swift中阅读pdf文件



我正在以JSON的形式从web服务器获取数据,其中包括几个字段。它还有一个名为fileContent的参数,它包含原始值的字符串,这些字符串需要编码并保存为pdf文件。我尝试过使用许多编码,但没有一个能转换成精确的文件。下面是我的代码和JSON响应。

do {
let json = try JSONSerialization.jsonObject(with: response!, options: .allowFragments) as! [String: Any]
if let sample = json["fileContent"] as? String {
do {
// get the documents folder url
if let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
// create the destination url for the text file to be saved
let fileURL = documentDirectory.appendingPathComponent("file.xlsx")
print(fileURL)
// define the string/text to be saved
// writing to disk
// Note: if you set atomically to true it will overwrite the file if it exists without a warning
try sample.write(to: fileURL, atomically: false, encoding: .utf8)
print("saving was successful")
// any posterior code goes here
// reading from disk
let savedText = try String(contentsOf: fileURL)
print("savedText:", savedText)   // "Hello World !!!n"
}
} catch {
print("error:", error)
}
}

} catch let error as NSError {
print("Failed to load: (error.localizedDescription)")
}

{
"version": "v1",
"contentType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"extension": "xlsx",
"fileContent": "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",
"size": 11997,
"deleted": false,
"file": true
}

参考下面给出的答案:

如何显示base64文件|苹果开发者论坛https://developer.apple.com/forums/thread/94337

最新更新