Сохранить страницы PDF в массиве для нескольких страниц - PullRequest
0 голосов
/ 17 февраля 2012

Как я могу сохранить страницы PDF в массиве, чтобы отобразить его в uipageviewcontroller.

1 Ответ

3 голосов
/ 01 ноября 2012

Может быть, это поможет.

Этот код предполагает две вещи:

  • Вы добавили платформу Quartz в свой проект, а
  • У вас есть объект NSURL, описывающий местоположение документа PDF.

Сначала создайте объект PDFDocument, инициализированный с содержимым документа PDF:

// Make a new PDF document object with the contents of the file at the specified URL.
PDFDocument * myPDF = [[PDFDocument alloc]initWithURL:fileURL];

Затем спросите объект документа PDF, сколько страниц в нем содержится.

// Get the page count of the PDF document object.
NSUInteger pdfPageCount = [myPDF pageCount];

Используйте временный массив NSMutableArray для хранения страниц.

// Make a new mutable array to hold the document's pages.
NSMutableArray * mutablePageArray = [NSMutableArray arrayWithCapacity:pdfPageCount];

Используйте цикл for для пролистывания страниц документа PDF. Для каждого обхода цикла добавляйте страницу из индекса страницы документа PDF, который соответствует счетчику цикла.

// Add each page of the PDF document to the array.
for (int i=0; i < pdfPageCount; i++) {
    [mutablePageArray addObject:[myPDF pageAtIndex:i]];
}

Наконец, поскольку вы хотели NSArray, создайте NSArray из содержимого NSMutableArray.

// Convert the NSMutableArray to an NSArray, then return it.
NSArray * pageArray = [NSArray arrayWithArray:mutablePageArray];

Некоторые заметки: Я все еще новичок в Objective-C, так что, вероятно, в этом коде вы захотите кое-что сделать для управления памятью. Кроме того, обратите внимание, что это с точки зрения Mac OS, но я не думаю, что в коде есть что-то по сути только для Mac. По крайней мере, оно должно указывать вам правильное направление.

...