Печать квитанции ASP.NET

В настоящее время я делаю проект, в котором мне нужно распечатать чек на чековом принтере. На данный момент я использую механизм CSS media=screen, media=print, чтобы указать, что печатать.

Проблема, конечно, в верхнем и нижнем колонтитулах, которые нельзя удалить, так как это зависит от браузера клиента.

Поэтому мне интересно, есть ли у кого-нибудь другое предложение о том, как сделать печать. Желательно без использования слишком большого количества операций ввода-вывода.


person Hotspur    schedule 01.04.2009    source источник


Ответы (5)


Вообще говоря, если вам нужен точный контроль, лучше всего иметь pdf или другой формат документа, сгенерированный сервером, для печати. (если машины, печатающие квитанции, контролируются и имеют слово, то .doc (html с типом вывода) является самым простым методом. Существует ряд сторонних элементов управления для создания PDF из кода на стороне сервера. Надеюсь, это приведет вас в полезном направлении, поскольку вы не указали, контролируете ли вы используемые клиентские машины.

Одним из преимуществ PDF является то, что вы можете использовать его как жесткий архив, а также отправлять квитанции по электронной почте в виде вложения.

person Tracker1    schedule 01.04.2009

Информация в верхнем и нижнем колонтитулах (при условии, что вы говорите об URL-адресе, отображаемом внизу страницы) находится на стороне клиента, и вы ничего не можете сделать, чтобы изменить это со стороны сервера.

Если вся ваша печать будет выполняться внутри вашей компании, вы можете создать групповую политику для печати через Internet Explorer, чтобы удалить их в масштабах всей компании. Вы также можете просто иметь инструкции на своей странице о том, как изменить эти настройки вручную.

Другой вариант — распечатать с помощью стороннего приложения, такого как PDF, или распечатать его непосредственно с сервера, если этот вариант вам доступен.

person AaronS    schedule 01.04.2009

Вы имеете в виду верхний и нижний колонтитулы?

Если это так, заверните верхний и нижний колонтитулы в идентификаторы и создайте теги CSS, чтобы настроить их и придать им гораздо более простой стиль, или вы можете использовать элемент CSS display:none, чтобы полностью удалить их в css для печати.

person supergalactic    schedule 01.04.2009

Вы можете загрузить контент, который хотите напечатать, в iframe, сфокусироваться на нем и распечатать его. Таким образом, вы будете иметь точный контроль над тем, что указано в квитанции.

Это займет немного javascript, но я успешно делал подобные вещи, когда писал собственный контрактный принтер.

person Mike Robinson    schedule 01.04.2009

Это не решение ASP, но может помочь:

http://code.google.com/p/jzebra

Это java-плагин, который может обходить верхний и нижний колонтитулы.

person Fatbuttlarry    schedule 24.02.2012