Скрипт представлен в листинге 4.25.
with {арр) {
// Проверяем наличие выделения if {selection.length < 1) { alert (langNoSelection); exit ();
)
// Определяем переменную, возвращающую тип объекта var mySelectionType = selection[0].constructor.name;
// Свойство constructor позволяет определить принадлежность // объекта тому или иному типу. Результат имеет вид // [Object ObjectName], где ObjectName - тип объекта.
// Для более удобной работы используют свойство объекта // пате, которое непосредственно дает название типа объекта.
// Подготавливаем массивы с параметрами экспорта
var myFileTypes = new ArrayC’Adobe PDF", "EPS", "JPEG"");
var myFileExt = new Array!"*.pdf", "*.eps", "*.jpg"); var myExportType = new Array("ExportFormat.pdfType",
■ "ExportFormat.epsType", "ExportFormat.jpg"); if (mySelectionType - "TextFrame" ) {
II Расширяем диапазон текстовыми форматами myFileTypes.push("ID Tagged Text", "Rich Text Format",
"Text only",); myFileExt.push("*.txt”, "*.rtf", "*.txt"); myExportType.push("ExportFormat.taggedText", "ExportFormat.rtf", "ExportFormat.textType");
}
II Диалоговое окно
var myDialog = dialogs.add((name:"Параметры экспорта"}); with (myDialog) (
with (dialogColumns.add()) {
II Панель настроек with(dialogColumns.add()) { var mySelectFileType =
dialogRows.add().dropdowns.add({stringList:myFileTypes, selectedlndex:0, 4>minWidth:150});
}
}
}
var myResult = myDialog.show(); if (ImyResult) { exit();
}
II Отображаем запрос для присвоения файлу имени.
II Формат: название, состоящее из выбранного типа файла,
// после двоеточия - расширение var myExportFile =
File.saveDialog((myFileTypes[mySelectFileType.selectedlndex] + + myFileExt[mySelectFileType.selectedlndex]));
II Проверяем нажатие кнопки Cancel if (ImyExportFile) { exit();
}
II Если запрошен экспорт в текстовый формат, выполняем его with (ExportFormat){
if ((myExportType[mySelectFileType.selectedlndex] - taggedText) 4^ || (myExportType[mySelectFileType.selectedlndex] == rtf) II 4^ (myExportType[mySelectFileType.selectedlndex] == textType)) { // Если выбран фрейм, экспортируем весь содержащийся в нем текст if (mySelectionType == "TextFrame") {
selection[0] .texts [0] .exportFile (myExportType1^
[mySelectFileType. sel^ectedlndex] , myFile, true) ;
// Если не фрейм, то экспортируем объект (объекты)
} else {
selection[0] .exportFile1^
(myExportType[mySelectFileType.selectedlndex], myFile, true);
}
exit ();
}
}
// Определяем размеры документа и его ориентацию with (activeDocument.documentPreferences) { var myPageHeight = pageHeight; var myPageWidth = pageWidth;
}
// Если выбран текстовый объект и экспорт в графический формат,
//то выделяем родительский фрейм в качестве объекта экспорта if ((mySelectionType = "InsertionPoint") ||
(mySelectionType == 'V'Text") ) { selection[0].parentTextFrame.select();