Unable to import UXP XMP module ... uxp.xmp is undefined

, ,

Running either of these require lines from the UXP docs in UDT 2.0.1 playground results in an error indicating uxp.xmp does not exist. How can we use the XMP module via UXP in InDesign?

source: uxp/XMP/getting-started
const xmp = require("uxp").xmp;

xmp is undefined

source: uxp/XMP/XMP%20Classes/XMPMeta

let { XMPMeta, XMPConst } = require("uxp").xmp;
let meta = new XMPMeta();

VM36 main.js:4 Uncaught TypeError: Cannot destructure property ‘xmp’ of ‘require(…).xmp’ as it is undefined.

UDT 2.0.1
UXP 7.3.1
InDesign 19.0.1
macOS 13.6.3

1 Like

Indeed, the module does not exist.

  • macOS 12.6.7 (Apple Silicon)
  • InDesign 2024 (19.0.1)

XMP module is only available in Photoshop from UXP 7.2 onwards.

This feature needs each Host Application to do some work to enable the module and associate this the underlying XMP engine. Its a miss in the documentation to highlight the availability in applications. Will correct this information.

As far as Indesign goes, XMP should get enabled sometime early this year.

2 Likes

The XMP module is a vital part of a CEP extension we’re currently trying to migrate to UXP. Unless there are alternative methods for storing metadata in an InDesign document, we’ll have to wait for XMP to be included to continue. Thanks for the update!

1 Like

I had a similar problem and ended up using the setProperty method of metadataPreferences.

Ref: Storing custom data into InDesign file XMP