Подключитесь к термическому принтеру на клиенте от Flask Web App, развернутой в облакеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Подключитесь к термическому принтеру на клиенте от Flask Web App, развернутой в облаке

Сообщение Anonymous »

Я работаю над системой заказа в ресторане, которая будет развернута в сервисе облачного хостинга, в данном случае. На панели администратора системы упорядочения пользователь администратора может ввести IP-адрес и хост теплового принтера и сохранить его в системе и может выполнить тестовую печать с помощью атрибутов принтера, введенного пользователя. Однако, если сервер Flask развернут в службе облачного хостинга, как сервер Flask может сообщить тепловому принтеру, который подключен к клиенту для печати квитанции?const testStatus = document.getElementById('test-status');
const btnTestPrinter = document.getElementById('btn-test');
btnTestPrinter.addEventListener('click', async function(event) {
var name = document.getElementById('name').value;
var ipAddress = document.getElementById('ip_address').value;
var port = document.getElementById('port').value;

printer = {
"name": name,
"ip_address": ipAddress,
"port": port
}

const testPrinterUrl = window.location.origin+'{{ url_for("test_printer") }}';

try {
console.log("Testing printer: "+name);
const placeOrderResponse = await fetch(testPrinterUrl, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(printer)
});
const testResult = await placeOrderResponse.json();

var success = testResult.success;
if (success) {
testStatus.textContent = "Test print success";
} else {
testStatus.textContent = "Unable to perform test print";
}
} catch (error) {
console.error("Error: ", error);
}
});

Flask Server
@route('/test_printer', methods=['POST'])
def test_printer():
data:dict = json.loads(request.data)
print("Printer info: "+data.__repr__())

name = data['name']
ip_address = data['ip_address']
port = int(data['port'])
date_str = datetime.now().strftime("%m/%d/%Y, %H:%M:%S")

try:
p = printer.Network(ip_address, port=port, timeout=30)
p.text("Receipt text goes here")

p.cut() # Cut the paper

p.close()

except Exception as e:
print(f"Error: {e}")
return json.dumps({'success': False}), 500, {'ContentType':'application/json'}

return json.dumps({'success':True}), 200, {'ContentType':'application/json'}


Подробнее здесь: https://stackoverflow.com/questions/796 ... d-on-cloud
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подключитесь к принтеру-сканеру с помощью JAVA.
    Anonymous » » в форуме JAVA
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Приложение Android, подключающееся к Wi-Fi-принтеру для печати
    Anonymous » » в форуме Android
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с подключением сканера к принтеру
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Проблемы с подключением сканера к принтеру
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как подключить приложение Flutter к струйному принтеру Epson CW4000U?
    Anonymous » » в форуме IOS
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»