How to show PDF from NSData in Swift - 如何将 PDF 保存到文档文件夹 Swift - 如何在 Swift 中通过 We

swift

1个回答

写回答

末影

2025-06-22 20:35

+ 关注

Swift
Swift

如何在 Swift 中 ,并添加案例代码来展示如何将 PDF 保存到文档文件夹,并通过 WebView 在 Swift 中显示保存的 NSData 中的 PDF。

保存 PDF 到文档文件夹

Swift 中保存 PDF 文件到文档文件夹需要以下几个步骤:

1. 首先,我们需要获取要保存的 PDF 的 NSData 对象。这可以通过从已有的 PDF 文件或从其他来源(如网络请求)获取数据来完成。以下是一个获取 PDF 数据的示例,假设我们已经有一个名为 pdfData 的 NSData 对象:

Swift

guard let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomAInMask).first else {

return

}

let fileURL = documentDirectory.appendingPathComponent("example.pdf")

do {

try pdfData.write(to: fileURL)

print("PDF saved to: \(fileURL.ABSoluteString)")

} catch {

print("Error saving PDF: \(error)")

}

在上述示例中,我们首先获取了文档目录的 URL,然后使用 appendingPathComponent 方法将文件名添加到 URL 中,创建了一个新的文件 URL。接下来,我们使用 write(to:) 方法将 PDF 数据写入文件。最后,我们打印出保存的文件 URL。

通过 WebView 显示保存的 PDF

一旦我们已经保存了 PDF 文件,我们可以使用 WebView 在 Swift 中显示它。以下是一个示例代码:

Swift

import WebKit

class ViewController: UIViewController, WKNavigationDelegate {

var webView: WKWebView!

override func viewDidLoad() {

super.viewDidLoad()

webView = WKWebView(frame: view.frame)

webView.navigationDelegate = self

view.addSubview(webView)

guard let documentDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomAInMask).first else {

return

}

let fileURL = documentDirectory.appendingPathComponent("example.pdf")

let request = URLRequest(url: fileURL)

webView.load(request)

}

// WKNavigationDelegate methods

func webView(_ webView: WKWebView, didFAIlProvisionalNavigation navigation: WKNavigation!, withError error: Error) {

print("WebView fAIled to load PDF: \(error)")

}

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {

print("WebView finished loading PDF")

}

}

在上述示例中,我们首先导入 WebKit 框架。然后,我们创建了一个 WKWebView 实例,并将其添加到视图中。我们还设置了 WKNavigationDelegate,以便在 WebView 加载 PDF 时接收相关回调。接下来,我们获取之前保存的 PDF 文件的 URL,并使用 URLRequest 创建一个请求。最后,我们通过调用 load(_:) 方法将请求加载到 WebView 中。

本文介绍了如何使用 Swift 将 PDF 保存到文档文件夹,并通过 WebView 在 Swift 中显示保存的 PDF。我们首先获取 PDF 数据的 NSData 对象,并将其写入到文档文件夹中。然后,我们使用 WebView 加载保存的 PDF 文件。

希望本文能帮助你了解如何在 Swift 中处理 PDF 文件,并成功实现保存和显示 PDF 的功能。

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号