[ID CS4-CS6] Скрипт для замены текста картинкой

  • Автор темы Автор темы Darvinnn
  • Дата начала Дата начала

Darvinnn

Топикстартер
10 лет на форуме
Сообщения
46
Реакции
0
Добрый день! Помогите пожалуйста разобраться с написанием скрипта для замены текста на картинку.
Задача - упростить верстку телепрограммы. Есть текст, где названия каналов написаны текстом (Первый, Второй, НТВ и т.д.). Есть подготовленные EPS-картинки с логотипами каналов. Так вот, нужно что бы все названия каналов заменялись логотипами.
Пока дальше схемы не продвинулся:

Вставить логотип первого канала
Вырезать объект в буфер обмена
app.findPreferences.Findtext = "Первый";
app.changePreferences.changeTo = Буфер обмена;
app.documents[0].changeText();
Повторить все то же самое для остальных каналов.

Помогите пожалуйста все это написать работающим скриптом. Спасибо!
 
Посмотрите это.
 
Мало что понятно...
А можно в конструкции заменить на указать содержимое буфера обмена. Как то так:
app.changeGrepPreferences.changeTo = "/C";
 
Наверное, все таки app.ChangeTextPreference ? %8
Где вы эту дичь откопали?
В книге Борисова 2008 года )) Понял уже, что многое поменялось )
Сейчас выглядит так:

var myObject = myDoc.pages[0].place(new File(ИМЯ ФАЙЛА)),[0,0],undefined, false); // непонятно как написать это
Скопировать объект в буфер обмена (вернее, вырезать)
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat = "Первый";
app.changeGrepPreferences.changeTo = "/C"; // земенить на содержимое буфера
app.changeGrep();
 
"place" можно делать сразу вместо нужного слова:
JavaScript:
var curText = app.activeDocument.stories[0].words[0];
curText.place(File("/d/work/.../logologo.eps"));
 
"place" можно делать сразу вместо нужного слова:
JavaScript:
var curText = app.activeDocument.stories[0].words[0];
curText.place(File("/d/work/.../logologo.eps"));
Мало понятно что с этим делать )))
Как это вставить вместо слова Первый
 
Мало понятно что с этим делать )))
Я погляжу, вы хотите или чтобы вам готовый скрипт написали или в рамках этой темы обучили азам программирования с нуля? И то и другое весьма проблематично
Вы приведенные ссылки то критически читаете?
 
Я погляжу, вы хотите или чтобы вам готовый скрипт написали или в рамках этой темы обучили азам программирования с нуля? И то и другое весьма проблематично
Вы приведенные ссылки то критически читаете?
Вполне критически. Я прошу помочь написать скрипт. Готовый не нужно, нужно просто помочь. И да, программированию хочу научиться
 
Скрипт простой.
1. Найти текст по списку строк.
2. Заменить текст на картинку из файла.
 
  • Спасибо
Реакции: Darvinnn
А как это сделать средствами javascript?
А вы насколько знакомы со средствами javascript в принципе?
Потребуется объявит массив строк, а лучше -- объектов, где одним полем является строка для поиска, а другим -- путь к файлу.
Затем в цикле этот массив надо будет обработать.
 
  • Спасибо
Реакции: Darvinnn
Еще раз повторяю - обратите внимание на это:
Я его посмотрел. Мало понятно, если честно ))
Мне бы конструкцию реализовать:

Вставить логотип первого канала
Вырезать объект в буфер обмена
app.findPreferences.Findtext = "Первый";
app.changePreferences.changeTo = Буфер обмена;
app.documents[0].changeText();
Повторить все то же самое для остальных каналов.

Или
app.findGrepPreferences.findWhat = "Первый";
app.changeGrepPreferences.changeTo = ФАЙЛ
app.documents[0].changeText();
Повторить все то же самое для остальных каналов.
 
А вы насколько знакомы со средствами javascript в принципе?
Потребуется объявит массив строк, а лучше -- объектов, где одним полем является строка для поиска, а другим -- путь к файлу.
Затем в цикле этот массив надо будет обработать.
Весьма поверхностно. На VB приходилось писать макросы, на яваскрипте не было опыта. Объявить массив Искомый_текст - путь к файлу не проблема. А вот что дальше с этим делать не понятно. Вернее, ясно, что нужно просмотреть весь текст, при нахождении любого элемента первого столбца массива заменить его на файл, расположенный по пути, указанному во втором столбце массива. А вот как это реализовать, не понятно (
 
Мне бы конструкцию реализовать:
Давайте еще раз определимся - вы хотите полностью с нуля обучиться программированию на javascript в рамках этой темы? Судя по вашим постам, обучать придется самым азам.
Или все таки найти готовый костыль, который можно применить на практике?
Если второе, то понимать логику процитированного скрипта вам не обязательно - меняйте первый и какие там еще каналы на имена файлов и применяйте скрипт
 
Давайте еще раз определимся - вы хотите полностью с нуля обучиться программированию на javascript в рамках этой темы? Судя по вашим постам, обучать придется самым азам.
Или все таки найти готовый костыль, который можно применить на практике?
Если второе, то понимать логику процитированного скрипта вам не обязательно - меняйте первый и какие там еще каналы на имена файлов и применяйте скрипт
У меня стоит вполне конкретная задача - сделать скрипт. Обучаться задачи не стоит. Если есть костыль, который можно адаптировать под задачу, было бы прекрасно. Приведенный ранее скрипт решает немного другую задачу, и там очень много переменных запрашивается у пользователя. Если можете, приведите подходящий костыль или напишите скрипт, который тупо меняет слово на картинку
 
Вы начинаете меня пугать. '8()'
У меня стоит вполне конкретная задача - сделать скрипт. Обучаться задачи не стоит.
Давайте вместе посмотрим инструкцию
РАБОТА СО СКРИПТОМ

Подготовьте текст, содержащий кроме всего прочего имена файлов, заключенные в тэги (или не заключенные в теги) и запустите скрипт.

Выберите тип представления имен файлов (Короткие имена означают, что в подготовленном заранее тексте файлы представлены в виде имя.расширение, например test.tif. Длинные имена означают, что файлы представлены в виде путь/имя.расширение). Если в подготовленном тексте имены файлов представлены в кодированном виде (UTF-8), то включите соответствующую опцию (если вы не знаете, что такое UTF-8 - ничего страшного, просто не обращайте внимание на эту опцию). Измените тэги в соответствии с подготовленным текстом.

Выберите настройки для изменения размеров помещенных картинок. Если вы точно знаете размер помещаемых картинок и можете указать процентное соотношение нужного размера к реальному. То есть, если картинка нужна в половину меньшего размера, чем есть, устанивите значение, равное 50%. Картинки можно и увеличить - до 200%. Если вы хотите, чтобы картинка не выходила за рамки некоторого точно определенного размера, то воспользуйтесь настройками "максимальная длина" и "максимальная высота". При включенных опциях картинка будет пропорционально уменьшена так, чтобы она не превышала допустимые размеры.

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

После нажатия кнопки Ок скрипт найдет имена файлов в тексте и заменит их на сами файлы.
Что именно тут непонятно или неприемлемо для вас? IMHO проще некуда - меняйте нужные слова на имена файлов а потом запускайте.
Это гораздо проще, чем учиться программированию или каким то непостижимым образом писать скрипт не умея программировать вообще и не желая учиться
 
Вы начинаете меня пугать. '8()'

Давайте вместе посмотрим инструкцию
Что именно тут непонятно или неприемлемо для вас? IMHO проще некуда - меняйте нужные слова на имена файлов а потом запускайте.
Это гораздо проще, чем учиться программированию или каким то непостижимым образом писать скрипт не умея программировать вообще и не желая учиться
Вы издеваетесь? Поменять названия каналов на имена файлов по времени выйдет чуть дольше, чем вручную через GREP-замену поменять все вхождения на заранее скопированные логотипы. Задача - иметь скрипт, который заменит названия на логотипы в одно нажатие.
"Не умея программировать" - это вы загнули, вполне умею, но на VB, С+ и Паскале.
"Не желая учиться " - это вы из чего сделали такой вывод?
 
Последнее редактирование: