使用UIWebview读取受密码保护的PDF

时间:2013-11-27 08:30:34

标签: ios iphone objective-c ipad uiwebview

我正在使用此代码将我的PDF加载到webView:

NSURL *targetURL = [NSURL URLWithString:@"http://example.com/demo.pdf"];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:targetURL];
[viewWeb loadRequest:requestObj];

一切正常,但要解决一个问题。

我的 demo.pdf 密码保护,当然我知道这个密码但不想在每次加载pdf时输入它。

我可以将密码设置为变量/字符串并加载 PDF 而不输入密码吗?

1 个答案:

答案 0 :(得分:0)

我认为没有什么比直接告诉webview密码是什么,而是我会手动下载PDF文件(NSURLConnection或其他东西),然后使用CGPDFDocumentUnlockWithPassword(doc,pass)解锁它。

然后,您可以在内存中生成一个解锁版本作为NSData并将其加载到Web视图中(此时不受密码保护)

您可以使用以下内容将其绘制到NSData中(跳过有关自定义绘制顶部红色框的部分): http://b2cloud.com.au/how-to-guides/drawing-over-a-pdf-in-ios-pdf-template

当然,如果你的PDF很庞大或有大量图片,这可能需要一些时间......

CGPDFDocument参考: https://developer.apple.com/library/ios/documentation/graphicsimaging/reference/CGPDFDocument/Reference/reference.html