Hummus allows us to write JOSN metadata in infoDictionary with addAdditionalInfoEntry() method. It is running successfully. But I want to add this data in XML format to the file in XMP metadata.
I am trying to save metadata to a file using the following code. It runs without any error. But when checking the metadata using some viewer, it is not showing anything.
Thanks for writing this awesome library.
Hummus allows us to write JOSN metadata in infoDictionary with addAdditionalInfoEntry() method. It is running successfully. But I want to add this data in XML format to the file in XMP metadata.
I am trying to save metadata to a file using the following code. It runs without any error. But when checking the metadata using some viewer, it is not showing anything.
const pdfWriter = hummus.createWriterToModify(filename); const data = new Buffer(metadata, 'utf-8'); const parser = pdfWriter.getModifiedFileParser(); const objectsContext = pdfWriter.getObjectsContext(); const aDictionary = parser.queryDictionaryObject(parser.getTrailer(),'Root').toPDFDictionary().toJSObject(); if(aDictionary["Metadata"]) { const objectId = aDictionary["Metadata"].toPDFIndirectObjectReference().getObjectID(); objectsContext.startModifiedIndirectObject(objectId);
} else { const objectId = objectsContext.startNewIndirectObject(); pdfWriter.requireCatalogUpdate(); pdfWriter.getEvents().on('OnCatalogWrite',function(dictionaryContext){ dictionaryContext.catalogDictionaryContext.writeKey('Metadata'); dictionaryContext.catalogDictionaryContext.writeObjectReferenceValue(objectId); }); }
Appreciate in advance.