2011-04-10 82 views
6

我想连接几个PDF文件以形成一个PDF。 现在我到目前为止,我知道,PDFKit是正确的路要走(我猜)。 但我不确定,如何完成合并。 我是否应该有一个PDFDocument和几个PDFPage,然后在PDFDocument上拨打insertPage? 或者有更简单的方法吗?我不想改变PDF格式,我只是想合并它们。 非常感谢!在可可中合并PDF文件

回答

7

如您所示,您需要一个输出PDFDocument对象,该对象将包含所有输入PDF文件的所有页面。为此,您需要遍历所有输入文件,为每个对象创建PDFDocument对象,并遍历所有页面,以便使用insertPage将其添加到输出PDFDocument对象。

假设inputDocuments是一个或多个PDFDocument对象的NSArray,您可以使用此代码片段:

PDFDocument *outputDocument = [[PDFDocument alloc] init]; 
NSUInteger pageIndex = 0; 
for (PDFDocument *inputDocument in inputDocuments) { 
    for (NSUInteger j = 0; j < [inputDocument pageCount]; j++) { 
     PDFPage *page = [inputDocument pageAtIndex:j]; 
     [outputDocument insertPage:page atIndex:pageIndex++]; 
    } 
} 
+0

我真的不太清楚如何做到这一点的工作,当我尝试使用“快速列举”在'PDFDocument'我得到'集合表达式类型'PDFDocument *“可能不会响应'countByEnumeratingWithState:objects:count:'' – 2013-02-27 16:02:06

+1

是的,你必须遍历每个PDFDocument的所有页面。我修正了错误。 – fjoachim 2013-02-28 20:08:31