Разбивка ячеек таблицы c многострочным текстом по страницам ... Надо печатать документы - Счета-Фактуры и Расходные накладные с длинной текстовой частью наименования, раскладывающегося в окне ячейки печатной формы на несколько строк - от 1-й до примерно 5-6-ти... Нужен алгоритм подсчета количества строк в получающейся печатной форме, чтобы правильно сделать переносы по страницам... Пробую средствами анализа переноса по пробелам, при заданной длине строки окна формы. Но оказалось, сей алгоритм чувствителен к принтеру и используемому типу шрифта и будучи сделанной настройка на одном компьютере, требует перенастройку на другом…. Как получить информацию средствами ОС? - То есть, нужен механизм, работающий по типу форматирования текста таблицы в Ворде или Экселе, вызываемый для оценки получающейся раскладки на строки, после чего было бы просто отработать логику переноса по страницам. Если у кого есть опыт в этом направлении - делитесь! |
ВысотаСекции(<?>) ВысотаТаблицы() ВысотаСтроки(<?>) в 77 |
2-101 > ... ВысотаСтроки(<?>) ... - Для ячейки с автоформатированием высоты ячейки по укладываемому тексту с переносом - это разве что-то даст? - ВысотаСтроки(<?>) - Это ведь обращение к форме, ещё не заполненной и не выведенной на печать! По умолчании высота ячейки с автоформатированием 11.25 единиц, а число строк заранее не известно! ... Кроме того, для выбранного принтера имеется свой встроенный текст, в соответствии с которым будет идти печать многострочной части и происходить разбиение на страницы... Надо встроенной функцией ОС опросить виртуальную печатную форму на количество строк...., тогда переносы будут совершаться правильно, вставкой НоваяСтраница() в нужном месте, чтобы ячейки разбивались правильно и можно было подсчитать итог по странице... ... может я чего не увидел? |
Текущее время: 16:42. Часовой пояс GMT +3. |