К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Узнать ширину текста в пикселах

Гость
0 - 04.02.2016 - 11:34
Чтобы при выводе на печать самому регулировать длину выводимых строк. чтото переносить в другие строки.

Можно ли это сделать?



1 - 04.02.2016 - 11:58
Можно, но не всегда точно получается.
Гость
2 - 04.02.2016 - 12:14
А например. Как?
3 - 04.02.2016 - 12:29
(2) А несложно: создаешь массив, заполняешь его шириной букв и символов (определяется экспериментально) и перебираешь строку, подсчитывая текущую длину прибавлением чисел из массива. Как только превысит заданное значение - переносишь.

Определить ширину символа можно так: берешь строку известной ширины, заполняешь ее одинаковым символом до заполнения, по тому, сколько поместится - вычисляешь ширину. И так для всех символов.

Когда-то попадалось готовое решение для печатной формы ТОРГ-12, но сейчас даже и не знаю, где его искать.
Гость
4 - 04.02.2016 - 12:40
Да можно и так, долго это. Я вот смотрел может как то WinAPI использовать. Там тоже ВК нужно и как то функцию вызывать.
5 - 04.02.2016 - 18:23
решается все "штатно". без всяких ширин букв.
и в 7.7 и в 8-ке.
6 - 04.02.2016 - 18:27
для клюшек рабочий пример здесь http://infostart.ru/public/181223/

как это штатно сденлать на 8-ке читал буквально на днях на ИС - даже плюсанул, но как это найти влет быстрой сейчас - влом
Гость
7 - 05.02.2016 - 08:36
Да, но там написано 1000 рублей.
Гость
8 - 05.02.2016 - 08:49
Цитата:
Сообщение от Чучундер Посмотреть сообщение
решается все "штатно". без всяких ширин букв. и в 7.7 и в 8-ке.
Ну как штатно, не вижу возможности
9 - 05.02.2016 - 11:16
0-mykuban > Нашёл интересные ссылки, которые будут полезны:

Поместится ли текст в ячейке? (с примерами использования: авторазмер шрифта, перенос строк)
http://infostart.ru/public/123769/

Как вычислить высоту строки таблицы.
http://avb1c.narod.ru/rowheight.html

Для ценников значимым параметром является количество ценников на ширине листа, поэтому, при автомасштабировании страницы по ширине, не имеет смысла работать с пикселями и миллиметрами - достаточно иметь количество символов, помещающихся в ширине ячейки. Поэтому, на мой взгляд, было бы полезно, при подготовке текста для укладки в ячейку ценника, сделать сопоставление - количество символов конкретного символа заданного шрифта, укладывающихся в ширину ячейки и, таким образом, определить, сколько единиц ширины таблицы в конфигураторе приходится на 1 символ.
Если эти данные ввести в список значений, или таблицу значений, то логически просто построить заполнение ячейки таблицы ценника.
Можно так же ориентироваться на среднестатистическую длину строки, укладывающуюся в окно ячейки, с некоторым запасом на частоту используемых символов.
- Примерно так... :-)
10 - 05.02.2016 - 12:51
9-perpetum > вот, первая ссылка - это то, что я читал и упоминал в (7)
11 - 05.02.2016 - 12:59
в клюшках можно тупо.

например есть фиксированный ценник (как у меня в примере), выводится куча ценников на лист а4.

делаем макет из одного ценника, поля снизу и сверху - такие, чтобы вписывался только один ценник всего. Высота строки = авто.

далее тупо делаем подбор РАЗМЕРА ШРИФТА. выводим секцию, проверяем - если получилось больше 2 страниц - значит НЕ ВЛАЗИТ. уменьшаем шрифт на шаг. Выводим, проверяем.. и так пока не влезет на одну страницу
Гость
12 - 05.02.2016 - 13:24
Ну суть понятна. Хотя у меня не ценники. Бланк документа заполняю.
13 - 05.02.2016 - 17:05
12-mykuban > одна фигня, подход тот же
просто может понадобиться нескольок "секций" анализировать для отдельных областей документа

или

в черновую таблицу делаешь несколько строк одна за другой, каждпая строка - это "проблемная" секция/область в бланке документа. Вывел в черновик все надписи - влезло = ок, не влезло - смотришь уже в частностях - в какой секции выгоднее шрифт уменьшить
14 - 05.02.2016 - 17:06
в (9) по первой ссылке для 8-ки все подоробно разжевано в публикации и комментах


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены