Имя: Пароль:
IT
 
Как вычислить максимальный размер шрифта при котором содержимое влезет в нерастягиваемую ячейку?
0 ИС-2
 
05.12.14
07:24
В табличном документе есть область переменного размера (объединяется несколько ячеек по условию). В данную область надо вывести текст с максимально возможным шрифтом, так чтобы текст полностью поместился в область (если надо, то разбился на несколько строк т.е с переносом). Текст выводится вертикально и может быть совершенно разной длины.
Как это сделать?
1 Cube
 
05.12.14
07:44
Нарисуй в экселе, как хочешь сделать и сделай скрин.
2 Лодырь
 
05.12.14
07:45
Если я верно понимаю, он хочет вычислить максимальный размер шрифта при котором содержимое влезет в нерастягиваемую ячейку.
3 ИС-2
 
05.12.14
07:51
(2) да
4 Лодырь
 
05.12.14
07:52
(3) Встречал примеры решения в Excel. На мисте так же была тема с аналогичным содержанием, но она насколько я помню кончилась ничем.
5 Лодырь
 
05.12.14
08:16
6 Escander
 
05.12.14
08:23
(0) средствами 1С это нереально т.к. там всё измеряется в условных единицах... средствами экселя уже можно пробовать
7 mergan
 
05.12.14
08:28
(6)собственно средства 1с это тоже реально сделать ... мало того еще в клюшках это было реализовано
8 Лодырь
 
05.12.14
08:33
(7) Не, можно сделать конечно просто. Создать файл эталонной ширины для разных размеров разных шрифтов. Вычислять ширину всего текста, делить на ширину ячейки, умножать на высоту строки и сравнивать с высотой ячейки, но как бы требует подготовительной работы.
9 Лодырь
 
05.12.14
08:34
Или плюнуть на все, использовать моноширинный шрифт и показывать всем проблемам средний палец.
10 Banned
 
05.12.14
08:39
(9) Плюнь на всё и иди в таксисты.
11 Лодырь
 
05.12.14
08:41
(10) Влом.
12 mergan
 
05.12.14
08:45
(8)ширина будет увеличиваться пропорционально ... поэтому для всех "размеров" вычислять не надо
13 mergan
 
05.12.14
08:46
правильнее сказать ... эталон нужен будет для одного размера ... для остальных получать программным путем
14 Лодырь
 
05.12.14
08:47
(12) Надо еще не забыть про италик, жирные , полужирные и прочую нечисть.
15 ИС-2
 
05.12.14
10:01
(14) пробовал рассчитывать по площади - фигня получается...
16 Лодырь
 
05.12.14
10:04
(15) Почему?
17 ИС-2
 
05.12.14
10:10
(16) из-за того, что начинает переносить
18 Лодырь
 
05.12.14
10:16
(17) дык и что? в чем суть проблемы пока непонятно.
19 ИС-2
 
05.12.14
10:21
(18) подсчитал ручками примерную площадь одной буквы. Вывел. Сделал длинный текст - 1С вывела, но оставила пустые области, которые дают расхождение с моим коэф площади 1 буквы
20 ИС-2
 
05.12.14
10:22
надо в начале вычислить на сколько подстрок разобьет 1C текст в этой области
21 Лодырь
 
05.12.14
10:25
(20) Ну конечно. о чем и писалось выше.
22 ИС-2
 
11.12.14
07:46
Есть большая ячейка в табличном документе. Как можно выводить в нее текст в режиме "замостить" т.е если после первоначального вывода осталось место, то система еще раз выводить на свободное пространство текст
23 Злопчинский
 
11.12.14
08:05
На клюшках -в полпинка
24 ИС-2
 
11.12.14
08:12
(23) кому они сейчас нужны...
25 Злопчинский
 
11.12.14
08:13
На исе у меня выложена обработка по печати ценников с гарантированным размещением текста

Делаешь просто

На клюшках это так
Делаешь макет
в макете секция с одной ячейкой переменной высоты
Поля макета подбирашь так чтобы максимальная высота ячейки без переноса на новую страницу совпадала с нужной тебе фиксированной высотой
.
Далее в цикле крутишь черновой вывод наращивая высоту шрифта как только количество страниц стаоло больше одной то возвращаешься к предыдущему размеру шрифта
26 Злопчинский
 
11.12.14
08:17
(24) ну не знаю
Пока что в моем узком кругу просьбы к восьмерочникам сделать так как мне удобно натыкаются на сопротивление по принципу ну это сложно
27 Злопчинский
 
11.12.14
08:18
в снеговике врое для этой цели можно воспользоваться чтототипа проверитьвывод()
28 ifso
 
11.12.14
08:36
(27) в снеговике для этой цели можно воспользоваться мистой )
29 ИС-2
 
11.12.14
08:57
(25) а это вариант. Попробую...