Top.Mail.Ru

Реализация двусторонней печати отчетов в DAX 2012

При реализации отчетов в DAX 2012 нередко бывает нужно выводить эти отчеты на печать. Это реализуется при помощи классов PrintJobSettings или SRSPrintDestinationSettings. Здесь есть возможность печатать только определенные страницы или возможность вписать лист на одну страницу или возможность указать количество копий и т.д. Однажды я столкнулся с тем что одним из требований печати была возможность печати документов с обеих сторон листа т.е. двусторонняя печать. Я даже и подумать не мог что это окажется проблемой, поскольку думал, что это реализовано в выше указанных классах. После долгих поисков, решения данной проблемы, в интернете, я наткнулся на одно сообщество, где был предложен следующий метод решения:
— создать виртуальный принтер с настройками существующего действующего принтера
— в настройках печати принтера выбрать вариант двусторонней печати

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

Казалось бы, на этом можно поставить точку и перейти к более важным делам, но, как оказывается, есть программисты (как минимум один точно), которые не знают, как создать виртуальный принтер. Танкисты, для вас (тебя) следующая инструкция

1 Открыть Панель инструментов (надеюсь это не составит труда) и нажать на Просмотр устройств и принтеров (обведено в красную рамку)

2 Теперь надо нажать на кнопку Добавление принтера (тоже обведено в красную рамку)

3 Дальше ждем пока поиск попытается найти какой-нибудь принтер, если находит, то выбираем нужный и переходим к пункту 6, если нужный не найден, то жмем на Необходимый принтер отсутствует в списке (тоже обведено в рамку)

4 После выбираете способ добавления, я выбрал добавление принтера по TCP/IP адресу

5 Далее нужно указать адрес и порт (на всякий случай поля для заполнения обведены рамкой)

6 После чего нужно найти принтер в предложенном списке, принтер должен быть действующим, т.е. тот который печатает, надеюсь, как кличут его вы знаете, главное не перепутать принтер, а то получится не хорошо

7 Теперь самый сложный момент, ничего не нужно выбирать просто жмем Далее

8 Теперь нужно проявить свои творческие способности и придумать название принтера

9 Ничего лишнего не жмем, просто жмем Готово

10 Теперь можно поаплодировать себе молодцу за прекрасную работу, принтер добавлен (обведен в красивую красную рамочку).

Фух, самое сложное сделано, теперь переходим к тому, что мы умеем и любим делать, отдыхаем 10 минут.

В коде после инициализации настроек печати указываем принтер следующим образом

— для класса PrintJobSettings есть метод deviceName, где входным параметром является наименование принтера (ваша творческая деятельность в пункте 8 инструкции по созданию виртуального принтера)
— для класса SRSPrintDestinationSettings есть метод printerName, входной параметр тот же что.

На этом думаю все.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar