Hola amigos, hace mucho q no posteaba por aca...
bueno les cuento, yo en MS-DOS, tuve un problema similar al q cuentas, me vi en la necesidad de hacer un rutina para controlar la impresora, a grandes rasgos esto es lo que hacia:
1) un archivo de configuracion de impresora, donde se guardan todos los caracteres de impresion necesarios, BOLD, ITALIC, compacta, alargada, normal, etc. todo a base de codigos tipo char (esto incluia configurar para DESKJET, LASER, MATRIZ )
incluyendo el puerto en q estaban instaladas (cabe mencionar que los puertos disponibles en ese entonces eran LPT)
2) un programa para dar mantenimiento a ese archivo
3) se predetermina una impresora con la cual el programa responderia a esta configuracion y los reportes los configuraria para esta.
4) cada vez q se imprime, dar opcion a cambiar de impresora, asi como la salida (pantalla o al puerto LPT)
en caso de elegir otra impresora que no fuese la predeterminada, entonces se toman los caracteres de impresion de esta y con esta se "arma" el reporte y se dirigue a la salida seleccionada.
en escencia eso es lo que hacia, espero que te oriente en lo que pretendes hacer,
Saludos