 |
 | Product |
 |  | InCopy |
 |  | |
 | Version |
 |  | 2.0 |
 |  | |
 | Last Edited |
 |  | 03-Mar-2006 |
 |  | |
 | Document |
 |  | 54215 |
 |  |  |
 |  |  |
|  | How To: Changing XMP Metadata
Summary
InDesign CS2 XMP metadata is stored on a metadata object associated with the document. InCopy CS2 XMP metadata is stored on a metadata object associated with each story.
In InDesign the XMP metadata is stored on a metadata object associated with the document. However, in InCopy each story in the document has a separate instance of metadata which may be changed separately.
ErrorCode AppendMetaDataInDesign( IDocument* document, IDFile* theNewData )
{
InterfacePtr<ICommand> appendCmd(CmdUtils::CreateCommand(kAppendMetaDataCmdBoss));
InterfacePtr<IAppendMetaDataCmdData> cmdData(appendCmd, UseDefaultIID());
cmdData->Set( document,theNewData,kTrue );
ErrorCode cmdErr = CmdUtils::ProcessCommand(appendCmd);
return cmdErr;
}
ErrorCode AppendMetaDataInCopy( ITextModel* story, IDFile* theNewData )
{
// get the metadata object's UID from this text model
InterfacePtr<IPersistUIDData> uidData( story,IID_IMETADATAUIDDATA );
InterfacePtr<IMetaData> iMetaData( ::GetDataBase(story),uidData->GetUID(),UseDefaultIID() );
InterfacePtr<ICommand> appendCmd(CmdUtils::CreateCommand(kAppendMetaDataCmdBoss));
InterfacePtr<IAppendMetaDataCmdData> cmdData(appendCmd,UseDefaultIID());
cmdData->Set( iMetaData,theNewData,kTrue );
ErrorCode cmdErr = CmdUtils::ProcessCommand(appendCmd);
return cmdErr;
}
|