elsif ( $printingtype eq 'PATCRD' ) {
my $patron_data = $item;
#FIXME: This needs to be paramatized and passed in from the user...
#Each element of this hash is a separate line on the patron card. Keys are the text to print and the associated data is the point size.
warn "patron_data_branchname: ".$patron_data->{'branchname'};
warn "patron_data_description: ".$patron_data->{'description'};
my $text = {
$patron_data->{'branchname'} => ($fontsize + 3),
$patron_data->{'description'} => $fontsize
};
warn "************TEXT:".Data::Dumper::Dumper($text );
$DEBUG and warn "Generating patron card for cardnumber $patron_data->{'cardnumber'}";
warn "XPOS:".$x_pos;
drawbox( $x_pos, $y_pos, $label_width, $label_height ) if $guidebox;
my $barcode_height = $label_height / 2.75; #FIXME: Scaling barcode height; this needs to be a user parameter.
DrawBarcode( ($x_pos), $y_pos, $barcode_height, $label_width, $patron_data->{'cardnumber'},
$barcodetype );
DrawPatronCardText( $x_pos, $y_pos, $label_height, $label_width, $fontname, $fontsize,
$left_text_margin, $text_wrap_cols, $text, $printingtype );
CalcNextLabelPos();
}
como veis he puesto 3 warn para ver lo que sucede.... mi problema es que en $text se tiene que guardar primero la biblioteca y luego la descripción... y aparentemente eso es lo que va a hacer....
pero si vemos el resultado del ultimo warn en el putty, en algunos casos me pasa lo siguiente:
************TEXT:$VAR1 = {
'Investigador' => 7,
'Laxe 2' => 10
};
es decir, introduce la descripción antes que la biblioteca. esto es un problema puesto que, al imprimir etiquetas para los carnets de usuario, unas veces aparece la BIBLIOTECA y despues la DESCRIPCION y en otras me aparece al revés... y todo es por culpa de ese trozo de código:
my $text = {
$patron_data->{'branchname'} => ($fontsize + 3),
$patron_data->{'description'} => $fontsize
};
puesto que los warns de antes tienen perfectamente el valor que toca...
alguien me podría ayudar, por favor??? yo ya no se que hacer....
