क्या हम iOS पर UIWebView का उपयोग करके पीडीएफ फाइल खोल सकते हैं?


जवाबों:


278

हां, यह UIWebView के साथ किया जा सकता है।

यदि आप एक पीडीएफ फाइल को सर्वर पर कहीं भी प्रदर्शित करने की कोशिश कर रहे हैं, तो आप इसे सीधे अपने वेब दृश्य में लोड कर सकते हैं:

उद्देश्य सी

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)

या यदि आपके पास अपने आवेदन के साथ एक पीडीएफ फाइल है (उदाहरण के लिए "document.pdf")

उद्देश्य सी

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)

आप यहां अधिक जानकारी पा सकते हैं: तकनीकी QA1630: चुनिंदा दस्तावेज़ प्रकार प्रदर्शित करने के लिए UIWebView का उपयोग करना


बहुत बहुत धन्यवाद ... आरोप। क्या हम इसे iPhone में स्थानीय दस्तावेज़ निर्देशिका में सहेज सकते हैं?
मोहम्मदयाकूब मोरिसवाला

3
हां, यह संभव है, लेकिन आपको वेबव्यू के अलावा दस्तावेज़ को लाने का एक और तरीका इस्तेमाल करना होगा। स्टैक ओवरफ्लो पर यहां खोजें। उदाहरण के लिए: stackoverflow.com/questions/2102267/…
एलीस

क्या यहां प्रिंट विकल्प देना संभव है
शिव

यहाँ Pdf पृष्ठों को ऊर्ध्वाधर दिशा में सूचीबद्ध किया गया है। क्या उन्हें ऊर्ध्वाधर स्क्रॉल के बिना क्षैतिज दिशा में प्रदर्शित करना संभव है।
कुञ्जस

@ MartinAlléus: क्या आप मुझे इस stackoverflow.com/questions/21874538/… के
मंथन

12

UIWebviews भी विधि का .pdfउपयोग कर लोड कर सकते हैं loadData, अगर आप इसे इस प्रकार प्राप्त करते हैं NSData:

[self.webView loadData:self.pdfData 
              MIMEType:@"application/pdf" 
      textEncodingName:@"UTF-8" 
               baseURL:nil];

9

वेबव्यू में खुली पीडीएफ फाइल के लिए इसका उपयोग करें

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];

कृपया सबसे पहले अपने पीडीएफ़ का पथ बनाएं और इसे url में परिवर्तित करें और इस कोड का उपयोग वेब दृश्य लोड करने के लिए करें, मेरे लिए इसका कार्य करना इसलिए कृपया अपने कोड में समान उपयोग करें
dheerendra

2

स्विफ्ट संस्करण:

if let docPath = NSBundle.mainBundle().pathForResource("sample", ofType: "pdf") {
    let docURL = NSURL(fileURLWithPath: docPath)
    webView.loadRequest(NSURLRequest(URL: docURL))
}

2

मार्टिन एलियस के जवाब के लिए एक अपडेट, पूर्ण स्क्रीन प्राप्त करने के लिए कि क्या यह हार्ड कोड के बिना फोन या आईपैड है:

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];

2

स्विफ्ट 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
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

WKWebView : मुझे लगता है कि लोगों को यह बताने के लिए सबसे अच्छा स्थान होना चाहिए कि वे WKWebview का उपयोग करना शुरू कर दें क्योंकि UIWebView अब पदावनत हो गया है

उद्देश्य सी

WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame];
webView.navigationDelegate = self;
NSURL *nsurl=[NSURL URLWithString:@"https://www.example.com/document.pdf"];
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
[webView loadRequest:nsrequest];
[self.view addSubview:webView];

तीव्र

let myURLString = "https://www.example.com/document.pdf"
let url = NSURL(string: myURLString)
let request = NSURLRequest(URL: url!)  
let webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.loadRequest(request)
view.addSubview(webView)

मैंने इस कोड को सीधे Xcode से कॉपी नहीं किया है, इसलिए इसमें कुछ सिंटैक्स त्रुटि हो सकती है। कृपया इसका उपयोग करते समय जांच करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.