将CGPDFPageRef转换为整数

时间:2012-05-22 08:46:45

标签: iphone objective-c ios xcode ipad

我需要将CGPDFPageRef var转换为整数,我创建了一个if语句,用于检查PDF页面是否小于或大于文件未显示的页面。

- (id) setUpPDF: (int) pageNumber {    

//** = I need some integer that automatically detects PDF pages
    if ((pageNumber < **) || (pageNumber > **)) return nil;


 CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(),


                                              CFSTR("test"),
                                              CFSTR("pdf"), NULL);


    myDocumentRef = CGPDFDocumentCreateWithURL(pdfURL);
    myPageRef = CGPDFDocumentGetPage(myDocumentRef, pageNumber);

1 个答案:

答案 0 :(得分:1)

您可以使用CGPDFDocumentGetNumberOfPages(myDocumentRef)获取总页数。

CGPDFDocumentGetNumberOfPages()返回size_t,这是一个无符号整数。您可以直接将其与整数类型进行比较。

因此,对于上面的代码段,我假设您需要类似的内容:

CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), CFSTR("test"), CFSTR("pdf"), NULL);
myDocumentRef = CGPDFDocumentCreateWithURL(pdfURL);
// take note that pdf page numbering starts at 1
if ((pageNumber < 1) || (pageNumber > CGPDFDocumentGetNumberOfPages(myDocumentRef))) return nil;

我建议您将参数从(int)pageNumber更改为(size_t)pageNumber