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 に答える