Created
August 18, 2020 21:47
-
-
Save lite1979/1094ce7db265ae5c2f9d82e034bec854 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script> | |
let defaultPrinter; | |
qz.security.setCertificatePromise(function(resolve, reject) { | |
fetch("assets/signing/digital-certificate.txt", {cache: 'no-store', headers: {'Content-Type': 'text/plain'}}) | |
.then(function (data) { | |
data.ok ? resolve(data.text()) : reject(data.text()); | |
}); | |
}); | |
qz.security.setSignatureAlgorithm("SHA512"); // Since 2.1 | |
qz.security.setSignaturePromise(function(toSign) { | |
return function(resolve, reject) { | |
fetch("assignature.php?request=" + toSign, {cache: 'no-store', headers: {'Content-Type': 'text/plain'}}) | |
.then(function(data) { data.ok ? resolve(data.text()) : reject(data.text()); }); | |
}; | |
}); | |
qz.websocket.connect().then(function() { | |
const btn = document.getElementById('printer') | |
btn.addEventListener('click', function () { | |
qz.printers.getDefault().then(function(printer) { | |
var config = qz.configs.create(printer, { encoding: 'Cp1252' }); | |
console.log(config) | |
var order = [ | |
'\x1B' + '\x40', // Inicializo o documento | |
'\x10' + '\x14' + '\x01' + '\x00' + '\x05', // É dado um pulso para iniciar a impressão | |
'\x1B' + '\x61' + '\x31', // Defino o alinhamento ao centro | |
// Imprimo a logo | |
{ | |
type: 'raw', | |
format: 'image', | |
flavor: 'file', | |
data: 'http://laercio-delivery.herokuapp.com/public_html/admin/assets/images/logo.png', | |
options: { language: "escp", dotDensity: 'double' }, | |
}, | |
'\x1B' + '\x74' + '\x10', | |
'\x0A' + '\x0A', // Quebra de linha | |
'Pedido Nº LVE182422' + '\x0A' + '\x0A', // Imprimo número do pedido | |
'\x0A', // Quebra de linha | |
'\x1B' + '\x45' + '\x0D', // Ativo negrito | |
'SEU PEDIDO' + '\x0A' + '\x0A', // Imprimo título | |
'\x1B' + '\x45\n', // Desativo negrito | |
'\x0A', | |
'\x1B' + '\x61' + '\x30', // Defino o alinhamento a esquerda | |
'\x1B' + '\x45' + '\x0D', // Ativo negrito | |
'Cliente: Hugo' + '\x0A' + '\x0A', // Imprimo nome do cliente | |
'Telefone: (83) 98805-0131' + '\x0A' + '\x0A', // Imprimo telefone | |
'\x1B' + '\x45\n', // Desativo negrito | |
// Imprimo linha tracejada | |
'------------------------------------------------' + '\x0A' + '\x0A', | |
"Macaxeira (1) R$ 2,94\n\n", // Imprimo o produto | |
"Alface Crespa (1) R$ 2,50\n\n", // Imprimo o produto | |
"Coentro (1) R$ 2,50\n\n", // Imprimo o produto | |
"Banana pacovan (1) R$ 5,00\n\n", // Imprimo o produto | |
"Batata doce (1) R$ 3,80\n\n", // Imprimo o produto | |
"Salsa (1) R$ 3,00\n\n", // Imprimo o produto | |
"Manjericão (1) R$ 2,21\n\n", // Imprimo o produto | |
"Abacaxi (2) R$ 7,60\n\n", // Imprimo o produto | |
"Goma de tapioca 1kg (1) R$ 6,00\n\n", // Imprimo o produto | |
"Tomate Cereja 500 gramas (1) R$ 5,00\n\n", // Imprimo o produto | |
"Mamão havaí (1) R$ 4,00\n\n", // Imprimo o produto | |
// Imprimo linha tracejada | |
'------------------------------------------------' + '\x0A' + '\x0A', | |
'Subtotal R$ 44,55' + '\x0A', // Imprimo subtotal | |
'Desconto R$ 0,00\n' + '\x0A' + '\x0A', // Imprimo desconto | |
'Entrega Grátis\n' + '\x0A' + '\x0A', // Imprimo entrega | |
// Imprimo linha tracejada | |
'------------------------------------------------' + '\x0A' + '\x0A', | |
'\x1B' + '\x21' + '\x30', // Ativo modo em | |
'Total R$ 44,55' + '\x0A', // Imprimo o total do pedido | |
'\x1B' + '\x21' + '\x0A' + '\x1B' + '\x45' + '\x0A' + '\x0A', // Desativo modo em | |
// Imprimo linha tracejada | |
'------------------------------------------------' + '\x0A' + '\x0A', | |
'\x1B' + '\x45' + '\x0D', // Ativo negrito | |
'Forma de pagamento Cartão online' + '\x0A' + '\x0A', // Imprimo o tipo de pagamento | |
'MasterCard - Crédito' + '\x0A' + '\x0A', // Imprimo nome do cartão | |
'\x1B' + '\x45\n', // Desativo negrito | |
'\x0A' + '\x0A', // Quebra de linha | |
'Entregar em 29/11/2018' + '\x0A' + '\x0A', // Imprimo data de entrega | |
'Rua Bananeiras, 999' + '\x0A', // Imprimo endereço | |
'Manaíra, João Pessoa' + '\x0A', // Imprimo bairro e cidade | |
'58038-170' + '\x0A' + '\x0A', // Imprimo cep | |
'\x0A' + '\x0A', | |
'\x1B' + '\x61' + '\x31', // Defino o alinhamento ao centro | |
'NÃO É DOCUMENTO FISCAL' + '\x0A' + '\x0A', // Imprimo observação | |
'\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A', | |
'\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A' + '\x0A', | |
'\x1B' + '\x69', // Corto o papel | |
'\x10' + '\x14' + '\x01' + '\x00' + '\x05', // Dou um pulso | |
]; | |
qz.print(config, order).catch(function(err) { | |
console.error(err); | |
}); | |
}); | |
}) | |
}); | |
</script> | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment