Я пытаюсь изменить метаданные PDF (название, автор и т. Д.) Существующего PDF на iOS.
Несмотря на то, что легко найти пример кода для разбора PDF и создания PDF с нуля, не представляется простым способом вывести существующий PDF в новый файл и слегка его изменить.
Более конкретно, как мне получить информацию, полученную при чтении PDF, примерно так:
CGPDFDocumentRef myPDF = CGPDFDocumentCreateWithURL((CFURLRef)urlOfInputPDF);
CGPDFDictionaryRef myPDFDict=CGPDFDocumentGetInfo(myPDF);
в новый PDF, который я бы создал примерно так:
CGRect pageRect;
CFMutableDictionaryRef myDictionary = CFDictionaryCreateMutable(NULL, 0,
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
CFDictionarySetValue(myDictionary, kCGPDFContextTitle, CFSTR("My PDF File"));
CFDictionarySetValue(myDictionary, kCGPDFContextCreator, CFSTR("My Name"));
pdfContext = CGPDFContextCreateWithURL (urlOfOutputPDF, &pageRect, myDictionary);
Очевидно, что типы словарей не совпадают, и созданный таким образом вывод связан со страницей (не документом).
Любые идеи, как я могу скопировать весь CGPDFDocumentRef в новый файл? И как сделать его изменчивым, чтобы я мог изменить метаданные перед сохранением?