Подтвердить что ты не робот

Как создать собственный драйвер принтера XP

Как создать собственный драйвер принтера XP, который будет выполнять следующие действия:

  • печать в файл (возможно, XPS формат)
  • вставьте этот файл в пароль защищенный ZIP файл
  • напишите zip файл на настроенный адрес электронной почты
4b9b3361

Ответ 1

Вам не нужен драйвер принтера. Один из них назвал его Print Monitor. Это DLL, которая будет загружена в процессе Spooler.exe. DLL дает Spooler на этапе инициализации логические имена портов, таких как LPT1:, FILE:, SPSPort: и т.д. Оптут, подготовленный с помощью драйвера принтера, должен быть отправлен любым способом на целевое устройство. Эта работа выполняет печать мониторов, таких как "Стандартный порт TCP/IP" или "Локальный порт".

Для записи монитора принтера вам необходимо загрузить и установить комплект драйверов Windows (WDK или некоторое время назад DDK см. http://www.microsoft.com/whdc/devtools/WDK/default.mspx). Более подробную информацию о записи монитора принтера см. http://msdn.microsoft.com/en-us/library/ff563806(v=VS.85).aspx. Print Monitor - это DLL с некоторой экспортируемой функцией (см. http://msdn.microsoft.com/en-us/library/ff549405(v=VS.85).aspx). Я рекомендую вам начать с модификации Local Monitor, пример LocalMon, который вы получите полный исходный код после установки WDK (см. http://msdn.microsoft.com/en-us/library/ff556478(v=VS.85).aspx).

Самая практичная проблема с записью монитора принтера - необходимость записи реальной многопоточной библиотеки DLL. Вы должны быть очень осторожны, понимать и использовать EnterCriticalSection во всех своих функциях. Для отладки монитора принтера вы должны подключить Visual Studio Debugger к диспетчеру процессов. Остальное - это то же самое, что и запись стандартной Windows Win32/Win64 DLL.

ОБНОВЛЕНО: Еще одно небольшое замечание. Если вы не хотите, чтобы драйвер принтера делал что-либо с данными, отправленными на принтер, вы можете использовать общий драйвер принтера. Вы найдете его в разделе "Generic", принтер с именем "Generic/Text Only". Изучите некоторые настройки драйвера, которые у вас есть (например, настройки CR LF)

Ответ 2

Пока я не могу предложить каких-либо конкретных советов, если бы я хотел делать то, что вы описали, первое, что я хотел бы сделать, это прочитать источник PDFCreator - это драйвер печати Windows, который может выплевывать PDF файлы.

Ответ 3

Совместите эти программы, сначала cpri (для доступа через ваш код к устройству принтера)

На языке C

http://sourceforge.net/projects/cpri/

то вы можете использовать

http://sourceforge.net/projects/pdfcreator

чтобы получить виртуальный принтер для создания формата PDF, xps

Ответ 4

Я нашел хорошее пошаговое руководство, охотясь за тем же:

"Создание виртуального принтера Postscript в Windows с использованием Ghostscript

http://www.stat.tamu.edu/~henrik/GSPSprinter/GSPSprinter.html

Выходные устройства, поддерживаемые ghostscript, находятся здесь: http://pages.cs.wisc.edu/~ghost/doc/cvs/Devices.htm (PDF, Postscript, PNG и т.д.).

Example of redirecting printer to a program - using tutorial