Ios 如何用QLViewController swift语言显示.doc文件
我是ios开发的新手,我正在尝试以不同的格式显示文件(例如.docx、doc、pdf、csv),它可以很好地处理.pdf文件,但对于.doc文件它不能预览 这就是在模拟器中显示的内容 对于一些.doc文件和pdf,它可以工作!!一, 代码:Ios 如何用QLViewController swift语言显示.doc文件,ios,swift,doc,qlpreviewcontroller,Ios,Swift,Doc,Qlpreviewcontroller,我是ios开发的新手,我正在尝试以不同的格式显示文件(例如.docx、doc、pdf、csv),它可以很好地处理.pdf文件,但对于.doc文件它不能预览 这就是在模拟器中显示的内容 对于一些.doc文件和pdf,它可以工作!!一, 代码: override func viewDidLoad() { super.viewDidLoad() } @IBAction func handlePress(){ let previewController = QLPreviewContr
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func handlePress(){
let previewController = QLPreviewController()
previewController.dataSource = self
present(previewController, animated: true)
}
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
return 3
}
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
guard let url = URL(string: "**urlpath**/q.DOC") else {
fatalError("Could not load")
}
return url as QLPreviewItem
}
首先,您需要下载文件并保存在本地存储中。还有一件事是
。do
文件是不应该的。因此,您必须确保您的文件是.docx
或.pdf
您可以这样尝试:
func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
// ---- First way -----
guard let strPath = Bundle.main.path(forResource: "demo.docx", ofType: nil) else { return "" as! QLPreviewItem }
//guard let strPath = Bundle.main.path(forResource: "demo", ofType: "docx") else { return "" as! QLPreviewItem }
let filePath = "file://\(strPath)"
let url = URL(string: filePath)
// ---- Second way -----
guard let strPath = Bundle.main.path(forResource: "demo.docx", ofType: nil) else { return "" as! QLPreviewItem }
//guard let strPath = Bundle.main.path(forResource: "demo", ofType: "docx") else { return "" as! QLPreviewItem }
let url = URL(fileURLWithPath: strPath)
return url as QLPreviewItem
}
编辑您的问题并发布代码。您是否尝试过使用其他word文档文件?URL(字符串:)初始值设定项通常用于远程URL。如果您的文档url不是文件url,则需要首先下载远程资源的可能副本