Краткое содержание:
Некоторое время автор топика экспериментировал с написанием программы, которая эмулирует принтер HP и принимает задания на печать от планшета HP TouchPad. Полученное задание преобразуется в PDF, а затем отправляется на принтер по умолчанию, подключенный к компьютеру. Мне удалось успешно напечатать несколько заданий с моего TouchPad на принтере Brother (который даже не поддерживает PCL!). Практически все работает гладко и я хочу, чтобы остальные также могли попробовать результаты моего труда.
Где можно скачать это?
Готовые файлы доступны по адресу: http://dl.dropbox.com/u/24894676/Touch2 ... v1.2.1.zip
Исходный код доступен по адресу: http://dl.dropbox.com/u/24894676/Touch2 ... .1_src.zip
Как мне запустить это?
- На компьютере должен быть установлен Adobe Reader.
- Убедитесь, что на компьютере установлена среда .NET Framework (вы можете проверить ее наличие, открыв Панель управления -> Установка и удаление программ и поискав "Microsoft. NET Framework 4" или нечто подобное). Если она не установлена, вы можете загрузить ее здесь.
- Распакуйте архив, запустите файл TouchPad2PcPrinter.exe и перейдите во вкладку Options:
- Выберите соответствующий принтер для печати каждым поддерживаемых HP TouchPad методов (Simplex/Black & White, Duplex/Black & White, Simplex/Color, Duplex/Color). Можно указать до 4 "профилей" в зависимости от того, как вы хотите печатать тот или иной документ.
- Если вам нужно только преобразовывать документы в формат PDF, не печатая их, отметьте чекбокс “Print to PDF only”. Можно указать папку DropBox/Box.net, чтобы немедленно получить доступ к получившемуся PDF-файлу с TouchPad.
- Если вы хотите печатать документы на физическом принтере, вам также понадобится выбрать программу, которая будет осуществлять печать. Нажмите the “Browse…” радом с пунктом "PDF Program Path" и выберите AcroRd32.exe (исполняемый файл для Adobe Reader). Обычно путь к AcroRd32.exe имеет следующий вид “C:\Program Files\Adobe\Reader 10.0\Reader\AcroRd32.exe”
- Найдите путь к acrord32.exe на вашем компьютере (как правило, что-то вроде "C:\Program Files \Adobe\Reader 10.0\Reader\AcroRd32.exe").
- Нажмите “Save”.
- Нажмите “Start”. Теперь программа запущена и готова принять задания на печать.
- Если появится предупреждение от файервола, откройте приложению Touch2Pc Printer доступ в сеть.
- На TouchPad откройте настройки принтера (Settings->Print Manager) и вручную добавьте принтер. IP-адресом принтера является IP-адрес вашего компьютера. Вы можете назвать принтер, как вам захочется.
Теперь у вас должна появится возможность отправлять задания на печать с вашего TouchPad!
Какие порты должны быть открыты?
Для успешной работы Touch2Pc Printer требуется, чтобы TCP порт 9100 и UDP порт 161 были открыты.
Как это работает?
Программа делает несколько вещей, одна из которых является ответ на SNMP-запросы, отправляемые c HP TouchPad для выявления "принтера". Всякий раз, когда TouchPad посылает SNMP-запрос, программа отвечает с информацией об HP псевдо-принтере. А именно, SNMP переменная 1.3.6.1.4.1.11.2.3.9.1.1.7.0 используется как строка идентификации устройства. Вот так TouchPad определяет, является ли принтер HP или нет (см. строку 10 и 12 SnmpObjects.cs, чтобы увидеть, что именно программа отправляет в качестве ответа на эту переменную запросу).
После того, как TouchPad получил SNMP ответ, он показывает пользователю диалог печати. После того, как пользователь подтверждает задание на печать, TouchPad посылает задание на печать (как PCL файл) для TCP/IP-порта 9100, который, в свою очередь, прослушивается программой. Программа считывает задание, после чего, использует файл pcl6.exe для преобразования в формат PDF. После преобразования в формат PDF, используется Adobe Reader, который посылает сгенерированный PDF файл на печать на принтер по умолчанию.
Недостатки
Я думаю, основным недостатком этого решения является то, что вам необходимо иметь компьютер в той же локальной сети, работающий под управлением этой программы, если вы хотите печатать с планшета.