私はプロジェクトに取り組んでおり、PDF に独自のメタデータを作成して設定する必要があります (GUID をファイルに直接設定するため)。
現在、従来のメタデータ (作成者、キーワードなど) を設定できますが、カスタム フィールドを追加する方法がわかりません。
メタデータを設定する方法は次のとおりです。
CFMutableDictionaryRef auxInfo = CFDictionaryCreateMutable(kCFAllocatorDefault, 1, NULL, NULL);
CFDictionaryAddValue(auxInfo, kCGPDFContextCreator, CFSTR("John doo"));
CFDictionaryAddValue(auxInfo, kCGPDFContextAuthor, CFSTR("foo bar"));
CFDictionaryRef auxillaryInformation = CFDictionaryCreateCopy(kCFAllocatorDefault, auxInfo);
CFRelease(auxInfo);
// create a context to draw into
CGContextRef graphicContext = CGPDFContextCreate(PDFDataConsumer, &mediaRect, auxillaryInformation);
CFRelease(auxillaryInformation);
CGDataConsumerRelease(PDFDataConsumer);
kCGPDFContextThing をカスタム名に置き換えようとしましたが、メタデータを読み取ってもまったく表示されません。
私が使用したメタを読むために
CGPDFDictionaryRef dict = CGPDFDocumentGetInfo(*pdfDoc);
CGPDFDictionaryGetString(dict, "Creator", &objectValue);
また、メタを追加しようとします:
NSString* str= @"Hello World";
NSData* data=[str dataUsingEncoding:NSUTF8StringEncoding];
CFDataRef cfdata = CFDataCreate(NULL, [data bytes], [data length]);
CGPDFContextAddDocumentMetadata(graphicContext, cfdata);
しかし、どちらも機能していないようで、そこで何が行われているかを正しく理解しているかどうかはわかりません。
編集を支援するために PDFNet SDK も使用していますが、メタデータについては何の助けにもならないようなので、クォーツを使用しています。
ヘルプやアドバイスなどは大歓迎ですが、かなり迷っており、私はiOSの専門家ではありません!!!