#!/usr/bin/env perl
use warnings;
use strict;
use diagnostics;
#Please use TABSTOP=4 for best view
use PDF::API2;
use PDF::Table;
my $pdftable = new PDF::Table;
my $pdf = new PDF::API2( -file => "header_repeat_with_cell_props.pdf" );
my $page = $pdf->page();
$pdf->mediabox('A4');
# A4 as defined by PDF::API2 is h=842 w=545 for portrait
# some data to layout
my $some_data = [
[ 'Header', 'Row', 'Test' ],
[ '1 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '2 Lorem ipsum dolor', 'Donec super long text goes here to provoke a text block', 'consequat quis, tincidunt vel, felis.' ],
[ '3 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '4 Lorem ipsum dolor', 'Donec super long text goes here to provoke a text block', 'consequat quis, tincidunt vel, felis.' ],
[ '5 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '6 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '7 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '8 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
[ '9 Lorem ipsum dolor', 'Donec', 'consequat quis, tincidunt vel, felis.' ],
];
# build the table layout
my $cell_props = [];
$cell_props->[2][1] = {
background_color => '#000000',
font_color => 'blue',
justify => 'left'
};
$cell_props->[4][1] = {
background_color => '#000000',
font_color => 'red',
justify => 'center'
};
$cell_props->[6][1] = {
background_color => '#000000',
font_color => 'yellow',
justify => 'right'
};
$pdftable->table(
# required params
$pdf,
$page,
$some_data,
x => 10,
w => 350,
start_y => 780,
next_y => 780,
start_h => 200,
next_h => 200,
padding => 10,
# some optional params
font_size => 10,
padding_right => 10,
horizontal_borders => 1,
header_props => {
bg_color => "silver",
font => $pdf->corefont( "Helvetica", -encoding => "utf8" ),
font_size => 20,
font_color => "#006600",
#justify => 'left',
repeat => 1,
},
cell_props => $cell_props
);
$pdf->saveas();