Use js para llamar a la impresora en la página web de front-end

Use js para llamar a la impresora en la página web de front-end

Recientemente participé en la transformación de un proyecto anterior, que requería el uso de tecnologías relacionadas con impresoras.
Dado que la impresora también es relativamente antigua, no hay una aplicación relacionada con SDK. Aunque hay un complemento de escritorio, debe integrarse en la web. Finalmente, encontré el controlador universal lodop.
Esto se debe a que la impresora es de tipo aguja, por lo que se resumen los siguientes métodos, que por el momento me bastan.

Instalar:

Descargue el paquete de distribución en la página de inicio del sitio web oficial de http://www.lodop.net/download.html
e inícielo después de la instalación, luego llame al siguiente método para realizar la impresión.

función de método

getLodop() inicializa el control de impresión

PRINT_INIT(nombre) Inicializa la impresión, nombre: imprime el nombre del documento, el nombre se puede ver en la cola del dispositivo de impresión

GET_PRINTER_COUNT() Obtiene el número de impresoras

GET_PRINTER_NAME(intPrinterIndex) Obtenga el nombre de la impresora con el número de serie, el número de serie general comienza desde 0 y -1 se refiere a la impresora predeterminada;
SET_PRINTER_INDEX() especifica la impresora de acuerdo con el número de serie o el nombre, y la reselección manual está prohibida después selección; la configuración general es -1, que se utiliza para especificar el uso de la impresora predeterminada

SET_PRINT_STYLE(attr, value) Establece el estilo básico de impresión attr: atributos,
como FontSize, FontColor,
etc. attr: atributo, FontSize, FontColor, etc. value: valor del atributo



SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName) Establecer tamaño de papel
intOrient: orientación de impresión y tipo de papel
1—impresión vertical, papel fijo;
2—impresión horizontal, papel fijo;
3—impresión vertical, ancho fijo, alto según el contenido impreso Altamente autoadaptativo
0: la dirección no es fija, puede ser seleccionada por el operador o según la configuración predeterminada de la impresora.
intPageWidth:
ancho del papel, la unidad es 0,1 mm. Por ejemplo, el valor del parámetro es 45, lo que significa 4,5 mm, y la precisión de la medición es 0,1 mm.
intPageHeight:
cuando el papel es fijo, este parámetro es la altura del papel; cuando la altura es adaptable, este parámetro es la altura en blanco del borde inferior del papel, y la unidad de medida es la misma que el ancho del papel.
strPageName:
nombre del tipo de papel, este parámetro solo es válido cuando intPageWidth es igual a cero, para el nombre específico, consulte la definición de formato en las propiedades del servicio de impresión del sistema operativo.
La palabra clave "CreateCustomPage" creará un tipo de papel personalizado llamado "LodopCustomPage" en el sistema.

ADD_PRINT_TEXT(arriba, izquierda, ancho, alto, texto) // Agregar texto de impresión
arriba: la distancia desde la parte superior del papel
izquierda: la distancia desde el lado izquierdo del papel
ancho: el ancho del texto actual se ocultará si el ancho es menor que la longitud del carácter
altura: el texto actual La altura de la altura es menor que la altura del carácter no tiene efecto en
el texto: cadena de texto


ADD_PRINT_TABLE( top ,
left , width,
height , tableDom) Imprimir tablas, que pueden imprimir tablas dibujadas en HTML
Es mejor usar el porcentaje para la altura
tableDom: elemento dom de la tabla

ADD_PRINT_HTM(arriba, izquierda, ancho, alto, dom); Imprime elementos HTML, no la elipse dibujada por css
arriba: la distancia desde la parte superior del papel
izquierda: la distancia desde el lado izquierdo del papel
ancho: el ancho del altura del elemento actual
: la altura del elemento actual altura
dom: elemento dom

NewPage () Agrega una nueva página, que es más adecuada para la continuación

PREVIEW() vista previa de impresión

PRINT() imprime directamente

PRINT_DESIGN() imprime el diseño, puede diseñar la plantilla y luego generar el código para uso directo

ejemplo

function templatePrint() {
    
    
    // 初始化打印机
    let LODOP = getLodop();
    // 初始化打印名称
    LODOP.PRINT_INIT('测试打印')
    LODOP.SET_PRINTER_INDEX(-1)  // 设置使用的打印机,-1表示使用默认打印机
    LODOP.SET_PRINT_STYLE('FontSize', 24);  // 设置基本样式,字体大小24
    LODOP.SET_PRINT_PAGESIZE(1, 2100, 2970, 'CreateCustomPage') // 设置打印方向和纸张大小
    // LODOP.SET_PRINT_PAGESIZE(1, 0, 0, 'A4') // 直接设置A4纸规格
    LODOP.ADD_PRINT_TEXT(100, 100, 500, 20, '测试文本1');  // 添加打印文字
    LODOP.ADD_PRINT_TEXT(200, 100, 500, 20, '测试文本2');  // 添加打印文字
    LODOP.SET_PRINT_STYLEA(2, 'FontSize', 24); // 指定第二条的字体样式
    LODOP.NewPage()  // 添加一页,续打
    LODOP.ADD_PRINT_TABLE(0, 0, "100%", '100%', dom);  // 打印表格
    LODOP.NewPage() // 添加一页,续打
    LODOP.ADD_PRINT_HTM(0, 0, 500, 100, dom);  // 打印HTML内容
    LODOP.PREVIEW()  // 打印预览
    // LODOP.PRINT()  // 直接打印
    // LODOP.PRINT_DESIGN()  // 打印设计
}

Supongo que te gusta

Origin blog.csdn.net/m0_46496355/article/details/127102104
Recomendado
Clasificación