13, скриптове на Adobe

Скриптове за програми на Adobe и автоматизация на оформлението

  • За начинаещи: Търсене с параметри. Част I
  • Теренни изпитания: Проблемът с вътрешното съдържание
  • Ние преподаваме материал: Експортиране на файлове
  • Полезен скрипт: Липсва парче текст: "името е чичо Федор"

Съдържание

За начинаещи ▲

Търсене с параметри. Част I

Вече разгледахме механизмите за намиране на текст в InDesign като цяло. Сега ще консолидираме знанията си чрез решаване на практически проблем за обработка на текст с помощта на „интелигентна“ замяна.

Добър пример за необходимостта от подобна подмяна е телевизионна програма. Разделителят между часове и минути в началното време на предаването е или точка, или двоеточие: "12.30" или "12:30". Как да го направим правилно не е толкова важно, основната задача често е да приведем текста в една форма, в нашия случай нека бъде точка. Ръчната подмяна на текст е дълга и трудна, а стандартните инструменти на InDesign няма да позволят замяната на двоеточие между числа с точка без допълнителни ощипвания (описани подробно в статията ...). При решаването на подобни проблеми скриптовете предоставят помощ, която е трудно да се надцени.

Проблемът с подмяната на дебелото черво с точка между две цифри (и само между тях) с помощта на скриптове той може да бъде решен поне по два начина. Първият се основава на факта, че методът Търсене () връща масив от текстови обекти, всеки елемент от който също може да бъде обработен в цикъл.

smartFindChange.jsx
Скриптът заменя двоеточието между числата с точка

Несъмненото и очевидно предимство на това решение е, че скриптът по дефиниция не може да наруши форматирането на текста, което вече беше направено преди стартирането. Недостатъкът на това решение е бавното изпълнение, тъй като за всеки намерен текст се извършва отделно търсене и подмяна. Когато обработвате достатъчно голяма телевизионна програма, сценарият ще работи изключително бавно (когато се достигне критичната стойност на намерените текстове - 10 000 или повече - като цяло е възможно да се замрази).

За да се ускори обработката на текст, има друг метод, основан на временното прилагане на специално създаден стил на знак към намерените текстове. Замяната се извършва с едно извикване на метода search (), което значително ускорява обработката, но в същото време съществува риск от нарушаване на предварително зададеното форматиране. Както в механиката: печелите от разстояние - губите във времето.

smartFindChangeUseStyle.jsx
Скриптът демонстрира търсене и замяна с помощта на временния стил

Тест на място ▲

Проблем с вътрешното съдържание

Съдържание (съдържание) текстовите рамки са различни. В по-голямата част от случаите съдържанието може да бъде представено като Unicode текст, включително много специални знаци, като неразбиващото се пространство. Съществува обаче тип знак, който не може да бъде представен като Unicode последователност. Как да работите правилно с тях?

На първо място, добре е да разберете какво представлява unicode. (Unicode). Като цяло това е кодиране, което прави възможно използването на почти 65 хиляди различни знака. Това означава, че системите, които поддържат такова кодиране, могат да поддържат различни национални езици без преконфигуриране. Unicode шрифтовете могат да се използват за писане на текстове на различни езици; един и същ шрифт може да се използва за писане на английски, немски, руски, украински текст и за много други, до арабски. Освен това в програмите, които възприемат правилно Unicode, тези текстове трябва да изглеждат еднакво. В допълнение към буквите и различни препинателни знаци, Unicode поддържа голям брой специални знаци, включително няколко типа интервали.

Като експеримент можете да експортирате текст от InDesign в текстов файл, кодиран с Unicode, и да го отворите в друга програма, която поддържа това кодиране, като MS Word. С изключение на някои знаци, текстът ще изглежда идентичен. Ако обаче текстът, експортиран от InDesign във формат Unicode, е поставен в друг документ на InDesign, пак няма да има пълна идентичност. За целите на експеримента, опитайте се да прехвърлите текста, съдържащ символа Auto Page Number, като експортирате във файл в Unicode кодиране. Той ще се провали, тъй като този знак не е Unicode знак, а представлява група от "добавки" знаци над Unicode. Такива знаци се четат само в InDesign (и в InCopy по очевидни причини).

Документацията на Adobe предоставя пълен списък на тези символи и техните значения. (десетцифрено число). Тези стойности са всички свойства на изброителя SpecialCharacters, който съдържа 38 (важи за InDesign CS2, може да бъде по-малко или повече в други версии) свойства за означаване на различни специални знаци. Някои специални символи могат да бъдат представени под формата на Unicode стойност, но производителите на InDesign някак са сметнали за необходимо да ги представят под формата на свойства на изброителя SpecialCharacters.