Автоматично записване в MIF

Adobe FrameMaker Frequently asked questions

Автоматично записване в MIF?

Не е необичайно да има „смесени“ работни процеси в FrameMaker, при които членовете на екипа използват различни версии на FrameMaker. Документи, запазени в по-ниска версия, могат да бъдат отваряни с по-високи версии, но не можете да отваряте документи, запазени с по-висока версия, с по-ниска версия на FrameMaker. Има две решения: Първо, можете да използвате по-високата версия, за да „запишете надолу“ към по-ниската версия. Въпреки това, можете да запишете надолу само към следващата по-ниска версия, например от FrameMaker 12 към FrameMaker 11. Второ, можете да запишете документа в MIF (Maker Interchange Format), в който случай можете да го отворите с всяка по-ниска версия на FrameMaker.

Основната пречка при записването в MIF е, че трябва да не забравяте да го направите. Но с ExtendScript можете да автоматизирате това. Можете да създадете скрипт, който автоматично ще записва документа в MIF всеки път, когато изберете File > Save или натиснете Control+S. Когато сте готови да предадете MIF файла на друг член на екипа, който може да използва по-ниска версия на FrameMaker, знаете, че той винаги ще отразява последно записаните промени.

Ето как да настроите скрипта по-долу:

  • Копирайте кода по-долу и го поставете в празен текстов файл.
  • Запазете текстовия файл на удобно място с името „SaveAsMif_Event.jsx“.
  • Затворете FrameMaker, ако е стартиран.
  • Копирайте файла в C:\Users\\AppData\Roaming\Adobe\FrameMaker\\startup, където е вашето потребителско име в Windows, а е версията на FrameMaker, която използвате. Ако папката startup не съществува, създайте я.
  • Стартирайте FrameMaker и тествайте скрипта. Отворете документ, направете някои промени и го запазете. Би трябвало да видите съответстващ MIF файл в същата папка като документа.
Ако имате въпроси, проблеми или коментари, моля, публикувайте ги в секцията за коментари. Ето връзка към видео, което преминава през създаването на скрипта.

Notification (Constants.FA_Note_PostSaveDoc, true);

function Notify (note, object, sparam, iparam) {

switch (note) {
case Constants.FA_Note_PostSaveDoc :
saveAsMif (object);
break;
}
}

function saveAsMif (doc) {

// Get required parameters for the save function.
var params = GetSaveDefaultParams();
var returnParamsp = new PropVals();

// Replace the .fm extension with .mif.
var saveName = doc.Name.replace (/\.[^\.\\]+$/,".mif");

// Get the FileType save parameter and set it to MIF.
var i = GetPropIndex(params, Constants.FS_FileType);
params[i].propVal.ival = Constants.FV_SaveFmtInterchange;

// Save the document as MIF.
doc.Save(saveName, params, returnParamsp);
}


Препратка:
https://frameautomation.com/automatically-saving-to-mif/


Comments