Сохранение WebView в PDF возвращает пустое изображение?
Я пытаюсь выяснить, как сохранить WebView в PDF и полностью застрял, был бы очень признателен за помощь?
Я делаю это в Cocoa & Swift на OSX, вот мой код:
import Cocoa
import WebKit
class ViewController: NSViewController {
override func loadView() {
super.loadView()
}
override func viewDidLoad() {
super.viewDidLoad()
loadHTMLString()
}
func loadHTMLString() {
let webView = WKWebView(frame: self.view.frame)
webView.loadHTMLString("<html><body><p>Hello, World!</p></body></html>", baseURL: nil)
self.view.addSubview(webView)
createPDFFromView(webView, saveToDocumentWithFileName: "test.pdf")
}
func createPDFFromView(view: NSView, saveToDocumentWithFileName fileName: String) {
let pdfData = view.dataWithPDFInsideRect(view.bounds)
if let documentDirectories = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first {
let documentsFileName = documentDirectories + "/" + fileName
debugPrint(documentsFileName)
pdfData.writeToFile(documentsFileName, atomically: false)
}
}
}
Это довольно просто: я создаю WebView и записываю в него какой-то базовый html-контент, который отображает это:
И затем берет представление и сохраняет его в файл PDF, но это выходит пустым:
Я пытался получить содержимое из веб-просмотра и просмотра, но без радости.
Я нашел подобную проблему здесьКак сделать снимок экрана, когда веб-просмотр закончил рендерить относительно сохранения веб-просмотра в изображение, но пока что не повезло с решением для OSX.
Может быть это как-то связано с размерами документа? или что содержание находится в подпредставлении? Может быть, если вы захватываете представление, вы не можете захватить SubView?
Есть идеи?