Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I make PDF tables from Perl?

Tags:

pdf

perl

Are there any perl modules to draw a table in a pdf at specified position with given rows and columns with an empty content in each cell?

like image 733
venkatch Avatar asked Nov 16 '09 09:11

venkatch


1 Answers

Two come to mind:

  • PDF::Table
  • PDF::Report::Table


I produced a simple table using PDF::Table like so:

use PDF::API2;
use PDF::Table;

my $pdf   = PDF::API2->new( -file => 'table.pdf' );
my $table = PDF::Table->new;
my $page  = $pdf->page;

my $data = [
  [ 'A1', 'A2', 'A3' ],
  [ 'B1', 'B2', 'B3' ],
  [ 'C1', 'C2', 'C3' ],
];

$table->table( $pdf, $page, $data,
               x       => 50,
               w       => 495,
               start_y => 750,
               next_y  => 700,
               start_h => 300,
               next_h  => 500,
);

$pdf->save;


And with PDF::Report::Table like this:

use PDF::Report;
use PDF::Report::Table;

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

my $data = [
  [ 'A1', 'A2', 'A3' ],
  [ 'B1', 'B2', 'B3' ],
  [ 'C1', 'C2', 'C3' ],
];

$pdf->openpage;
$pdf->setAddTextPos( 50, 50  );
$table->addTable( $data, 400 );   # 400 is table width

$pdf->saveAs( 'table.pdf' );
like image 165
draegtun Avatar answered Sep 25 '22 18:09

draegtun