Microsoft Report Builder неправильно печатает отчет

Я создаю отчет, показывающий ТОП-4 элемента в таблице. Я хочу распечатать отчет на принтере этикеток Zebra LP2844. Этикетка 6х4 горизонтальная. Я установил ширину страницы на 6 дюймов и высоту на 4 дюйма. Каждое поле установлено на 0,1 дюйма. Ширина корпуса установлена ​​на 5,8 дюйма (6 дюймов-0,1 дюйма-0,1 дюйма). Я запускаю отчет через построитель отчетов и смотрю на параметры страницы и выбран портрет. Поэтому я выбираю Пейзаж и подтверждаю OK. Если я посмотрю еще раз, он вернется к портрету. Этикетка печатается как хочет. Я получаю его либо для альбомной печати, но все намного меньше (только с использованием верхней левой трети этикетки), либо это правильный размер, но портретный, поэтому он обрезается.

Еще одна проблема - штрих-код, который я пытаюсь напечатать. Я использую шрифт C39P12DmTt. Я вижу это в отчете о прогоне, но он не печатается.

Как исправить отчет?

Я использую SQL2008 и построитель отчетов 3.0.

Спасибо,


person Patrik    schedule 26.03.2012    source источник


Ответы (1)


Я не могу ответить на вопрос о ваших реальных проблемах с Report Builder, но я могу рассказать вам кое-что о принтерах Zebra LP2844 в целом:

Я много имею дело с принтерами Zebra LP2844 на работе, и у меня не было ничего, кроме проблем каждый раз, когда я пытался печатать через драйвер принтера Windows из какого-либо генератора отчетов (в основном MS Access).
В большинстве случаев проблемы были связанные с форматом и размером этикетки (альбомная ориентация вместо книжной, один отчет разделен на несколько физических этикеток...), что похоже на проблемы, с которыми вы столкнулись.

В принтерах Zebra есть встроенный язык EPL (или ZPL, в зависимости от модели), который можно использовать для отправки команд непосредственно на принтер.
Создание этикеток в EPL/ZPL не так удобно, как перетаскивание. в дизайнере отчетов, но печать надежная, просто работает и ни разу меня не подводила за все годы (мы печатаем сотни этикеток в день уже почти 10 лет).

Я боюсь, что создание кода EPL/ZPL невозможно напрямую с помощью SQL Server, но вы можете сделать это с помощью C# или любого другого языка программирования.
Вот отличная запись в блоге о том, как печатать этикетки на принтерах Zebra LP2844. с C#:
Отправка необработанного EPL2 напрямую на Zebra LP2844 через C#

TL;DR:
Я знаю, что вы сейчас пытаетесь создать отчет непосредственно с помощью построителя отчетов SQL Server, но я бы посоветовал вам сгенерировать код EPL/ZPL и отправить его непосредственно на принтеры. , если это возможно.
Поверьте мне, это избавит вас от многих проблем в долгосрочной перспективе!

person Christian Specht    schedule 26.03.2012
comment
Спасибо, это приятно знать. Я рассмотрю EPL/ZPL. - person Patrik; 27.03.2012