Czy możemy otworzyć plik pdf z UIWebView?
106
Tak, można to zrobić za pomocą UIWebView.
Jeśli próbujesz wyświetlić plik PDF znajdujący się gdzieś na serwerze, możesz po prostu załadować go bezpośrednio w swoim widoku sieciowym:
Cel 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];
Szybki
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)
Lub jeśli masz plik PDF dołączony do aplikacji (w tym przykładzie o nazwie „document.pdf”):
Cel 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];
Szybki
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)
Więcej informacji można znaleźć tutaj: Techniczne QA1630: Używanie UIWebView do wyświetlania wybranych typów dokumentów .
UIWebview
s może również załadować metodę.pdf
usingloadData
, jeśli nabędziesz ją jakoNSData
:źródło
użyj tego do otwarcia pliku PDF w widoku sieciowym
źródło
źródło
Wersja Swift:
źródło
Aktualizacja odpowiedzi Martina Alléusa, aby uzyskać pełny ekran, niezależnie od tego, czy jest to telefon, czy iPad, bez konieczności twardego kodu:
źródło
Szybki 4
źródło
źródło
źródło
WKWebView : Uważam, że to pytanie jest najlepszym miejscem do poinformowania ludzi, że powinni zacząć używać WKWebview, ponieważ UIWebView jest teraz przestarzały .
Cel C
Szybki
Nie skopiowałem tego kodu bezpośrednio z Xcode, więc może zawierać błąd składni. Proszę sprawdzić, kiedy go używasz.
źródło