Generando pdf con Perl + PDF::Report

Usando el modulo de cpan PDF::Report de Perl para generar pdf, si usan Debian, Canaima o algún derivado debería bastar con:
#aptitude install libpdf-report-perl
Para probar el script crean un archivo con extensión .pl y copian el código.

Luego en consola: leninmhs@one:~/perl$perl pdf.pl
ó: leninmhs@one:~/perl$./pdf.pl

Se realizo énfasis en asignar las propiedades del pdf generado (autor, fecha, creador, etc..) y añadir imágenes y algo de texto dentro del pdf a generar.
La documentación oficial de PDF::Report

Código cortesía de la casa hecho en Canaima 3.0 (Debian Squeeze):

#!/usr/bin/perl -w
# aptitude install libpdf-report-perl

use PDF::Report;

my $pdf = new PDF::Report( PageSize => 'A4', PageOrientation => 'Portrait');
my %hash_info = ( Author => "Leninmhs - Lenin Hernandez", Creator => "Perl v5.10.1",
Subject => "Practica Perl + PDF::Report ", Title => "Practica Perl + PDF::Report", CreationDate => "D:20110703112700");

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

$pdf->addImg( "banner.png" , 20, $height-40);
$pdf->centerString(0, $width, $height-80, "Reporte con PDF::Report en Perl");

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

my $whatis = "Perl es un lenguaje de programacion disenado por Larry Wall en 1987. Toma caracteristicas del lenguaje C, del lenguaje interpretado shell (sh),
AWK, sed, Lisp.";
my $defecto = "Perl esta instalado por defecto en las distribuciones mas populares de GNU/Linux como Debian, Canaima, Slackware, Mandriva, Gentoo, RedHat y SUSE.";
my $lema = "Perl es un gran e insidioso mal perpetrado por habiles pero pervertidos profesionales";
my $lema2 = "Lema Perl: Hay mas de una forma de hacerlo.";
$pdf->addParagraph($whatis, 30, $height-130, $width-60, 30, 25, 10);
$pdf->addParagraph($defecto, 30, $height-180, $width-60, 20, 25, 10);
$pdf->addParagraph($lema, 30, $height-250, $width-60, 20, 25, 10);
$pdf->addParagraph($lema2, 30, $height-290, $width-60, 20, 25, 10);
$pdf->addImg( "perl_mula.jpg" , 400, $height-420);

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

Con ese código nos queda algo así:perl-pdf-propiedades

Ver todas las publicaciones de Perl


Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s