| Basicos::Spool::Printer |
use Basicos::Spool::Printer;
my $spool = Basicos::Spool::Printer->new( $name, $root );
my $seq = $spool->queue( $header );
my $fh = $spool->open_data_file( $seq );
$fh->print( $data );
$fh->close();
Este módulo permite implementar una cola al estilo de las de los servidores de impresión (ó de correo en algunos casos), en los que cada elemento está dividido en dos: un encabezado y un cuerpo (generalmente un flujo de datos envasado).
Puesto que hereda de the Basicos::Spool manpage la mayor parte de su funcionalidad y limitaciones son idénticas, a excepción del tratamiento de los datos, descrito a continuación en los métodos que este módulo sobrecarga ó añade.
my $printer_spool = Basicos::Spool::Printer->new(
$spool_name, $spool_path );
Crea un nuevo objeto Basicos::Spool::Printer para lo cual necesita un
nombre y una ruta, que unirá para crear la ruta raíz de los elementos de la
cola.
my $seq = $spool->queue( $header, $data );
Encola un trabajo de impresión en dos archivos diferentes, si se le proporciona su contenido como parámetros.
Datos que van en la cabecera del trabajo y conservados en una entrada con extensión .job.
Datos que van en el cuerpo del trabajo y conservados en una entrada con extensión .data. También es opcional en la llamada al método.
my $fh = spool->open_header_file( $seq );
Abre el archivo que guarda el encabezado del trabajo de impresión (extensión .job generalmente) y retorna un objeto the IO::File manpage si lo consigue.
Identificador del trabajo en la cola de impresión (por el momento un elemento de una secuencia numérica).
Modo de apertura del archivo. Si se omite se utiliza el acceso de escritura.
my $fh = $spool->open_data_file( $seq [, $mode ] );
if ($fh) {
$fh->print('Estos son los datos');
$fh->close();
}
Abre el archivo de datos de una entrada en la cola y retorna un manejador de archivo (usando the IO::File manpage) según el modo indicado (de lectura, escritura, ...).
Identificador del trabajo en la cola de impresión (por el momento un elemento de una secuencia numérica).
Modo de apertura del archivo. Si se omite se utiliza el acceso de escritura.
my $data_file = $spool->file_paths( $seq );
my @files = $spool->file_paths( $seq );
Devuelve la ruta del archivo de datos, indicado por la secuencia pasada como parámetro, ó todas las rutas de los archivos que componen la entrada en la cola.
Recibe como parámetro:
Número de secuencia de elemento. No se comprueba que exista o no.
Retorna según sea llamado en contexto:
Ruta de acceso al archivo con el contenido del trabajo (.data)
Lista con la ruta de acceso al archivo de encabezado de trabajo (.job) seguido por el de datos (.data).
Genera las siguientes advertencias (vía carp):
Si se intenta abrir la parte de datos de una determinada entrada y ésta no existe.
Clase base de la cual deriva.
There are no known bugs in this module.
Please report problems to Víctor Moral <victor@taquiones.net> or Angel Ortega <angel@triptico.com>
Patches are welcome.
Víctor Moral <victor@taquiones.net>, Angel Ortega <angel@triptico.com>
Copyright (c) 2005 <Venexma Europa, S.L.>. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
| Basicos::Spool::Printer |