2013-02-07 51 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