デスクトップとハンドヘルドデバイスの間でドキュメントを送信していますが、次のようなメタデータヘッダーをPDFに追加したいと思います。
<CUSTOM_HEADER>\n
{"fileInfoEncodedInJson\":
{"filename":"My Print Out",
"filesize\":"630",
"filedesc":"",}
}\n
</CUSTOM_HEADER>\n
… file contents …
documentAttributes
とメソッドを提供するPDFKitとPDFDocumentを使用していますsetDocumentAttributes
が、これはカスタムヘッダーであるため、属性を設定してファイルを保存しても保持されないようです。
NSURL *path = [NSURL fileURLWithPath:@"/Users/username/Desktop/file.pdf"];
PDFDocument *document = [[PDFDocument alloc] initWithURL:path];
NSDictionary *docAttributes = [self.document documentAttributes];
NSMutableDictionary *newAttributes = [[NSMutableDictionary alloc] initWithDictionary:docAttributes];
[newAttributes setObject: @"Custom header contents" forKey:@"Custom header"];
docAttributes = [[NSDictionary alloc] initWithDictionary: newAttributes];
[document setDocumentAttributes: docAttributes];
//Here Custom Header is an entry in the dictionary
[self.document writeToFile:@"/Users/username/Desktop/UPDATEDfile.pdf"];
//Here the UPDATEDfile.pdf does not contain the custom header
私はあちこち見てきましたが、似たような質問がいくつか見つかりました(たとえば、ここcocoadevのように)が、答えはありません。カスタム(つまり、ドキュメント属性キーで提供される8つの事前定義された定数ではない)ヘッダーをPDFファイルに保存する方法を知っている人はいますか?