• Publicidad

Consulta sobre reporte PDF

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Consulta sobre reporte PDF

Notapor situ » 2007-10-12 08:14 @385

Tengo un problema con el siguiente script, capaz alguien me puede ayudar.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/bin/perl

use PDF::Report;

my $pdf = new PDF::Report(
                          PageSize => 'A4',
                          PageOrientation => 'Portrait'
);

$pdf->newpage(1);
$pdf->setFont('Helvetica-bold');
$pdf->setSize(14);
my ($width, $height) = $pdf->getPageDimensions();

$pdf->centerString(0, $width, $height-40, "Reporte de Seguridad");

$pdf->setFont('Helvetica');
$pdf->setSize(10);

open (DATOS,"hola.txt");
while (@linea = <DATOS>){
my $text1= "@linea";


$pdf->addParagraph($text1, 30, $height-70, $width-60, 30, 25, 10);
}


open(PDF, "> reporte.pdf") or die "ERROR: No puedo escribir en reporte.pdf: $!\n";
print PDF $pdf->Finish();
close(PDF);

exit;

 
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4



Contenido de hola.txt

Código: Seleccionar todo
marcos
marcos    marcos1
marcos    marcos2


El tema que genera el reporte, pero me pone el contenido del archivo en un mismo renglon, digamos que no respeta los "ENTER's"

Saludos
situ
Perlero nuevo
Perlero nuevo
 
Mensajes: 358
Registrado: 2007-04-09 01:44 @114

Publicidad

Notapor kidd » 2007-10-12 09:19 @429

Hola,

Algunos comentarios. En primer lugar es cuando usas un while para leer un archivo, lo estás leyendo línea por línea, así que no tiene caso leerlo en un array, y después ese array meterlo a un string, más bien debería ser:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
while ($text1 = <DATOS>){
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Nunca cierras el archivo DATOS, no te olvides siempre cerrar los archivos que abras:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
close DATOS;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Finalmente, viendo la documentación del módulo PDF::Report, viene que la sintaxis para el párrafo es:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$pdf->addParagraph($text, $hPos, $vPos, $width, $height, $indent, $lead);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


El problema, es que estás metiendo la línea en la misma posición vertical, por lo que según la documentación, meterá todo en la misma línea.

Te dejo aquí un par de links a unos hilos del foro donde se ha tratado lo mismo:
viewtopic.php?t=1524.html
viewtopic.php?t=784.html

Saludos
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México

Notapor situ » 2007-10-12 09:45 @448

Gracias, ahí me anda :D
situ
Perlero nuevo
Perlero nuevo
 
Mensajes: 358
Registrado: 2007-04-09 01:44 @114


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados