kosmonaFFFt
@kosmonaFFFt
Senior Java Developer.

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

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


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


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

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
28 апр. 2024, в 00:54
10000 руб./за проект
28 апр. 2024, в 00:53
70000 руб./за проект
27 апр. 2024, в 21:24
150000 руб./за проект