Узнать ширину текста в пикселах Чтобы при выводе на печать самому регулировать длину выводимых строк. чтото переносить в другие строки. Можно ли это сделать? |
Можно, но не всегда точно получается. |
А например. Как? |
(2) А несложно: создаешь массив, заполняешь его шириной букв и символов (определяется экспериментально) и перебираешь строку, подсчитывая текущую длину прибавлением чисел из массива. Как только превысит заданное значение - переносишь. Определить ширину символа можно так: берешь строку известной ширины, заполняешь ее одинаковым символом до заполнения, по тому, сколько поместится - вычисляешь ширину. И так для всех символов. Когда-то попадалось готовое решение для печатной формы ТОРГ-12, но сейчас даже и не знаю, где его искать. |
Да можно и так, долго это. Я вот смотрел может как то WinAPI использовать. Там тоже ВК нужно и как то функцию вызывать. |
решается все "штатно". без всяких ширин букв. и в 7.7 и в 8-ке. |
для клюшек рабочий пример здесь [url]http://infostart.ru/public/181223/[/url] как это штатно сденлать на 8-ке читал буквально на днях на ИС - даже плюсанул, но как это найти влет быстрой сейчас - влом |
Да, но там написано 1000 рублей. |
[quote=Чучундер;41323700] решается все "штатно". без всяких ширин букв. и в 7.7 и в 8-ке. [/quote] Ну как штатно, не вижу возможности |
0-mykuban > Нашёл интересные ссылки, которые будут полезны: Поместится ли текст в ячейке? (с примерами использования: авторазмер шрифта, перенос строк) [url]http://infostart.ru/public/123769/[/url] Как вычислить высоту строки таблицы. [url]http://avb1c.narod.ru/rowheight.html[/url] Для ценников значимым параметром является количество ценников на ширине листа, поэтому, при автомасштабировании страницы по ширине, не имеет смысла работать с пикселями и миллиметрами - достаточно иметь количество символов, помещающихся в ширине ячейки. Поэтому, на мой взгляд, было бы полезно, при подготовке текста для укладки в ячейку ценника, сделать сопоставление - количество символов конкретного символа заданного шрифта, укладывающихся в ширину ячейки и, таким образом, определить, сколько единиц ширины таблицы в конфигураторе приходится на 1 символ. Если эти данные ввести в список значений, или таблицу значений, то логически просто построить заполнение ячейки таблицы ценника. Можно так же ориентироваться на среднестатистическую длину строки, укладывающуюся в окно ячейки, с некоторым запасом на частоту используемых символов. - Примерно так... :-) |
9-perpetum > вот, первая ссылка - это то, что я читал и упоминал в (7) |
в клюшках можно тупо. например есть фиксированный ценник (как у меня в примере), выводится куча ценников на лист а4. делаем макет из одного ценника, поля снизу и сверху - такие, чтобы вписывался только один ценник всего. Высота строки = авто. далее тупо делаем подбор РАЗМЕРА ШРИФТА. выводим секцию, проверяем - если получилось больше 2 страниц - значит НЕ ВЛАЗИТ. уменьшаем шрифт на шаг. Выводим, проверяем.. и так пока не влезет на одну страницу |
Ну суть понятна. Хотя у меня не ценники. Бланк документа заполняю. |
12-mykuban > одна фигня, подход тот же просто может понадобиться нескольок "секций" анализировать для отдельных областей документа или в черновую таблицу делаешь несколько строк одна за другой, каждпая строка - это "проблемная" секция/область в бланке документа. Вывел в черновик все надписи - влезло = ок, не влезло - смотришь уже в частностях - в какой секции выгоднее шрифт уменьшить |
в (9) по первой ссылке для 8-ки все подоробно разжевано в публикации и комментах |
Текущее время: 03:20. Часовой пояс GMT +3. |