-
-
Save parzibyte/9cbf18d675b40163d4fdf8dfbf8e45fe 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
class ConectorPluginV3 | |
{ | |
public const string URL_PLUGIN_POR_DEFECTO = "http://localhost:8000"; | |
public static float TAMANO_IMAGEN_NORMAL = 0; | |
public static float TAMANO_IMAGEN_DOBLE_ANCHO = 1; | |
public static float TAMANO_IMAGEN_DOBLE_ALTO = 2; | |
public static float TAMANO_IMAGEN_DOBLE_ANCHO_Y_ALTO = 3; | |
public static float ALINEACION_IZQUIERDA = 0; | |
public static float ALINEACION_CENTRO = 1; | |
public static float ALINEACION_DERECHA = 2; | |
public static float RECUPERACION_QR_BAJA = 0; | |
public static float RECUPERACION_QR_MEDIA = 1; | |
public static float RECUPERACION_QR_ALTA = 2; | |
public static float RECUPERACION_QR_MEJOR = 3; | |
public List<OperacionPluginV3> operaciones; | |
public string urlPlugin; | |
public string serial; | |
public ConectorPluginV3(string urlPlugin, string serial) | |
{ | |
this.operaciones = new List<OperacionPluginV3>(); | |
this.urlPlugin = urlPlugin; | |
this.serial = serial; | |
} | |
public ConectorPluginV3(string urlPlugin) | |
{ | |
this.operaciones = new List<OperacionPluginV3>(); | |
this.urlPlugin = urlPlugin; | |
this.serial = ""; | |
} | |
public ConectorPluginV3() | |
{ | |
this.urlPlugin = URL_PLUGIN_POR_DEFECTO; | |
this.operaciones = new List<OperacionPluginV3>(); | |
} | |
private void agregarOperacion(OperacionPluginV3 operacion) | |
{ | |
this.operaciones.Add(operacion); | |
} | |
public ConectorPluginV3 CargarImagenLocalEImprimir(string ruta, float tamano, float maximoAncho) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("CargarImagenLocalEImprimir", new List<object> { ruta, tamano, maximoAncho })); | |
return this; | |
} | |
public ConectorPluginV3 Corte(float lineas) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("Corte", new List<object> { lineas })); | |
return this; | |
} | |
public ConectorPluginV3 CorteParcial() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("CorteParcial", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 DefinirCaracterPersonalizado(string caracterRemplazoComoCadena, string matrizComoCadena) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("DefinirCaracterPersonalizado", new List<object> { caracterRemplazoComoCadena, matrizComoCadena })); | |
return this; | |
} | |
public ConectorPluginV3 DescargarImagenDeInternetEImprimir(string urlImagen, float tamano, float maximoAncho) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("DescargarImagenDeInternetEImprimir", new List<object> { urlImagen, tamano, maximoAncho })); | |
return this; | |
} | |
public ConectorPluginV3 DeshabilitarCaracteresPersonalizados() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("DeshabilitarCaracteresPersonalizados", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 DeshabilitarElModoDeCaracteresChinos() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("DeshabilitarElModoDeCaracteresChinos", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 EscribirTexto(string texto) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EscribirTexto", new List<object> { texto })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerAlineacion(float alineacion) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerAlineacion", new List<object> { alineacion })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerEnfatizado(bool enfatizado) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerEnfatizado", new List<object> { enfatizado })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerFuente(float fuente) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerFuente", new List<object> { fuente })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerImpresionAlReves(bool alReves) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerImpresionAlReves", new List<object> { alReves })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerImpresionBlancoYNegroInversa(bool invertir) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerImpresionBlancoYNegroInversa", new List<object> { invertir })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerRotacionDe90Grados(bool rotar) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerRotacionDe90Grados", new List<object> { rotar })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerSubrayado(bool subrayado) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerSubrayado", new List<object> { subrayado })); | |
return this; | |
} | |
public ConectorPluginV3 EstablecerTamanoFuente(float multiplicadorAncho, float multiplicadorAlto) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("EstablecerTamañoFuente", new List<object> { multiplicadorAncho, multiplicadorAlto })); | |
return this; | |
} | |
public ConectorPluginV3 Feed(float lineas) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("Feed", new List<object> { lineas })); | |
return this; | |
} | |
public ConectorPluginV3 HabilitarCaracteresPersonalizados() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("HabilitarCaracteresPersonalizados", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 HabilitarElModoDeCaracteresChinos() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("HabilitarElModoDeCaracteresChinos", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasCodabar(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasCodabar", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasCode128(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasCode128", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasCode39(string contenido, bool incluirSumaDeVerificacion, bool modoAsciiCompleto, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasCode39", new List<object>() { contenido, incluirSumaDeVerificacion, modoAsciiCompleto, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasCode93(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasCode93", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasEan(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasEan", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasEan8(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasEan8", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasPdf417(string contenido, float nivelSeguridad, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasPdf417", new List<object>() { contenido, nivelSeguridad, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasTwoOfFiveITF(string contenido, bool intercalado, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasTwoOfFiveITF", new List<object>() { contenido, intercalado, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasUpcA(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasUpcA", new List<object>() { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoDeBarrasUpcE(string contenido, float alto, float ancho, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoDeBarrasUpcE", new List<object> { contenido, alto, ancho, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirCodigoQr(string contenido, float anchoMaximo, float nivelRecuperacion, float tamanoImagen) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirCodigoQr", new List<object> { contenido, anchoMaximo, nivelRecuperacion, tamanoImagen })); | |
return this; | |
} | |
public ConectorPluginV3 ImprimirImagenEnBase64(string imagenCodificadaEnBase64, float tamano, float maximoAncho) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("ImprimirImagenEnBase64", new List<object> { imagenCodificadaEnBase64, tamano, maximoAncho })); | |
return this; | |
} | |
public ConectorPluginV3 Iniciar() | |
{ | |
this.agregarOperacion(new OperacionPluginV3("Iniciar", new List<object>())); | |
return this; | |
} | |
public ConectorPluginV3 Pulso(float pin, float tiempoEncendido, float tiempoApagado) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("Pulso", new List<object> { pin, tiempoEncendido, tiempoApagado })); | |
return this; | |
} | |
public ConectorPluginV3 TextoSegunPaginaDeCodigos(float numeroPagina, string pagina, string texto) | |
{ | |
this.agregarOperacion(new OperacionPluginV3("TextoSegunPaginaDeCodigos", new List<object> { numeroPagina, pagina, texto })); | |
return this; | |
} | |
public async Task<bool> imprimirEn(string nombreImpresora) | |
{ | |
ImpresionConNombrePluginV3 impresion = new ImpresionConNombrePluginV3(this.operaciones, nombreImpresora, this.serial); | |
var serializado = JsonSerializer.Serialize(impresion); | |
try | |
{ | |
using (HttpClient client = new HttpClient()) | |
{ | |
StringContent content = new StringContent(serializado, Encoding.UTF8, "application/json"); | |
HttpResponseMessage response = await client.PostAsync(this.urlPlugin + "/imprimir", content); | |
string responseString = await response.Content.ReadAsStringAsync(); | |
return JsonSerializer.Deserialize<bool>(responseString); | |
} | |
} | |
catch (HttpRequestException e) | |
{ | |
Console.WriteLine("Error haciendo petición al plugin. ¿El plugin se está ejecutando y ha comprobado el puerto? el error es: " + e.ToString()); | |
return false; | |
} | |
} | |
public static async Task<List<string>> obtenerImpresoras(string url = ConectorPluginV3.URL_PLUGIN_POR_DEFECTO) | |
{ | |
try | |
{ | |
using (var httpClient = new HttpClient()) | |
{ | |
HttpResponseMessage response = await httpClient.GetAsync(url + "/impresoras"); | |
string responseBody = await response.Content.ReadAsStringAsync(); | |
List<string> impresoras = JsonSerializer.Deserialize<List<string>>(responseBody); | |
return impresoras; | |
} | |
} | |
catch (HttpRequestException e) | |
{ | |
Console.WriteLine("Error haciendo petición al plugin. ¿El plugin se está ejecutando y ha comprobado el puerto? el error es: " + e.ToString()); | |
return new List<string> { }; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment