Подключаемый модуль Web Direct Print - PullRequest
8 голосов
/ 13 июля 2011

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

Я знаю, что существуют подключаемые модули ActiveX, которые делают это, однако мы все знаем, что подключаемые модули ActiveX работают только в IE. Существует ли существующий плагин во Flash или Silverlight, который позволяет программно устанавливать свойства принтера, а затем направлять печать, не открывая собственное диалоговое окно браузера?

Java-решение тоже подойдет. Но ясно, что это не так желательно из-за установленной площади и простоты установки.

Ответы [ 3 ]

1 голос
/ 21 июля 2011

Может ли Adobe AIR быть частичным решением? Я сказал «частично», потому что сначала вы должны убедить / сказать людям, что нужно загрузить приложение AIR для принтера, которое в основном можно вызвать из браузера, который в вашем случае является командой печати.

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

0 голосов
/ 17 июля 2011

У нас также есть аналогичные требования. Мы склонны использовать подход «использовать Java-апплет» для большинства проблем, связанных с вещами, которые браузер не может сделать самостоятельно. Это не всегда лучший подход, но он последовательный и может делать все, что может делать автономное приложение.

Если вы хотите печатать напрямую на принтер, не открывая диалоговое окно, используйте Java 2D Printing API . Это позволяет вам создать именно то, что вы хотите напечатать, и отправить его прямо на принтер. Кроме того, Java-апплет может взаимодействовать с браузером взад-вперед, используя Javascript и, возможно, другие технологии.

0 голосов
/ 17 июля 2011

Мы также работаем над аналогичной проблемой.Наше текущее рабочее решение - встроить Java-апплет с разрешениями для взаимодействия с локальной файловой системой.Это все еще немного странно, но в нашей нынешней системе есть встроенные команды записи апплета в файл, этот файл отслеживается фоновым «сервером», который уже запросил нужный принтер и будет отправлять ему команды печати непосредственно на основании внесенных изменений.к файлу с помощью встроенного апплета ... Спагетти вроде решения, но у нас оно работает на 100% без диалогового окна печати родной системы.

Этот "сервер" может быть изменен, чтобы требовать несколько принтеров и печатать на определенныйодна база на другие команды, записанные в файл.

...