J'essaie de modifier les métadonnées PDF (titre, auteur, etc.) d'un PDF existant sur iOS. Bien qu'il soit facile de trouver un exemple de code pour l'analyse PDF et pour la création de PDF à partir de zéro, il ne semble pas y avoir un moyen facile de vider un fichier PDF existant dans un nouveau fichier.Comment lire, modifier, écrire un PDF (CGPDFDocument) sur iOS?
Plus précisément, comment puis-je obtenir l'information obtenue lors de la lecture d'un fichier PDF à peu près comme ceci:
CGPDFDocumentRef myPDF = CGPDFDocumentCreateWithURL((CFURLRef)urlOfInputPDF);
CGPDFDictionaryRef myPDFDict=CGPDFDocumentGetInfo(myPDF);
dans le nouveau PDF, que je créerais à peu près ainsi:
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);
Il est évident que , les types de dictionnaire ne correspondent pas, et la sortie créée de cette manière est liée à la page (pas au document).
Des idées, comment je peux copier l'ensemble CGPDFDocumentRef dans un nouveau fichier? Et comment le rendre modifiable, afin que je puisse modifier les méta-données avant de les sauvegarder?