|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.08.2009, 19:47 | #1 |
Пользователь
Регистрация: 08.08.2009
Сообщений: 18
|
Печать на usb
SOS...
Есть такая проблема, очень нужно вывести печать канвы на принтер, но не просто на принтер, а на USB (т.е. не важно, какой порт стоит по умолчанию). Пробовал пару советов из нета, но получалось выводить только на lpt, com и прочее.
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
Последний раз редактировалось Night_owl; 08.08.2009 в 20:07. |
09.08.2009, 02:48 | #2 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
почитай про ТPrinter.. работает с любыми принтерами.. от тока когда создаешь канву. так делай ее 24-х битной а не 32-х.. 32-ч битную некоторые принтера не воспринимают..
пример можшь посмотреть тут http://delphiworld.narod.ru/base/pri...y_printer.html
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
09.08.2009, 08:40 | #3 |
Пользователь
Регистрация: 08.08.2009
Сообщений: 18
|
Нет, просто печатать я могу, но дело в том, что в данном случае мне надо сделать что-то вроде этого:
"printer.SetPrinter(pDevice, PDriver, 'USBxxx', hDMode);" и так далее, т.е. другими словами, порт на принте может быть в системе выставлен другой (не правильный), необходимо что бы выводил он именно на usbxxx (долго объяснять, почему такая специфика) Ладно, суть похоже никто не уловил, поясню… У нас на конторе используются ряд ПО (так же и терминальное «Citrix»), у которых наблюдается ряд глюков. Некоторые отчеты принципиально не видят usb и выдают, что принтер не инсталлирован, они работают только через lpt или локальный порт, другие, спустя какое-то время начинают терять принтер. Так же, необходимо некоторые отчеты (из oracle), после печати, перевести в графический режим (т.к. сервер не у нас, а в др. конторе, подействовать мы на них не можем). Все отчеты, которые формируются имеют одно отличие – они без проблем печатают на lpt и на локальный хост (EX: «C:\Print»). Вот поэтому и нужно написать утилитку, которая бы всем этим хозяйством и занималось, при этом я не могу использовать два драйвера принтера, так как после отправки на другой драйвер, многие ПО, которые были запущенны, теряют принтер «по умолчанию» и выдают, что принтер не инсталлирован. Т.е. моя идея такая: Через драйвер принтера на «C:\Print» отправляется вся печать. После этого, утилитка поднимает этот файл и начинает его разбирать и решать, что с ним делать. После необходимых операций, она отправляет печать на этот же драйвер, но на реальный usb-порт. ПО больше не глючит, у меня меньше работы, директор доволен, я счастлив! Самое обидное то, что в общем то, утилитка работает, но под конец я наступил на такие вот грабли…
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
Последний раз редактировалось Stilet; 10.08.2009 в 09:56. |
10.08.2009, 08:22 | #4 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
вот программка
вешаешь на LPT порт принтер (виртуальный) ... Это программка перехватывает пакеты с lpt и отправляет на usb пользуйся на здоровье
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
10.08.2009, 10:56 | #5 |
Пользователь
Регистрация: 08.08.2009
Сообщений: 18
|
Слушай, спасибо, конечно. Проверю ее чуть позже, но если это то, то не мог бы ты скинуть хотя бы часть кода, который отвечает за печать на usb? У меня уже реально по этому поводу разыгрался животный интерес!
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
|
10.08.2009, 11:38 | #6 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
Исходников от неё нет...утерялись....
На сколько помню берёт задания из папки и пере посылает на usb принтер... какойто то из них должен быть по умолчанию выбран. p.s. работало в 2000 винде в ХР не тестил.
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
10.08.2009, 11:45 | #7 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Могу примерно сказать как это работает. Создается виртуальное устройство, которое занимает lpt порт - все задания отправляются на него, а он в свою очередь перенаправляет именно на выбранный принтер (а это не обязательно usb). Сама программа конкретно ничего не печатает, а только занимается пересылкой данных.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
10.08.2009, 12:35 | #8 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
Utkin ну я так и сказал
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
10.08.2009, 12:41 | #9 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Тысяча извинений, проглядел пост #4 .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
10.08.2009, 14:47 | #10 |
Пользователь
Регистрация: 08.08.2009
Сообщений: 18
|
Пнятно... Ну что ж, придется ковыряться... Бессонные ночи, море выпитого пива и километры выкуренных сигарет… РАЙ!!!
Иногда, человеку просто необходим хороший пенок под зад в нужном направлении...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с USB | SERG1980 | Компоненты Delphi | 11 | 26.10.2010 10:09 |
USB | JUDAS | Общие вопросы Delphi | 2 | 31.12.2008 20:58 |
USB осцилограф | Toha Chorniy | Помощь студентам | 1 | 13.10.2008 19:47 |
Печать на принтер(USB) | kisser_san | Общие вопросы Delphi | 4 | 25.04.2008 16:18 |
USB to USB | OrdJONY | Компьютерное железо | 11 | 02.04.2008 11:13 |