Слияние PDF-файлов в какао - PullRequest
6 голосов
/ 10 апреля 2011

Я хотел бы объединить несколько файлов PDF в один PDF.Теперь я зашел так далеко, что знаю, что PDFKit - это правильный путь (я полагаю).Но я не уверен, как осуществить слияние.Должен ли я иметь один PDFDocument и несколько PDFPage, а затем позвонить insertPage на PDFDocument?Или есть намного более простой способ?Я не хочу изменять PDF-файлы, я просто хочу объединить их.Большое спасибо!

1 Ответ

7 голосов
/ 10 апреля 2011

Как вы указали, вам нужен один выходной PDFDocument объект, который будет содержать все страницы всех входных PDF-файлов. Для этого вам нужно перебрать все входные файлы, создать PDFDocument объекты для каждого из них и перебрать все страницы, чтобы добавить их, используя insertPage к выходному PDFDocument объекту.

Предполагая, что inputDocuments является NSArray из одного или более PDFDocument объектов, вы можете использовать этот фрагмент:

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++];
    }
}
...