i am trying to set a custom metadata to my pdf but i dont find much about how to do it
this is what i have tried for now, but idk how to properly set the xmpPdfMetadata String or if there is a better way to set up a custom metadata
func createPDF() -> Data {
let pageWidth = 8.5 * 72.0
let pageHeight = 11 * 72.0
let pageRect = CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight)
let renderer = UIGraphicsPDFRenderer(bounds: pageRect)
let data = renderer.pdfData { (context) in
context.beginPage()
_ = addImage(pageRect: pageRect, imageTop: 30.0)
// Custom metadata
let pdfContext = UIGraphicsGetCurrentContext()
let xmpPdfMetadata = "<test>test</test>"
let metaData = xmpPdfMetadata.data(using: .utf8) as CFData?
pdfContext?.addDocumentMetadata(metaData)
}
return data
}
whit this as xmpPdfMetadata it works and i can see them in additional metadata, but if i go to custom properties, "Referencia" dont appear there. Didnt find any solution for that yet
let xmpPdfMetadata = """
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta" x:xmptk="Adobe XMP Core 5.6-c016 91.163616, 2018/10/29-16:58:49">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:pdfx="http://ns.adobe.com/pdfx/1.3/">
<pdfx:Referencia>Referencia</pdfx:Referencia>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
<?xpacket end="w"?>
"""