2012-05-22 94 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雖然。