- Сообщения
- 33 777
- Реакции
- 11 046
Не пойму, то ли адобовские индусы как всегда перемудрили, то ли у меня мозг замылен?
Нужно поменять Exif метаданные файла, именно Exif, причем нестандартные, в частности User Comments. Стандартного свойства в Document.info , которое можно было бы поменять, не существует, но есть массив массивов exif, где все поля перечисляются. Но, как назло, именно он из всех свойств зачем-то сделан Read only - поменять ни один тэг в нем невозможно!
Ладно, действуем хитрее: создаем новый документ через экшн:
Вроде не ругается, документ создается, но поля EXIF в нем нет
Где я туплю, в какую сторону копать?
Нужно поменять Exif метаданные файла, именно Exif, причем нестандартные, в частности User Comments. Стандартного свойства в Document.info , которое можно было бы поменять, не существует, но есть массив массивов exif, где все поля перечисляются. Но, как назло, именно он из всех свойств зачем-то сделан Read only - поменять ни один тэг в нем невозможно!
Ладно, действуем хитрее: создаем новый документ через экшн:
Код:
...
var id1 = charIDToTypeID( "Mk " );
var desc1 = new ActionDescriptor();
var id2 = charIDToTypeID( "Nw " );
var desc2 = new ActionDescriptor();
var id3 = charIDToTypeID( "Md " );
var id4 = charIDToTypeID( "RGBM" );
desc2.putClass( id3, id4 );
var id5 = charIDToTypeID( "Wdth" );
var id6 = charIDToTypeID( "#Rlt" );
desc2.putUnitDouble( id5, id6, 480.000000 );
var id7 = charIDToTypeID( "Hght" );
var id8 = charIDToTypeID( "#Rlt" );
desc2.putUnitDouble( id7, id8, 476.000000 );
var id9 = charIDToTypeID( "Rslt" );
var id10 = charIDToTypeID( "#Rsl" );
desc2.putUnitDouble( id9, id10, 72.000000 );
var id11 = stringIDToTypeID( "pixelScaleFactor" );
desc2.putDouble( id11, 1.000000 );
var id12 = charIDToTypeID( "Fl " );
var id13 = charIDToTypeID( "Fl " );
var id14 = charIDToTypeID( "Wht " );
desc2.putEnumerated( id12, id13, id14 );
var id15 = charIDToTypeID( "Dpth" );
desc2.putInteger( id15, 8 );
var id16 = stringIDToTypeID( "profile" );
desc2.putString( id16, "sRGB IEC61966-2.1" );
var id18 = stringIDToTypeID( "EXIF" );
desc2.putString( id18, "EXIF tag 137510 TestComment" );
var id17 = charIDToTypeID( "Dcmn" );
desc1.putObject( id2, id17, desc2 );
executeAction( id1, desc1, DialogModes.NO );
...
Где я туплю, в какую сторону копать?