我正在尝试修改 iOS 上现有 PDF 的 PDF 元数据(标题、作者等)。
虽然很容易找到用于 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 复制到新文件中?如何使其可变,以便我可以在保存之前修改元数据?