Задать вопрос
kosmonaFFFt
@kosmonaFFFt
Senior Java Developer.

Как узнать точную длину печатаемого текста?

Доброго времени суток…


Имеется принтер карточек Zebra p430i, программа на .NET, которая должна на нем печатать и проблема с выравниванием текстов, которая заключается в следующем:


есть несколько текстов, выровненных по правому краю в области с 10 до 50 мм, тексты печатаются разными стилями и шрифтами, при этом правые края текстов должны находиться на одном уровне, а в реальности наблюдается смещение от миллиметра до 2-х, зависит от шрифтов и стилей… Выравнивать пытался как средствами принтера, так и средствами объекта Graphics, созданного из графического контекста принтера, результатов ноль… Ну и соответственно вопрос — можно ли как-нибудь узнать точные размеры строки, которая будет напечатана, чтобы внести поправки при печати, или как-то выровнять текст попиксельно? Желательно при этом не лезть в дебри шрифтов… Уже пробовал вырианты с MeasureString и MeasureCharacterRanges, размер получается лишь приблизительный…
  • Вопрос задан
  • 3198 просмотров
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
magnitudo
@magnitudo
Архитектор, программист, предприниматель...
Вы уверены, что всё делаете правильно? Я как-то решал похожую задачу и таких проблем не было. Попробуйте нарисовать макет на форме/пенели и посмотреть останется ли смещение?
Если да, то дело видимо в особенностях шрифтов, в этом случае можете пробовать вручную найти отступ текста относительно левого края и скорректировать позицию.
Если нет, то смотрите параметры хинтинга и всяких улучшайзеров принтера.
Ответ написан
taliban
@taliban
php программист
От шрифтов на самом деле очень много зависит, моноширинные шрифты, например, кроме самой буквы учитывают так же и промежуток в расчетах ширины, тоесть та же точка будет иметь ширину буквы ш, и от этого никуда не деться =)
Ответ написан
@MikhailEdoshin
А если напечатать геометрическую фигуру заданного размера, она выходит, как задано, или плывет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 20:40
10000 руб./за проект
22 дек. 2024, в 20:34
3000 руб./за проект
22 дек. 2024, в 20:12
10000 руб./за проект