2012-05-22 58 views
0

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

- (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

你的问题不清楚。你需要获得总页数吗?即CGPDFDocumentGetNumberOfPages(myDocumentRef)? – Altealice

+0

是的,但我怎么能等于CGPDFDocumentGetNumberOfPages一个整数? –

+1

使用==运算符,也许? – 2012-05-22 09:56:32

回答

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虽然。