2013-02-07 52 views
4

要清楚,我的问题是而不是询问如何在UIWebview中显示PDF。我想检查用户是否从某个网站或链接导航到PDF(.pdf)文档。这样我可以向用户显示更多选项,例如保存PDF或打印它。检查UIWebView的内容是否为PDF的最佳方法是什么?检查UIWebview是否正在显示PDF

回答

5

您可以检查的MIME类型也稍长的旅程:

@property (nonatomic, strong) NSString *mime; 

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    mime = [response MIMEType]; 
} 

- (BOOL)isDisplayingPDF { 
    NSString *extension = [[mime substringFromIndex:([mime length] - 3)] lowercaseString]; 

    return ([[[self.webView.request.URL pathExtension] lowercaseString] isEqualToString:@"pdf"] || [extension isEqualToString:@"pdf"]); 
} 
+1

谢谢,这个作品很棒! – JohnWickham

0

这是一个漫长的旅程,但我认为这会工作...

BOOL isPdf = [[[self.webView.request.URL pathExtension] lowercaseString] 
       isEqualToString:@"pdf"]; 
+4

这只处理实际PDF文件。这对于提供碰巧是PDF的动态​​内容的URL不起作用。看看mime类型的响应可能是一个更好的主意。 – rmaddy

+0

我同意使用MIME类型更好,但我使用的是专门用于显示设备存储空间的PDF的webView,所以这个功能非常完美! – Patrick