Comando en C++ para mandar a imprimir directo a una impresora

En cuanto a un comando específico encontré que hasta ahora no se conoce,, sin embargo, encontré varios ejemplos de cómo hacerlo, los ejecute pero no me funcionaron, estos son:
• cprintf("Hello world");
• fprintf(stdprn,"hola mundo\n\r");
• lpr archivos
• Envía peticiones de impresión a una impresora (BSD, Linux)
• -P impresora
• Selecciona una impresora para imprimir.
• -m
• Envía correo al usuario al término de la impresión
• lpq
• Muestra información de estado de la cola de impresión (BSD, Linux)
• -P
• Selecciona una impresora en particular

También apareció una opción para impresoras por puerto LPT1, pero no lo pude probar porque tengo es impresora por USB, de igual forma se anexa el ejemplo:
Código
#include

ofstream impresora;
impresora.open ("LPT1");

sentencias;

impresora.close();



Otro Ejemplo:
## Printer and parallel port settings
# Print commands to use for LPT1, LPT2 and LPT3.
# Default: "lpr -l", "lpr -l -P lpt2", and "" (disabled)
# Which means: use the default print queue for LPT1, "lpt2" queue for LPT2.
# "-l" means raw printing mode (no preprocessing).
$_lpt1 = "lp -c -d oki"
# $_lpt2 = "lpr -l -P lpt2"
# $_lpt3 = ""
# idle time in seconds before spooling out. Default: (20)
$_printer_timeout = (5)

Otros Comandos
• Función popen() para llamar a la función lpr del sistema operativo. Esta llamada permite ir pasando desde código el texto que queremos imprimir.
• Función system() para llamar a la función lpr del sistema operativo. Esta llamada permite únicamente imprimir un fichero existente.
La primera forma de imprimir consiste en usar la función popen() para abrir el comando de imprmir lpr (linux) o lp (solaris) como de escritura. Una vez abierto, todo lo que escribamos en el descriptor de fichero devuelto por popen(), saldrá por la impresora.
Básicamente la secuencia de funciones de C sería
File *impresora = popen ("lpr", "w");
...
fprintf (impresora, "Linea a imprimir número %d\n", contadorLineas);
...
pclose (impresora);

La segunda forma, que es la que utilizaba hasta ahora, es escribir el texto en un fichero cualquiera y luego, con la función de C system(), ejecutar un comando lpr (de linux) o lp (de solaris).

La secuencia de funciones en C sería más o menos
File *ficheroTemporal = fopen ("/tmp/ParaImprimir", "w");
...
fprintf (ficheroTemporal, "Linea a imprimir número %d\n", contadorLineas);
...
fclose (ficheroTemporal);
...
system ("lpr /tmp/ParaImprimir");


Se publican para uso de cualquier otro usuario, o para uso de cualquier otro proyecto propio

0 comentarios:

Publicar un comentario