如何获取当前的pdf页码?

bur*_*hay 0 pdf xcode core-graphics objective-c ios

有一个默认的Core Graphics方法,用于告知当前活动的pdf页码。有什么方法可以获取页面指示器所显示的当前活动页面号。还有没有什么办法可以隐藏页面指示器?在Objective-C中的回答将不胜感激。

谢谢![在此处输入图片描述] 1

Ron*_*ann 7

斯威夫特 5.1

一个简单的解决方案

    @IBOutlet var pageNumber: NSTextField!

    let curPg = self.thePDFView.currentPage?.pageRef?.pageNumber
    pageNumber.stringValue = "Page \(String(describing: curPg!))"
Run Code Online (Sandbox Code Playgroud)


Sun*_*uru 6

在PDFKit中很容易获得页码。请找到以下代码片段。

print(pdfDocument!.index(for: pdfView.currentPage!)
Run Code Online (Sandbox Code Playgroud)


Mah*_*dra 1

目标C

CGPDFDocumentRef pdf = CGPDFDocumentCreateWithURL((CFURLRef)[NSURL fileURLWithPath:@"pdf path"]);
int pageCount = CGPDFDocumentGetNumberOfPages(pdf);
CGPDFDocumentRelease(pdf);
Run Code Online (Sandbox Code Playgroud)

设置委托

self.webView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

实施webViewDidFinishLoad方法,您将获得如下页数......

- (void)webViewDidFinishLoad:(UIWebView *)webView {

    NSInteger pageCount = webView.pageCount; 

    //OR

    NSInteger count_horizontal = webView.scrollView.contentSize.width / webView.scrollView.frame.size.width;

    NSInteger count_verticel = webView.scrollView.contentSize.height / webView.scrollView.frame.size.height;
}
Run Code Online (Sandbox Code Playgroud)

其他的Swift 版本

获取 pdf 文件的页数。

guard var pdf = CGPDFDocument(URL(fileURLWithPath: "pdf path") as CFURL) else {
        print("Not able to load pdf file.")
        return
    }

    let pageCount = CGPDFDocumentGetNumberOfPages(pdf);
Run Code Online (Sandbox Code Playgroud)

在 Web 视图中显示 pdf 并设置其委托

    self.webView.delegate = self;
Run Code Online (Sandbox Code Playgroud)

实施webViewDidFinishLoad方法,您将获得如下页数......

extension YourViewController: UIWebViewDelegate {

   func webViewDidFinishLoad(_ webView: UIWebView) {

    let count = webView.pageCount

    // OR

    // when horizontal paging is required
    let count_horizontal = webView.scrollView.contentSize.width / webView.scrollView.frame.size.width;

    // when vertical paging is required
    let count_vertical = webView.scrollView.contentSize.height / webView.scrollView.frame.size.height;
   }
}
Run Code Online (Sandbox Code Playgroud)