Новый скрипт: расстановка фигурных рамок

Статус
Закрыто для дальнейших ответов.

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Так как на мой вопрос никто, на данный момент не дал ответа, предлагаю предварительную версию скрипта, разработанного по личной просьбе dudedude.
Скрипт предназначен для заключения абзацев текста указанного стиля в рамки с фигурными углами (Corner Effects...)
***** Проблемы и ограничения *****
Не могу сделать отступы текста внутри получающихся фреймов
Искомый параграф не должен быть последним, т.е. после него отбить пустой параграф
Тестим...
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Сорри...
Пока никто не скачал полуфабрикат, исправил проблему с отступами.
 

Вложения

  • CornerBorder.zip
    2.2 КБ · Просм.: 528

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Спасибо очень хорошо. Но есть одна проблема когда скрипт вставляет текст в рамке назад в колонку у него нет обтекания и получается каша.
Т.е. Текст в рамке наезжает на остальной текст. И обиекание у него не сделаешь. И еще просьба а можно их на отдельный слой помещать
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

dudedude сказал(а):
Спасибо очень хорошо. Но есть одна проблема когда скрипт вставляет текст в рамке назад в колонку у него нет обтекания и получается каша.
Т.е. Текст в рамке наезжает на остальной текст. И обиекание у него не сделаешь. И еще просьба а можно их на отдельный слой помещать
Текст в рамке вставляется как inline графика. Как он наезжает на остальной текст? Картинку, плиз...
 

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

ragman сказал(а):
Текст в рамке вставляется как inline графика. Как он наезжает на остальной текст? Картинку, плиз...
Вот пример я пробовал на отдельном куске текста.
 

Вложения

  • do.gif
    do.gif
    27.4 КБ · Просм.: 1 180
  • posle.gif
    posle.gif
    20.3 КБ · Просм.: 1 036

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Опиши строение текста или пришли на почту публикацию ИД.
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Проблема заключалась в принудительном установлении интерлиньжа. Исправил.
 

Вложения

  • CornerBorder.zip
    2.2 КБ · Просм.: 414

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Все хорошо. Только скрипт почему-то не обрабатывает весь документ а только выделенный фрейм. Допустим на другой странице продолжение этого фрейма а он не обрабатывает его.
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

dudedude сказал(а):
Все хорошо. Только скрипт почему-то не обрабатывает весь документ а только выделенный фрейм. Допустим на другой странице продолжение этого фрейма а он не обрабатывает его.
Так и задумывалось. Если надо, можно доработать, только попозжее...
 

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

PHP:
var myTextFrame = selection[0].parentStory;
var pageNum = myTextFrame.parent.id;
var myPage = activeDocument.pages.itemByID(pageNum);
var myStory = selection[0].parentStory;
for (myCounter = 0; myCounter < myStory.paragraphs.length; myCounter++) {
   myPara = myTextFrame.paragraphs[myCounter];
   if (myPara.appliedParagraphStyle.name == myParagraphStyle){
   var myText = myPara.characters.itemByRange(0,(myPara.characters.length - 2));
   myText.select(SelectionOptions.replace);
   app.cut();
   myPara.firstLineIndent = 0;
   myPara.leftIndent = 0;
   myPara.leading = -1;
   var columnWidth = myTextFrame.textFramePreferences.textColumnFixedWidth;
   var myNewTextFrame = myPage.textFrames.add();
   with (myNewTextFrame) {
   strokeWeight = myStrokeWeight;
   strokeType = myStyleLine;
   strokeColor = myColorLine;
   geometricBounds = [0, 0, 100, columnWidth];
   textFramePreferences.insetSpacing = new Array(myInsetSpacing, myInsetSpacing, myInsetSpacing, myInsetSpacing);
......

Ругается на строку
PHP:
textFramePreferences.insetSpacing = new Array(myInsetSpacing, myInsetSpacing, myInsetSpacing, myInsetSpacing);

А если вот так все работает
PHP:
var myTextFrame = selection[0];

Мне бы хотелось чтоб этот скрипт обрабатывал весь документ.
А то парюсь когда 40 страниц и на каждой надо щелкать отдельно
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
dudedude сказал(а):
Мне бы хотелось чтоб этот скрипт обрабатывал весь документ.
А то парюсь когда 40 страниц и на каждой надо щелкать отдельно
По заявкам:
Добавлен выбор связки фреймов: если выбран один текстовый фрейм - будет обработан только этот фрейм, если текстовый курсор стоит в тексте - будет отработана связка фреймов.
 

Вложения

  • CornerBorder.zip
    2.5 КБ · Просм.: 454

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Огромное спасибо тебе.
Приезжай к нам в Костанай пивом напоим.. :beer:
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Новый скрипт: расстановка фигурных рамок -=vs=- обтекание

Решил попользоваться собственным скриптом. Всем известно, что текст в таблице не обтекает ничего с указанным обтеканием. Думал, что если рамка будет нарисована не таблицей а текстовым фреймом, то все будет хорошо. Не тут то было...
При помещении текстового фрейма, как inline, текст в нём не обтекает графику. Кто знает как получить рамку вокруг абзаца и с обтеканием картинки?
рис. 1 - не обтекает
рис. 2 - хочу так
 

Вложения

  • vopr.jpg
    vopr.jpg
    62.1 КБ · Просм.: 1 180
  • vopr2.jpg
    vopr2.jpg
    59.2 КБ · Просм.: 1 162

Strizh

15 лет на форуме
Сообщения
982
Реакции
92
Ответ: Новый скрипт: расстановка фигурных рамок

нужно текстовый фрейм группировать с картинкой, а потом уже втыкать как инлайн графику, имхо, только ручками!
 

stlp

Участник
Сообщения
11
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

А можно модифицировать скрипт, чтобы он группу абзацев загонял в InLine-фрейм, намеченный XML-тегом?
 

stlp

Участник
Сообщения
11
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

И какое свойство объекту myNewTextFrame задать чтобы проставить фреймам цвет заливки ишо? И вообще где нарыть инфу по структуре объектов ИнДиза?
 

dudedude

Участник
Сообщения
44
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

Есть такой вопрос в данном скрипте все хорошо но есть одно но когда увеличиваешь шрифт или межстрочный интервал в стиле рамки летят и ничего нельзя сделать. Может это как то можно поправить :cry: А то добавилось проблем
 

ragman

Топикстартер
12 лет на форуме
Сообщения
669
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

dudedude сказал(а):
Есть такой вопрос в данном скрипте все хорошо но есть одно но когда увеличиваешь шрифт или межстрочный интервал в стиле рамки летят и ничего нельзя сделать. Может это как то можно поправить :cry: А то добавилось проблем
Либо править стиль до расстановки рамок, либо пробовать какой-нибудь скрипт для втягивания текста во фрейм (сам не пользовался, но читал про такие).
 

stlp

Участник
Сообщения
11
Реакции
0
Ответ: Новый скрипт: расстановка фигурных рамок

просто маленький скриптик написать, который для всех фреймов размер по содержимому снова проставит и делов то куча
 
Статус
Закрыто для дальнейших ответов.