Giter VIP home page Giter VIP logo

tcpprintservice's Introduction

TCPPrintService

Возможности

Сервис предназначен для эмуляции сетевого принтера.

Как пользоваться

1. Скомпилировать проект.
2. Скопировать TCPPrintService.exe в любой каталог.
3. Скопировать нужные библиотеки Qt.
4. Создать файл настроек. 
	Для Windows 10 C:/ProgramData/TCPPrintService/settings.json
5. Установить сервис TCPPrintService.exe -install. Установку производить от имени администратора.
	5.1 Для проверки запуска сервиса запустить его с параметром -exec. В консоль будет выведена информация по запуску.
6. Если необходимо, настроить сервис для автоматического запуска.
7. Открыть входящие порты (9100 ...).
8. Запустить сервис из консоли "Службы", либо командой TCPPrintService.exe без параметров.


Возможен запуск как приложения командой TCPPrintService.exe -exec.
Все сообщения и отладочная информация выводятся в консоль.

Пример запуска
	$ TCPPrintService.exe -exec
	Info   Config file name is "C:/ProgramData/TCPPrintService/settings.json"
	Info   Logging type "textfile"
	Info   Log file name is C:/ProgramData/TCPPrintService/TCPPrintService.log
	Info   Folder created - C:/ProgramData/TCPPrintService/jobs/HP Universal Printing PCL 5 (v6.1.0)
	Info   Listen address for printer "HP Universal Printing PCL 5 (v6.1.0)" is 192.168.0.1 port 9100
	Info   Listen address for printer "HP3524" is 0.0.0.0 port 9101
	Info   Service started successful

По умолчанию (если параметр не указан) все сообщения сервис записывает в event log - "logtype": "system".
Для того, чтобы сообщения записывались в файле настроек необходимо указать параметр "logtype": "textfile"  

Пример файла настроек

{
  "logtype: "system",
  "printers": [
	{
	  "listen": "192.168.0.1",
	  "interfacewaittime" : 120,
	  "localname": "HP Universal Printing PCL 5 (v6.1.0)",
	  "active": true,
	  "port": 9100,
	  "subnets": "192.168.1.0/24, ::/32",
	  "log": "ape",
	  "storejobs": true,
	  "jobspath": "jobs/HP Universal Printing PCL 5 (v6.1.0)"
	},
	{
	  "localname": "HP3524",
	  "active": true,
	  "port": 9101,
	  "subnets": "",
	  "log": "p",
	  "storejobs": false,
	  "jobspath": ""
	}
  ]
}
listen				- Регистрируется только на указанном адресе. Если не указано, или указана пустая строка, 
						то сервис прослушивает на всех интерфейсах, но только с протоколом IPv4.
						Для работы по протоколу IPv6 необходимо указать адрес IPv6 для прослушивания.
						Работа по протоколу IPv6 не проверялась.
interfacewaittime	- Время ожидания сетевого интерфейса в секундах. Иногда сервис стартует раньше, что сетевая карта получает IP адрес.
						Этот параметр позволяет задержать привязку сервиса к интерфейсу.
						Значение по умолчанию - 60 секунд.
logtype				- Тип журнала "system" - event log, "textfile" - Для Windows 10 это файл C:/ProgramData/TCPPrintService/TCPPrintService.log.
localname 			- Имя локального принтера в системе.
active				- Активность сервиса для указанного принтера (true/false).
port				- Номер порта для указанного принтера.
subnets				- Подсети с которых разрешен досут к принтеру (подсети указываются через запятую)
						Если указана пустая строка, то проверка не производится.
log					- Логирование (a - access, p - print, e - error, d - debug).
storejobs			- Сохранять файлы заданий в файл (true/false).
jobspath			- Путь, по которому будут сохраняться задания. Если указан относительный путь, то папка будет создана относительно
						папки "C:/ProgramData/TCPPrintService/" для Windows 10.

Параметры командной строки

TCPPrintService.exe -help

TCPPrintService.exe -[i|u|e|t|p|r|c|v|h]
-i(nstall) [account] [password] : Install the service, optionally using given account and password -u(ninstall) : Uninstall the service. -e(xec) : Run as a regular application. Useful for debugging. -t(erminate) : Stop the service. -p(ause) : Pause the service. -r(esume) : Resume a paused service. -c(ommand) num : Send command code num to the service. -v(ersion) : Print version and status information. -h(elp) : Show this help No arguments : Start the service.

Для компиляции необходимо скачать

Qt Solutions Component: Service

The QtService component is useful for developing Windows services and Unix daemons.

https://github.com/qtproject/qt-solutions/tree/master/qtservice

Проект был скомпилирован с использованием Qt 5.11.2

tcpprintservice's People

Contributors

granindb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tcpprintservice's Issues

Не печатает принтер

Установил вашу программу, подключил принтеры, отправляю на печать, на клиенте вижу в очереди печати что уходит, на "сервере" вижу что появляется в очереди печати и пропадает, но принтер молчит. В логе всё хорошо, ошибок нет, видно что задания приходят и отправляются на печать. На клиентах win7 на "сервере" win10, принтер HP LJ M104a.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.