Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка файла на принтер 
:(
    Опции темы
Temnozor
  Дата 6.8.2003, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 27.6.2002
Где: Тюмень

Репутация: нет
Всего: нет



Жил я счастливо.
Простой код
Код
CopyFile(FilePath, PrinterPath, FALSE);

отправлял мой файл в формате prn на принтер.
Все было хорошо пока не поставили ненавистный принтер HP LaserJet 5Si MX. Он послал мою программу. Не ругается, проглатывает файл и... нигугу - даже не пытается печатать. Драйвера какие только не ставили! Результат - ноль. С другими принтерами нет проблем, а этот...
А так принтер - зверь. Из какого-нить Word'а печатает молниеносно, успевай только бумагу подкладывать.
В общем, понял я что программу придется переписывать. Проблема только в том что нет опыта работы с принтерами. Посоветуете какими функциями найти в сети принтер (желательно чтобы его не надо было добавлять в список принтеров системы, хотя это не критично) и отправить на него prn-файл.

--------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound.
PM   Вверх
p0s0l
Дата 6.8.2003, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 2
Всего: 112



Не проверял, но скорее всего принтеры в сети можно найти так:

Код
DWORD WNetOpenEnum(

   DWORD dwScope, // scope of enumeration
   DWORD dwType, // resource types to list
   DWORD dwUsage, // resource usage to list
   LPNETRESOURCE lpNetResource, // pointer to resource structure
   LPHANDLE lphEnum  // pointer to enumeration handle buffer
  );

ставь:
dwScope = RESOURCE_GLOBALNET
dwType = RESOURCETYPE_PRINT
dwUsage = 0



--------------------
С уважением, г-н Посол.
PM   Вверх
Baa
Дата 8.8.2003, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Лучше всего работать с принтером через нормальное апи, а не через CopyFile... как именно? зайди на www.codeguru.com, там есть отличные примеры, если не разберешься сам, пиши, дам тебе свой пример.


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Temnozor
Дата 8.8.2003, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 27.6.2002
Где: Тюмень

Репутация: нет
Всего: нет



Спасибо за ответы.
Переписал прогу. Результат - тот же. Принтер принимает файл и... ничего не делает. Только лампочка продолжительно мигнет и все.
Пришел к выводу что принтер не может по каким-то причинам обработать PCL-файл. Не ругается. Не пишет ничего в лог ошибок. Даже сообщение получаешь - мол, напечатано. Если просто текст послать - печатает. И дрова менял и даже firmware хотел обновить (нету его, HP не выпустила). Пусть ставят другой принтер, теперь это не моя забота. (Правда надо доказать что я не виноват, а это нелегко).
--------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound.
PM   Вверх
DENNN
Дата 8.8.2003, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

Репутация: 1
Всего: 43



Может ему не хватает какого то эскейп-кода навроде "конец данных, можно печатать"?
PM ICQ   Вверх
mr.DUDA
Дата 8.8.2003, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 25
Всего: 232



Чем менять дрова и firmware, не легче ли поставить прогу (отправляющую что-то-там на принтер) на компе, к которому принтер подключен ? А печатать обычными WinAPI ф-циями ?

Это сообщение отредактировал(а) mr.DUDA - 8.8.2003, 10:20


--------------------
user posted image
PM MAIL WWW   Вверх
Baa
Дата 8.8.2003, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2639
Регистрация: 12.4.2002
Где: Москва

Репутация: 8
Всего: 12



Да, кстати, про сетевой принтер... была проблема, надо было заставить печатать парус (досовская программа) на сетевой принтер... помогло следующее:
net use lpt1 \\server\hplaserj
так кажется... т.е. этим самым мы перенаправляем всё, что идет у нас на лпт порт в сетевой принтер... удобно... так может и твоя прога заработает...


--------------------
"Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande
PM ICQ   Вверх
Temnozor
  Дата 11.8.2003, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 27.6.2002
Где: Тюмень

Репутация: нет
Всего: нет



Забейте.
Я уже забил.
Поставили другой принтер (HP LJ 5000) - все печатает, только шуба заворачивается.
А на тот принтер я пелюю.
--------------------
Take a ride on, ride on, on your rotting horse on that deadly ground Take a ride, ride on, on your rotting horse with a pounding sound.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.