gpt4 book ai didi

swift - 使用 swift 代码从文件系统打开 pdf 文件

转载 作者:行者123 更新时间:2023-11-30 10:45:15 61 4
gpt4 key购买 nike

我使用下面的代码将 pdf 文件保存到手机文件系统中。

func downloadAndSavePdf (urlString:String, fileName:String) {
DispatchQueue.main.async {
let url = URL(string: urlString)
let pdfData = try? Data.init(contentsOf: url!)
let resourceDocPath = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last! as URL
let pdfNameFromUrl = "\(fileName)"
let path = resourceDocPath.appendingPathComponent(pdfNameFromUrl)
do {
try pdfData?.write(to: path, options: .atomic)

print("pdf successfully saved in! \(path)")
} catch {
print("Pdf could not be saved")
}
}
}

当我尝试在成功保存后打印出路径时,它类似于 file:///Users/macuser/Library/Developer/CoreSimulator/Devices/088BF978-9DE7-436B-9E4B-FE1879EA806A/数据/容器/数据/应用程序/AF3216C3-FEFD-42C6-B8CD-DD7347FCF00C/Documents/myfile.pdf我的问题是1.我会将这个文件和路径存储到数据库中并稍后打开它。2. 我无法使用下面的代码打开该文件。


func openPdfFile(){
//let pdfView = PDFView()
let webView = WKWebView()
let documentDir = FileManager.SearchPathDirectory.documentDirectory
let userDir = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(documentDir, userDir, true)
if let dirPath = paths.first
{

let pdfURL = URL(fileURLWithPath: dirPath).appendingPathComponent("myFile.pdf")
//let image = UIImage(contentsOfFile: imageURL.path)
do {
let data = try Data(contentsOf: pdfURL)
webView.load(data, mimeType: "application/pdf", characterEncodingName:"", baseURL: pdfURL.deletingPathExtension())
print("pdf file loading...")

}
catch {
print("failed to open pdf")
}
return
}
}

电话是

openPdfFile()

无法在 WebView 中打开 pdf。我打印了路径并可以在网络浏览器中打开该文件。请帮忙!非常感谢您

最佳答案

好的,现在可以了。我需要添加 WKWebview 组件 到我的 View Controller 。然后拖拽到swift文件
@IBOutlet 弱var webView:WKWebView! 现在的问题是网页 View 没有扩展到整个屏幕。我不知道如何检测屏幕尺寸并相应地设置网页 View 尺寸

关于swift - 使用 swift 代码从文件系统打开 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55860417/

61 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com