次のコードを使用して URL から PDF をロードしようとしてWKWebiew
います。必要なデリゲート メソッドも追加しましWKWebiew
た。
func loadPDFDocument()
{
if let url = URL(string: self.contentURL)
{
print("URL: \(url)")
if UIApplication.shared.canOpenURL(url) {
self.webView.navigationDelegate = self
self.webView.load(URLRequest(url: url))
} else {
self.showInvalidURLError()
}
} else {
self.showInvalidURLError()
}
}
ロードしていますが、実際のコンテンツは表示されず、代わりに次の画像のように表示されます:
今、私は次のコードを使用して PDFKit で試してみましたが、実際のコンテンツをロードしています。
func loadPDFDocument()
{
let pdfView = self.createPdfView(withFrame: self.view.bounds)
if let pdfDocument = self.createPdfDocument() {
self.view.addSubview(pdfView)
pdfView.document = pdfDocument
}
}
func createPdfDocument() -> PDFDocument?
{
if let resourceUrl = URL(string: "https://d1shcqlf263trc.cloudfront.net/Engage/Contents/LearningStore/16335111672611633500529010123TestPDFfile06Oct2021.pdf") {
return PDFDocument(url: resourceUrl)
}
return nil
}
func createPdfView(withFrame frame: CGRect) -> PDFView
{
let pdfView = PDFView(frame: frame)
pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
pdfView.autoScales = true
return pdfView
}
この PDF をロードする理由WKWebiew
は次のとおりです。
- URL の読み込みが完了すると、コールバックを取得できます (エラーの有無にかかわらず)
- コードを再利用できるように、PPT などの他の種類のコンテンツも読み込む必要があり
WKWebiew
ます。
を使用してその PDF を読み込めないことが原因である可能性のある問題は何ですかWKWebiew
。それはPDFの問題ですか、それともURLの問題ですか、それとも私がそれをロードする方法WKWebiew
ですか?