如何将 pdf 页面保存在数组中以在 uipageviewcontroller 中显示。
问问题
754 次
1 回答
3
也许这会有所帮助。
这段代码假设了两件事:
- 您已将 Quartz 框架添加到您的项目中,并且
- 您有一个描述 PDF 文档位置的 NSURL 对象。
首先,创建一个 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,所以从 NSMutableArray 的内容中创建一个 NSArray。
// Convert the NSMutableArray to an NSArray, then return it.
NSArray * pageArray = [NSArray arrayWithArray:mutablePageArray];
一些注意事项:我对 Objective-C 还是有点陌生,所以你可能想要在这段代码中做一些内存管理的事情。另外,请注意这是从 Mac OS 的角度来看的,但我认为代码中没有任何本质上仅限 Mac 的内容。至少,它应该让你指向正确的方向。
于 2012-11-01T13:16:37.147 回答