[CDR X5-X8] Как программно добраться до галки "Расширять и сокращать рамку абзаца для вмещения текста" ?

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

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Нужно найти вот это:
Инструменты - Параметры - Рабочее пространство - Текст - Абзац:
"Расширять и сокращать рамку абзаца для вмещения текста" = Expand and shrink paragraph text frames to fit text

В истории, вроде как не сохраняется. Плохой знак...
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Похоже, не добраться. Впрочем, она ничем не поможет.

Подгонку размера фрейма под содержимое придётся реализовывать программно. Придётся постольку, поскольку галка "Расширять и сокращать рамку абзаца для вмещения текста" должна быть отключена (иначе с перетеканием фреймов будут проблемы - будет невозможно изменить размеры всех фреймов, кроме последнего).

"Подгонка размера фрейма под содержимое" - задача для _MBK_ ?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
"Подгонка размера фрейма под содержимое" - задача для _MBK_ ?
Я бы сказал по другому - это задача для Индизайна.'))'
Корел, как инструмент верстки параграф текста, совершенно дубовый
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Корел, как инструмент верстки параграф текста, совершенно дубовый
На то и существуют VBA/VSTA-скрипты.

Что касается подгонки размера фрейма, то в простейшем случае, когда все колонки одинаковой ширины, задача вполне реализуема. Но опять-таки сильно усложняют задачу отступы перед и после абзацев.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Что касается подгонки размера фрейма, то в простейшем случае, когда все колонки одинаковой ширины, задача вполне реализуема. Но опять-таки сильно усложняют задачу отступы перед и после абзацев.
Вам же еще на заре вашего появления на этом форуме объяснили, что корел не дает доступа к физическим координатам символов внутри текстового блока. А раз так - задача нетривиальна по определению. Или я что-то недопонял и вы на самом деле хотите иного? 'hmmm'
Разве что, продублировать фрейм, скривить, посмотреть габариты полученного объекта, подогнать под них рамку - не? 'hmmm'
 
Последнее редактирование:

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
не дает доступа к физическим координатам символов внутри текстового блока
Это обстоятельство не является решающим при выполнении подобного рода задач. Что бы вам дала возможность доступа к координатам символов при решении данной задачи ? Думается, что ничего...

Разве что, продублировать фрейм, скривить, посмотреть габариты полученного объекта, подогнать под них рамку - не?
Да. Этот вариант я реализовал. Но пока остаётся нерешённым вопрос с отступами перед и после абзацев. Из-за них подгонка получается неточной. К тому же после скривления габариты чуть уменьшаются по сравнению с габаритами исходного фрейма.
 

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
А есть и другой вариант подгонки: сначала определяем приблизительную высоту фрейма, затем в цикле меняем его высоту с малым шагом и проверяем, влезает текст или нет. Но для этого нужна программная возможность проверки "влезания" текста в рамку фрейма...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
  • Спасибо
Реакции: Cyrax

Cyrax

Топикстартер
10 лет на форуме
Сообщения
588
Реакции
4
Вроде то. В целях ускорения сделал 3-проходную подгонку - сначала грубую, затем с большей точность и в конце с максимальной (заданной) точностью. Дополнительно сделал обработку "висячих" строк widow и orphan (за счёт увеличения высоты фрейма). Получилось красиво. Программировать геморройно (много артефактов в поведении текстовых объектов), но результат впечатляет...
 
Статус
Закрыто для дальнейших ответов.