我目前正在進行一個項目,我有ios需要顯示一個pdf文件。 但是我想選擇要顯示的頁面。例如,請參閱UIWebView中的第10頁,共37頁。 我還沒有找到一種方法來乾淨地分隔pfd的頁面。在UIWebview中顯示特定的pdf頁面ios
謝謝你的幫助。
我目前正在進行一個項目,我有ios需要顯示一個pdf文件。 但是我想選擇要顯示的頁面。例如,請參閱UIWebView中的第10頁,共37頁。 我還沒有找到一種方法來乾淨地分隔pfd的頁面。在UIWebview中顯示特定的pdf頁面ios
謝謝你的幫助。
您可以使用setContentOffset的WebView的屬性顯示頁面,
[[webView scrollView] setContentOffset:CGPointMake(0,10*pageheight) animated:YES];
其中pageheight =你的頁面高度,10是你的網頁沒有,
是的,這種方法完美的作品,但我有其他網頁的邊框,我可以滾動。謝謝您的回答。 – user2724028
@Viruss mca:你從哪裏得到「頁面高度」? – AlexR
@AlexR:'CGFloat pageHeight = webView.scrollView.contentSize.height;''''或'NSLog(@「Client height:%@」,[webview stringByEvaluatingJavaScriptFromString:@「document.body.clientHeight」]);' –
使用UIWebView's
delegate
的方法來做到這一點:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
//Check if file still loading
if(!webView.isLoading)
{
//now traverse to specific page
[self performSelector:@selector(traverseInWebViewWithPage) withObject:nil afterDelay:0.1];
}
}
現在添加下面的方法來遍歷你的頁面。 注意需要有效的PDF文件路徑,並提供您想要在PDF文件中遍歷的有效特定頁面號。
-(void)traverseInWebViewWithPage
{
//Get total pages in PDF File ----------- PDF File name here ---------------
NSString *strPDFFilePath = [[NSBundle mainBundle] pathForResource:@"yourPDFFileNameHere" ofType:@"pdf"];
NSInteger totalPDFPages = [self getTotalPDFPages:strPDFFilePath];
//Get total PDF pages height in webView
CGFloat totalPDFHeight = yourWebViewPDF.scrollView.contentSize.height;
NSLog (@"total pdf height: %f", totalPDFHeight);
//Calculate page height of single PDF page in webView
NSInteger horizontalPaddingBetweenPages = 10*(totalPDFPages+1);
CGFloat pageHeight = (totalPDFHeight-horizontalPaddingBetweenPages)/(CGFloat)totalPDFPages;
NSLog (@"pdf page height: %f", pageHeight);
//scroll to specific page --------------- here your page number -----------
NSInteger specificPageNo = 2;
if(specificPageNo <= totalPDFPages)
{
//calculate offset point in webView
CGPoint offsetPoint = CGPointMake(0, (10*(specificPageNo-1))+(pageHeight*(specificPageNo-1)));
//set offset in webView
[yourWebViewPDF.scrollView setContentOffset:offsetPoint];
}
}
對於總的PDF頁面
-(NSInteger)getTotalPDFPages:(NSString *)strPDFFilePath
{
NSURL *pdfUrl = [NSURL fileURLWithPath:strPDFFilePath];
CGPDFDocumentRef document = CGPDFDocumentCreateWithURL((CFURLRef)pdfUrl);
size_t pageCount = CGPDFDocumentGetNumberOfPages(document);
return pageCount;
}
享受編碼的計算.....
[iPhone的UIWebView PDF頁面跳轉(可能重複http://stackoverflow.com/questions/1974304/iphone-uiwebview-pdf-page-jump) – bummi