Salvar o WebView em PDF retorna uma imagem em branco?
Estou tentando descobrir como salvar um WebView em um PDF e totalmente bloqueado. Realmente gostaria de alguma ajuda?
Estou fazendo isso no Cocoa & Swift no OSX, aqui está o meu código até agora:
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)
}
}
}
É bem simples, o que estou fazendo é criar um WebView e escrever algum conteúdo básico em html, o que renderiza isso:
E então pega a exibição e a salva em um arquivo PDF, mas isso fica em branco:
Eu tentei pegar o conteúdo do webView e View, mas sem alegria.
Encontrei um problema semelhante aquiComo tirar uma captura de tela quando uma visualização na web termina a renderização sobre como salvar a visualização da web em uma imagem, mas até agora sem sorte com uma solução OSX.
Poderia ter algo a ver com as dimensões do documento? ou que o conteúdo está em uma subview? talvez se você capturar a Visualização, não poderá capturar a SubView?
Alguma ideia?