1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wuxue107-nop-printer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Для печати чеков, в настоящее время применимо к Window (Windows 7, Windows 10)

Это сервис Api для печати чеков на основе php laravel, использующий библиотеку mike42/escpos-php для php.

Содержит независимый распакованный php7.3.4, не требующий отдельной установки среды php.

Использование

Установка программы печати

  • Скачайте zip-пакет с исходным кодом.

  • Распакуйте исходный код (обратите внимание: не распаковывайте в путь с китайскими символами).

  • Запустите quick-start.bat (откройте страницу конфигурации) или printer-start.bat (не открывая страницу конфигурации) (с окном командной строки).

  • Или запустите как службу Windows:

  • Выполните system-service-install.bat (выполняется только один раз, после этого запускается автоматически при включении компьютера: работает в фоновом режиме без окна).

Страница конфигурации (или используйте следующий интерфейс для настройки)

После установки служба автоматически запустится и откроет страницу настройки печати. URL страницы настройки печати: http://localhost:8077/printer-setting

Страница конфигурации:

alt

Эффект печати:

alt

Описание страницы конфигурации

Перед использованием убедитесь, что принтер чеков установлен и драйвер установлен.

  1. Добавьте принтер: выберите установленный принтер чеков и нажмите «+». Если в списке нет принтеров, новый добавленный принтер станет принтером по умолчанию. Примечание: «Виртуальный принтер» добавить нельзя.

  2. Перейдите на страницу предварительного просмотра, нажав кнопку предварительного просмотра. Нажмите кнопку печати справа.

Настройка через интерфейс

  • Получить все принтеры:
GET http://localhost:8077/api/printer/get-local-printers
  • Получить текущую конфигурацию принтера:
GET http://localhost:8077/api/printer/get-config
  • Настроить добавленный принтер чеков:
POST http://localhost:8077/api/printer/set-printer-config
Параметры: JSON
{"printer_name":"POS-58","is_default":true}
  • Установить принтер по умолчанию:
POST http://localhost:8077/api/printer/set-defult-printer
Параметры: JSON
{"printer_name":"POS-58"}

Печать изображений

Поскольку поддержка различных функций принтерами чеков слишком различается, реализована только печать изображений, которая поддерживается 80% принтеров чеков. Тестовая страница использует html для преобразования canvas в изображение для печати.

POST http://localhost:8077/api/job/print-image-data-url
Параметры: JSON
printer_name: можно не передавать или оставить пустым, будет использоваться принтер по умолчанию
{"printer_name":"POS-58", "image_data":"data:image/png;base64,..."}

Поддержка QR-кодов и штрих-кодов

При использовании HTML или HTML-шаблонов для печати можно использовать class qrcode и barcode для маркировки QR-кода и штрих-кода. Дополнительные параметры конфигурации QR-кода и штрих-кода можно передать через атрибут data узла.

Пример: QR-код: содержание: https://gitee.com/wuxue107/ Дополнительные атрибуты QR-кода см. в: https://github.com/davidshimjs/qrcodejs

Штрих-код: содержимое: nop-printer Дополнительные атрибуты штрих-кода см.: https://lindell.me/JsBarcode/

Печать HTML

http://127.0.0.1:8077/api/job/print-html
Запрос: POST-JSON:
{"html":"<p>HELLO NOP</p>","printer_name":null}
Ответ:
{
"code": 0,
"msg": "Операция прошла успешно",
"data": {
"task_id": 14
}
}

Распечатать HTML-шаблон

http://127.0.0.1:8077/api/job/print-tpl
Запрос: POST-JSON:
{"printer_name":null,"tpl_name":"simple-tpl","tpl_params":{"user":"NOP"}}
Ответ:
{
"code": 0,
"msg": "Операция прошла успешно",
"data": {
"task_id": 14
}
}

Управление шаблонами печати HTML

Шаблоны используют синтаксис шаблонов lodash.

Сохранить шаблон (создать, если имя шаблона не существует)

http://127.0.0.1:8077/api/print-tpl/save
Запрос: POST-JSON:
{"attrs":{"tpl_name":"simple-tpl","tpl_content":"<p>HELLO <%=user%></p>","params_examples":"{\"user\":\"WORLD\"}"}}
Ответ:
{
"code": 0,
"msg": "Операция прошла успешно",
"data": {
"tpl_name": "simple-tpl",
"tpl_content": "<p>HELLO <%=user%></p>",
"params_examples": "{\"user\":\"WORLD\"}",
"updated_at": "2021-02-19T16:49:38.000000Z",
"created_at": "2021-02-19T16:49:38.000000Z",
"id": 2
}
}

Запросить шаблон

http://127.0.0.1:8077/api/print-tpl/get
Запрос: POST-JSON:
{"tpl_name":"simple-tpl"}
Ответ:
"data": {
"tpl_name": "simple-tpl",
"tpl_content": "<p>HELLO <%=user%></p>",
"params_examples": "{\"user\":\"WORLD\"}",
"updated_at": "2021-02-19T16:49:38.000000Z",
"created_at": "2021-02-19T16:49:38.000000Z",
"id": 2
}
}

Удалить шаблон

http://127.0.0.1:8077/api/print-tpl/delete
Запрос: POST-JSON:
{"tpl_name":"simple-tpl"}
Ответ:
{
"code": 0,
"msg": "Операция прошла успешно",
"data": null
}

Запустить программу печати

Запустите: printer-start.bat

Остановить программу печати

Запустите: printer-stop.bat

Зарегистрировать службу запуска системы

Запустите: system-service-install.bat

Отменить регистрацию службы запуска системы

Запустите: system-service-uninstall.bat

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wuxue107-nop-printer.git
git@api.gitlife.ru:oschina-mirror/wuxue107-nop-printer.git
oschina-mirror
wuxue107-nop-printer
wuxue107-nop-printer
master