Capítulo 6: Impresión bajo Netware
En los sistemas multiusuario, hay dos formas de imprimir. Una de ellas
es usando una impresora local, es decir, conectada directamente a la terminal
o estación de trabajo. La otra es usando una impresora remota, o
sea, conectada en otra máquina. En los sistemas con recursos centralizados,
el mainframe, la minicomputadora o el server manejan la impresora remota.
En los sistemas entre pares, cualquier estación que se ofrezca como
host de impresora, maneja la impresora remota.
En una impresión local, el vínculo entre la estación
y la impresora no involucra a la red. Si la impresora es lenta, mantendrá
bloqueada a la máquina durante cierto tiempo. Para agilizar ese
tiempo, se agrega una memoria denominada "buffer de impresora" donde se
van guardando los bytes destinados a ser impresos y se imprime como tarea
de fondo. Por supuesto, cuando el buffer se llena, se produce el bloqueo
antes mencionado.
Cuando una máquina maneja impresoras accesibles desde distintos
puestos de trabajo, trabaja de distinta forma que si la impresión
fuese local. Las razones son que un bloqueo afecta a todas las estaciones
y que el buffer de impresión debe ser multiusuario. En los sistemas
multiusuarios, el gestor de impresión es un programa denominado
"spooler". El spooler puede recibir trabajos desde varias estaciones al
mismo tiempo. A tal fin va almacenándolos en memoria y, si rebalsa,
le inventa un nombre a cada trabajo y los va volcando en disco. Paralelamente,
se ocupa de mandarle datos a las impresoras. Un spooler útil debe
ser capaz de manejar varias impresoras (sería impensable una red
de 100 usuarios con 1 impresora). El conjunto de trabajos destinados a
una impresora y que aún no fueron impresos, forma la cola de impresión
(print queue) de la impresora. Se dice entonces que el spooler maneja varias
colas de impresión a la vez. El spooler también ofrece la
posibilidad de anular o cambiar el orden de trabajos pendientes. Otro servicio
posible es de imprimir "por la primera impresora que se desocupe", en este
caso hay varias impresoras para atender la misma cola. Con respecto a la
salida impresa, es usual que el spooler envíe a la impresora la
orden para imprimir al principio de la página siguiente (un Form
Feed) con lo que se evita comenzar un trabajo por la mitad de una hoja.
También es frecuente que entre trabajos se inserte una hoja con
la identificación del trabajo y la estación que lo envió
(se la llama banner).
NetWare instala un spooler en cada server de impresoras (print server)
y provee 4 comandos y 3 utilitarios por menúes para manejarlo.
Comando CAPTURE (captura)
Cuando una estación va a imprimir, la acción por omisión
es hacerlo por la impresora local. El comando CAPTURE desvía la
impresión hacia el server. Para que CAPTURE funcione, es necesario
que el programa de aplicación no escriba directamente en los registros
de la puerta paralelo, sino que use los servicios de impresión provistos
por el BIOS o el DOS.Si bien puede ser usado sólo, significando
así la redirección de los trabajos destinados a LPT1 a la
impresora por omisión del server, CAPTURE es un comando muy rico
en opciones.
Ejemplos:
CAPTURE (captura LPT1 y usa los valores por omisión en el server)
CAPTURE L=3 (ídem para LPT3)
CAPTURE L=3 P=2 (captura LPT3 y usa la impresora 2 del server)
CAPTURE L=3 P=2 J=6 (ídem anterior, pero usa la definición
de trabajo 6)
CAPTURE C=3 (saca copias por triplicado)
CAPTURE SH (reporta de estado)
CAPTURE CR=F:SALIDA.PAN (redirecciona la impresión al archivo
F:SALIDA.PAN)
CAPTURE NB FF TI=15 (captura LPT1, imprime usando los valores por omisión
de P y J, evita que salga el banner, fuerza un FF entre trabajos y tiene
un "timeout" de 15 segundos)
Comando ENDCAP (de END CAPture)
Cancela los efectos de CAPTURE. Acepta varias opciones, usando la sintaxis
siguiente:
ENDCAP opción
-
ALL , para cancelar simultáneamente todas las capturas.
-
L = n , para cancelar selectivamente la captura de la impresora n.
Por omisión, ENDCAP deja de capturar datos, pero los que están
en la cola de impresión se imprimen. Si se desea evitar ésto
desde una estación, pueden usarse las opciones C (Cancel), CALL
(Cancell ALL) y CL = n , similares a las recién vistas.
Comando NPRINT (Network PRINT):
Se usa principalmente para mandar archivos a imprimir. No es residente
como el PRINT del DOS, y, tal como se ve a continuación, acepta
muchas opciones (cosa imposible con el PRINT del DOS). Salvo la opción
D, las demás opciones listadas a continuación son equivalentes
a las explicadas al tratar el comando CAPTURE.
Menú PRINTDEF (PRINTer DEFinition)
Este menú permite inicializar una impresora para que arranque
predefinida en algún modo, sin necesidad de que el programa de aplicación
se tenga que encargar. A tal fin NetWare incluye un conjunto de archivos
con extensión PDF (Print Definition File) con manejadores (drivers)
para las impresoras más usuales. Mediante el menú Print Devices
de PRINTDEF se selecciona el modelo de impresora y hecho esto, el modo
de trabajo deseado. Por ejemplo, se puede cambiar el tipo de letra y, en
las laser, la resolución y la orientación. En función
de las opciones elegidas, al inicializar la impresora el server le mandará
la secuencia de escape adecuada.
Otro uso de este utilitario es para seleccionar formularios o formatos
de impresión. Mediante la opción Forms, se indica el ancho
(en columnas) y largo (en renglones) de una página, de modo que
el spooler pagine automáticamente. A cada formato se le asigna un
número, y además se le puede dar un nombre. Si se usa CAPTURE
o NPRINT con opción NAME y el trabajo requerido requiere un formato
distinto, en vez de imprimir, el spooler envía al usuario un mensaje
de error.
Menú PRINTCON (PRINT job CONfiguration)
PRINTCON permite definir la forma en la que trabajará el spooler.
Permite definir los mismos parámetros que CAPTURE y NPRINT,
es decir: FF, número de copias, encabezado (banner), tabulación,
timeout, autoendcap, cola de impresión, modelo de impresora y modo
de trabajo, etc. Al conjunto de parámetros seleccionados se le puede
asignar un nombre y guardarlo como un archivo. El modelo de impresora y
su modo de trabajo son, en principio, los editados con PRINTDEF. Un detalle
importantísimo es el ítem "File contents" (contenido del
archivo); si se seleccciona texto, el spooler procede a darle formato,
si se especifica "byte stream" (torrente de bytes), los datos llegan sin
modificaciones a la impresora. Este modo es el adecuado cuando se pone
la impresora en modo gráfico ya sea para reproducir un dibujo o
fotografía como para escribir texto con un tipo de letra que no
es propio de la impresora (por ej: una impresora de matriz de puntos por
impacto escribiendo texto con espaciado proporcional).
Menú PCONSOLE (Print CONSOLE)
Este es el utilitario apropiado para crear y renombrar colas de impresión.
La opción Print Queue Information (información sobre
las colas de impresión) muestra y permite cambiar las colas existentes,
los trabajos en marcha, los operadores y usuarios de esas colas, etc. Cuando
se selecciona un trabajo de la cola, es posible editar muchos de los parámetros
de impresión.
Algunos son los ya conocidos: FF, NB, Tabulación, Copias, etc
pero otros aparecen acá: Service Sequence (posición en la
cola), Defer Printing (postergar la impresión), Target Date y Target
Time (fecha y hora respectivamente a las que comenzará una impresión
postergada). Aparece una ventana denominada "Current Queue Status" (estado
actual de la cola), en la que es posible impedir que la cola siga recibiendo
trabajos, impedir que la cola mande datos a las impresoras e impedir que
nuevos servers usan esa cola.
La opción Print Server Information (información sobre
el server de impresora) permite cambiarle al print server la password ,
el "full name", configurarle impresoras y colas de impresión, definir
sus operadores, usuarios y grupos y ver su estado. También se pueden
definir los Operadores de las colas de impresión (Queue Operators),
los usuarios de la cola de impresión (por defecto son todos los
usuarios, pero el supervisor puede restringir su uso para algunos solamente);
los operadores del servidor de impresión (Print Server Operators)
y los usuarios del servidor de impresión (Print server users, por
defecto son todos, pero el supervisor puede restringir su uso para algunos
solamente)
Otro uso frecuente de este menú es el de permitir al operador
de consola redireccionar, cancelar o postergar trabajos de impresión
cuando lo crea necesario. Podrá direccionar trabajos a otra impresora
cuando ésta contenga demasiados trabajos pendientes, un trabajo
enviado requiera un formato distinto al que se está utilizando o
sea demasiado extenso y haya otros más cortos e importantes que
se deseen imprimir. El operador del server de impresión es el encargado
de verificar que las impresoras estén listas para operar, tengan
el tipo y cantidad de papel adecuados y podrá sacarlas de línea
cuando necesite cambiarlo o efectuar algún tipo de ajuste.
Comando PSC: (Print Server Control)
Permite ver y cambiar desde una terminal el modo de funcionamiento
del servidor de impresión y hasta es posible darlo de baja en caso
de un mal funcionamiento del mismo. También sirve para conocer el
estado de las impresoras remotas, se pueden agregar opciones como las que
se describen a continuación:
-
STAT (STATus, estado) permite saber el estado de una o todas las impresoras
conectadas al server de impresión especificado. Si se especifica
además el número de impresora, se podrá saber el estado
de esa en particular solamente. Si no se incluye dicho número (P=n)
se verá el estado de todas las presentes en el server especificado
(S=nombre del server) a menos que se hubiera definido una impresora "default"
mediante el comando DOS SET, con lo que para poder obtener el estado de
todas habrá que poner (P=all). Puede obtenerse diferentes informaciones
acerca de las impresoras como veremos:
-
Not connected (no conectada) significa que existe una impresora remota
pero que en ese momento no se halla disponoble para el server de impresión,
ya sea porque el equipo al que se encuentra conectado está apagado
o bien porque en esa terminal no ha sido cargado el programa RPRINTER.EXE
que sirve para que el server de impresión cuente con esa impresora;
dicho programa se explica más adelante.
-
In private mode (en modo privado) significa que dicha impresora no está
disponible para la red debido a que está siendo utilizada en modo
local por la terminal a la que se halla conectada.
-
Off line (fuera de línea), Out of paper (sin papel) son mensajes
que pueden ser entregados por "printing job" (imprimiendo trabajo) o por
"Mark/Form feed" (salto de hoja).
-
PAUse (pausa) detiene la impresión en forma temporal.
-
ABort (aborta) detiene la impresión del trabajo en curso, borrando
la misma de la cola de impresión, y continúa con la tarea
siguiente.
-
STOp (Keep), con la segunda opción, se mantiene la impresión
que se efectuaba en la cola de impresión, de lo contrario, la tarea
que se estaba efectuando será borrada de la cola de impresión;
para reiniciar la impresión detenida con PAUse o STOp, se utiliza
el comando STARt.
-
Mark (character, marca de caracter) sirve para separar las tareas de impresión.
La impresora imprime una linea o caracter, el "default es un asterisco
antes de comenzar a imprimir un trabajo; no puede ser cambiado durante
una impresión en curso.
-
FormFeed (avance de hoja) obliga a la impresora a pasar a la hoja siguiente.
La misma deberá estar en pausa PAUse o detenida STOp para poder
hacer un FormFeed.
-
MOunt Form=n (formulario colocado), es utilizado para informar al server
de impresión sobre el cambio de formulario, donde "n" es el número
de formulario definido mediante PRINTDEF, como se verá posteriormente.
-
PRIvate (privado) se utiliza para evitar el uso de la impresora especificada
por otros usuarios de la red; elimina de la lista de impresoras disponibles
a la que se designe "privada", cambiándola de remota a local.
-
SHared (compartible) es la instrucción que contraresta a la anterior,
volviendo a disponible a una impresora privada.
-
CancelDown sirve para contrarestar la opción "Going down after current
jobs" (bajar el server de impresión luego de efectuar los trabjos
pendientes), opcion del menú PCONSOLE visto posteriormente.
Menú RPRINTER (Remote PRINTER)
Se utiliza cuando se ha instalado el PSERVER, como muchos de los anteriores
puede utilizarse como menú o como programa con "switches" tales
como nombre del "print server" y número de impresora, que puede
también ser definido en el shell.cfg o net.cfg como
local printers 1
spx conections=75
Entre los switches que actúan sobre RPRINTER podemos mencionar:
-
-R (Remove, sirve para desconectar la impresora remota)
-
-P (Polled mode, permite evitar problemas a causa de conflictos con la
interrupción utilizada por la puerta paralelo del equipo en que
se cargó RPRINTER)
Ejemplo:
Rprinter Lasers 0 -p en donde Lasers es el nombre del servidor de impresión
al que se conectó la impresora 0.
Consola:
Además de los comandos y menúes, parte de las órdenes
de consola se refieren al manejo de la cola de impresión. Por esta
causa, en los servers de impresión puede haber un "operador de consola"
con el objeto de seguir el funcionamiento de las colas de impresión,
las impresoras, además de colocar los diferentes tipos de papel
y mantener clasificados los trabajos que van saliendo.