Изучение скриптов

  • Автор темы Автор темы Sanchos
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Sanchos

Sancho
Топикстартер
15 лет на форуме
Сообщения
806
Реакции
158
В книге «InDesign CS2 Scripting Reference» на стр.558 есть таблица и пример экспорта в ПДФ. Беру я этот пример, сохраняю в скрипт, запускаю в Индизе и он пишет ошибку.
Заметил что кавычки не те, исправил, но ошибка всеравно.???
Код:
myPDFFile = new File("r:\test.pdf")
app.activeDocument.exportFile(ExportFormatType.pdfType, myPDFFile, false, "AdobePDFSancho");

В чем проблема??? Помогите.
 
Ответ: Изучение скриптов

ExportFormatType.pdf Type => ExportFormatType.pdfType

Аккуратно Copy-Paste...
 
Ответ: Изучение скриптов

Oleg Butrin сказал(а):
ExportFormatType.pdf Type => ExportFormatType.pdfType

Аккуратно Copy-Paste...
а в имени файла не двойной ли бэкслэш нужен? :)
 
Ответ: Изучение скриптов

Заработало только вот так.

Код:
myPDFFile = new File("r:\[COLOR=Red]Test.pdf[/COLOR]")
app.activeDocument.exportFile([COLOR=Red]ExportFormat.pdfType[/COLOR], myPDFFile, false, "AdobePDFSancho");

Были странные проблемы с именем файла, не хотел создавать файл с названием с маленькой буквы...???
 
Ответ: Изучение скриптов

ermouth
А ты прав на счет двойного бекслеша.

Задумался о написании следующего:
Скрипт должен находить в документе, на развороте, в story или в выделенном определенные слова , стили или элементы форматирования и заменять их на др. слова , стили или элементы форматирования. Подскажите пример.

в чем я ошибся?
Код:
var myDoc = app.activeDocument();
with(myDoc){    
var myPage = myDoc.pages(0);    
with(myPage){       
var myTextFrame = textFrames(0);       
myTextFrame.search[COLOR=Red]([for] = "Проба", [replacingWith] = "Проба 2")[/COLOR];    
}  
}


Не по теме:
Да а как в Индизе через Поиск/Замену сделать следующее:
Найти определенное слово или словосочетание в начале обзаца и заменить стиль всего обзаца на другой

 
Ответ: Изучение скриптов

Sanchos сказал(а):

Не по теме:
Да а как в Индизе через Поиск/Замену сделать следующее:
Найти определенное слово или словосочетание в начале обзаца и заменить стиль всего обзаца на другой



Не по теме:
Тривиально.
Искать:
^p<Слово или словосочетание>
Формат поиска - пусто
Заменить
пусто
Формат замены - нужный стиль

 
Ответ: Изучение скриптов

Пиндец стилю предыдущего абзаца.
 
Ответ: Изучение скриптов

Можно, но в два круга.
1) ^p<Слово или словосочетание>
заменить на
^p^p<Слово или словосочетание> не трогая формата.
2) ^p<Слово или словосочетание>
заменить на
<Слово или словосочетание>, установив нужный стиль.
Одна беда. Все символьные установки тоже слетят, если заранее они не были размечены символьными стилями.
 
Ответ: Изучение скриптов

Заработл в след. варианте

Код:
var myDocument = app.activeDocument
with(myDocument){
  var myPage = myDocument.pages.item(0)
  with(myPage){
     var myTextFrame = textFrames.item(1)
     myTextFrame.search("Проба", [COLOR=Red]false, false[/COLOR], "Проба 2")
  }
}
Обьясните что значат эти false?
А вот как задать чтобы искал не в конкретном фрейме, а во всем доке или в story?
 
Ответ: Изучение скриптов

False означает, что не true...
Конкретно в этих местах означает, что whole word и case sensivity совсем даже не true.
 
Ответ: Изучение скриптов

Ага, начинающий скриптописатель типа все ПОНЯЛ. Хотя... Понял.
А поиск во всем доке я нашел. остались другие объекты.
 
Ответ: Изучение скриптов

vbatushev сказал(а):
Пиндец стилю предыдущего абзаца.

А вот знаете...
Я тоже так думал, а оказалось, что нет.
Все правильно работает. Я же попробовал...
 
Ответ: Изучение скриптов

А у меня с регулярностью происходит. Поэтому в sZam'е пришлось обманывать.
 
Ответ: Изучение скриптов

Подскажите алгоритм.
Задача:
Если выделен текстовый фрейм, то применить форматирование и замену текста только в этом фрейме.
Если нет выделения, применять форматирование ко всему документу.
 
Ответ: Изучение скриптов

PHP:
with (app) {
	if ((selection.lenght == 1)&&(selection[0].constructor.name == "TextFrame")) {
		format(selection[0]);
	} else {
		format(activeDocument);
	}
}

function format (mObject) {
//	функция обработки 
}
 
Ответ: Изучение скриптов

подскажите как бы мне узнать положение на странице (x1,y1,x2,y2) одного из параграфов в TextFrame.
у paragraph не нашел ничего похожего на visibleBounds;
:-(
 
Ответ: Изучение скриптов

Oleg Butrin сказал(а):
15 тем назад. В ПОИСК!!!
Извините, недолистал.
А может ктото подскажет javascript конструкцию которая позволяет определить есть или нет определенное свойство или метод у объекта.
кпримеру у последнего TextFrame нет свойства nextTextFrame
и имею эксцепшн :-( при обработке цепочки.
Или подскажите где почитать про эти основы а то в скриптинг гайд какраз об этом молчек. Вилимо это основы яваскрипт :(
 
Ответ: Изучение скриптов

PHP:
try {

} catch (error) {

}
 
Ответ: Изучение скриптов

Oleg Butrin
Спасибо за код в сообщении 15, только не доходит а дальше на какой объект ссылаться?
Если на mObject, то скрипт работает во всем документе(нет разницы выделен фрейм или нет), на TextFrame выдает ошибку.

Да и в InDesign CS2 Scripting Reference.pdf все описано или есть тонкости из самого языка не описанне в документации?
 
Статус
Закрыто для дальнейших ответов.