Я хотел бы объединить несколько файлов PDF в один файл PDF. Теперь я зашел так далеко, что знаю, что PDFKit - правильный путь (я думаю). Но я не уверен, как выполнить слияние. Должен ли я иметь один PDFDocument
и несколько PDFPage
, а затем вызывать insertPage
на PDFDocument
? Или есть гораздо более простой способ? Я не хочу изменять PDF-файлы по существу, я просто хочу их объединить. Большое спасибо!
Слияние файлов PDF в Cocoa
Ответы (1)
Как вы указали, вам нужен один выходной объект 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++];
}
}
person
fjoachim
schedule
10.04.2011
Я действительно не совсем уверен, как это будет работать, когда я пытаюсь использовать быстрое перечисление для
PDFDocument
, я получаю, Collection expression type "PDFDocument *" may not respond to 'countByEnumeratingWithState:objects:count:'
- person Alex Gray; 27.02.2013
Да, вам нужно просмотреть все страницы каждого PDFDocument. Я исправил ошибку.
- person fjoachim; 01.03.2013