0

我需要将CGPDFPageRefvar 转换为 integer ,我创建一个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);
4

1 回答 1

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

于 2012-05-22T10:27:27.797 回答