95
A
回答
265
是的,這可以通過UIWebView完成。
如果你想顯示駐留在服務器上某處的PDF文件,你可以簡單地加載在直接您的Web視圖:
Objective-C的
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];
NSURL *targetURL = [NSURL URLWithString:@"https://www.example.com/document.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
[self.view addSubview:webView];
斯威夫特
let webView = UIWebView(frame: CGRect(x: 10, y: 10, width: 200, height: 200))
let targetURL = NSURL(string: "https://www.example.com/document.pdf")! // This value is force-unwrapped for the sake of a compact example, do not do this in your code
let request = NSURLRequest(URL: targetURL)
webView.loadRequest(request)
view.addSubview(webView)
或者,如果您有與您的應用程序捆綁在一起的PDF文件(在此前充足的名爲 「document.pdf」):
Objective-C的
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];
NSURL *targetURL = [[NSBundle mainBundle] URLForResource:@"document" withExtension:@"pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
[self.view addSubview:webView];
斯威夫特
let webView = UIWebView(frame: CGRect(x: 10, y: 10, width: 200, height: 200))
let targetURL = NSBundle.mainBundle().URLForResource("document", withExtension: "pdf")! // This value is force-unwrapped for the sake of a compact example, do not do this in your code
let request = NSURLRequest(URL: targetURL)
webView.loadRequest(request)
view.addSubview(webView)
您可以在這裏找到更多的信息:Technical QA1630: Using UIWebView to display select document types。
9
在WebView中使用這種用於打開PDF文件
NSString *path = [[NSBundle mainBundle] pathForResource:@"mypdf" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
UIWebView *webView=[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
[[webView scrollView] setContentOffset:CGPointMake(0,500) animated:YES];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, 50.0)"]];
[webView loadRequest:request];
[self.view addSubview:webView];
[webView release];
3
NSString *folderName=[NSString stringWithFormat:@"/documents/%@",[tempDictLitrature objectForKey:@"folder"]];
NSString *fileName=[tempDictLitrature objectForKey:@"name"];
[self.navigationItem setTitle:fileName];
NSString *type=[tempDictLitrature objectForKey:@"type"];
NSString *path=[[NSBundle mainBundle]pathForResource:fileName ofType:type inDirectory:folderName];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
webView=[[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 1024, 730)];
[webView setBackgroundColor:[UIColor lightGrayColor]];
webView.scalesPageToFit = YES;
[[webView scrollView] setContentOffset:CGPointZero animated:YES];
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"window.scrollTo(0.0, 50.0)"]];
[webView loadRequest:request];
[self.view addSubview:webView];
+0
請首先創建PDF文件的路徑並將其轉換爲網址,然後使用此代碼加載網頁視圖,它適用於我,請在代碼中使用相同的代碼 – dheerendra 2013-12-09 12:37:15
2
馬丁Alléus的答案的更新,以獲得全屏幕無論是手機或iPad上,而無需硬代碼:
CGRect rect = [[UIScreen mainScreen] bounds];
CGSize screenSize = rect.size;
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,screenSize.width,screenSize.height)];
NSString *path = [[NSBundle mainBundle] pathForResource:@"pdf" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
[self.view addSubview:webView];
9
網頁視圖還可以加載使用loadData
方法的PDF,如果獲得它作爲NSData的:
[self.webView loadData:self.pdfData
MIMEType:@"application/pdf"
textEncodingName:@"UTF-8"
baseURL:nil];
2
斯威夫特版本:
if let docPath = NSBundle.mainBundle().pathForResource("sample", ofType: "pdf") {
let docURL = NSURL(fileURLWithPath: docPath)
webView.loadRequest(NSURLRequest(URL: docURL))
}
1
NSString *path = [[NSBundle mainBundle] pathForResource:@"document" ofType:@"pdf"];
NSURL *targetURL = [NSURL fileURLWithPath:path];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[webView loadRequest:request];
0
UIWebView *pdfWebView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)];
NSURL *targetURL = [NSURL URLWithString:@"http://unec.edu.az/application/uploads/2014/12/pdf-sample.pdf"];
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL];
[pdfWebView loadRequest:request];
[self.view addSubview:pdfWebView];
0
斯威夫特4個
let webView = UIWebView(frame: view.bounds)
let targetURL = Bundle.main.url(forResource: "sampleFileName", withExtension: "pdf")
let request = URLRequest(url: targetURL!)
webView.loadRequest(request)
view.addSubview(webView)
相關問題
- 1. 我們可以在iPhone應用程序中打開PowerPoint文件嗎?
- 2. 我們可以使用iText壓縮PDF文件大小嗎?
- 3. 我們可以使用php閱讀pdf文件的內容嗎?
- 4. iPhone - 我們可以使用NSXMLParser解析.plist(xml)文件嗎?
- 5. 我們可以阻止打開CSS,JS文件嗎?
- 6. 我們可以在android中打開一個swf文件嗎?
- 7. 我們可以打開iPhone的數字鍵盤而不使用type = number嗎?
- 8. 我們可以使用語音在iOS中打開應用嗎?
- 9. 我可以在Python中使用Popen打開的gzip文件嗎?
- 10. 我們可以直接在IDE中打開設計文檔嗎?
- 11. 我們可以在iPhone中以編程方式打開/關閉GPS嗎?
- 12. Docusign合併pdf - 我們可以提取單個文件嗎?
- 13. 我們可以使用php中的文件處理來編寫和打開pdf文件
- 14. 我們可以使用PHP會話來保護文件(視頻,PPT,PDF等)嗎?
- 15. xcarchive可以在iPhone上打開嗎?
- 16. 我們可以在iphone sdk中添加.shp文件嗎?
- 17. 我可以強制瀏覽器下載PDF文件而不是打開它嗎?
- 18. 我可以自動將pdf文件發送到打印機嗎?
- 19. Dreamweaver可以打開.manifest文件嗎?
- 20. 當我們在iPhone中打開pdf,那麼如何保存這個pdf在iphone
- 21. 我可以用application/vnd.openxmlformats-officedocument.spreadsheetml.sheet打開一個xlsx文件嗎?
- 22. 我們可以使用PHP將XDP轉換爲PDF嗎?
- 23. 我們可以使用reportlab創建交互式PDF表單嗎?
- 24. 我們可以使用itext Android在PDF中繪製PieChart嗎?
- 25. 用我的APP打開PDF文件
- 26. 我們可以在服務器的瀏覽器中打開.exe文件嗎?
- 27. Iphone在UIWebView中打開
- 28. 我可以打開我的Dll文件嗎
- 29. 我可以使用multile lex文件創建一個pdf嗎?
- 30. 我可以使用Chromium從本地網頁打開可執行文件嗎?
非常感謝...... alleus。我們可以將它保存在iPhone的本地文檔目錄中嗎? – 2010-05-14 07:15:53
是的,這是可能的,但是您必須使用其他方法來獲取WebView以外的文檔。在Stack Overflow上搜索它。例如:http://stackoverflow.com/questions/2102267/downloading-a-file-from-url-and-saving-to-resources-on-iphone – alleus 2010-05-14 07:22:34
使用你的代碼,但不適合我工作.... – Jitendra 2013-07-11 06:20:58