Hier noch mein aktueller Stand. Mir fällt auf, dass bei den Dateiinformationen zwischen dem ";" und dem nächsten Eintrag ein Leerzeichen ist, dass im neuen Metadaten-Dialog in CC 2014 fehlt. Sieht nicht schön aus, ist aber wohl auch kein Problem (siehe Screen).
In dem Zusammenhang auch interessant:
Könnte man direkt auch die Kennung > ISBN-Nr. mitgeben und viell. sogar Metadaten ergänzen, die InDesign nicht mit rausschreibt, wo man aber vorher schon das "dc-Element" kennt?
var curDoc = app.activeDocument;
var metaContentTframe = curDoc.textFrames.itemByName( "meinTextrahmen" );
var allParas = metaContentTframe.paragraphs;
var metaPrefs = curDoc.metadataPreferences;
for ( var i = 0; i < allParas.length; i++ ) {
var curPara = allParas;
if ( curPara.appliedParagraphStyle.name == "Title" ) {
metaPrefs.documentTitle = curPara.contents.replace( /\r/g , "" );
}
else if ( curPara.appliedParagraphStyle.name == "Authors" || curPara.appliedParagraphStyle.name == "Authors after 2-line title" ) {
var metaPrefsAuthor = metaPrefs.author = curPara.contents.replace( /\r/g , "" );
__clearXMPCreatorValue( metaPrefsAuthor );
}
else if ( curPara.appliedParagraphStyle.name == "Abstract" ) {
metaPrefs.description = curPara.contents.replace( /\r/g , "" );
}
else if ( curPara.appliedParagraphStyle.name == "Keywords" ) {
var kwArray = curPara.contents.replace( /\r/g , "" ).split( "; " );
metaPrefs.keywords = kwArray;
}
}
function __clearXMPCreatorValue ( _inputValue ) {
var _doc = app.activeDocument,
_namespace = "http://purl.org/dc/elements/1.1/",
_nodeName = "dc:creator",
_nodeValueArray = _inputValue.split(/[,;&]/),
_nodeValue,
i,j;
if ( _nodeValueArray.length <= 1 ) { return; }
for ( i = 0; i<_nodeValueArray.length; i++ ) {
j = i+1;
_nodeValue = _nodeValueArray.replace( "^\\s+","","" ).replace( "\\s+$","","" );
_doc.metadataPreferences.setProperty( _namespace, _nodeName+"["+j+"]", _nodeValue );
}
}