File: sample1.pl

package info (click to toggle)
libpdf-table-perl 1%3A0.10.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 216 kB
  • sloc: perl: 999; makefile: 2
file content (137 lines) | stat: -rwxr-xr-x 2,973 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env perl
use warnings;
use strict;
use diagnostics;

=pod 

This example file gives an overview of the functionalities provided by PDF::Table
Also it can be used to bootstrap your code.

=cut

#Please use TABSTOP=4 for best view
use PDF::API2;
use PDF::Table;

my $pdftable = new PDF::Table;
my $pdf      = new PDF::API2( -file => "table_of_lorem.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 odio neque, faucibus vel',
		'consequat quis, tincidunt vel, felis.'
	],
	[ 'Nulla euismod sem eget neque.', 'Donec odio neque', 'Sed eu velit.' ],
	[
		'Az sym bulgarin',
		"i ne razbiram DESI\ngorniq \nezik",
		"zatova reshih
		da dobavq
		edin ili dva
		novi reda"
	],
	[
		'da dobavq edin dva reda',
		'v tozi primer',
		'na bulgarski ezik s latinica'
	],
	[
		'1 Lorem ipsum dolor',
		'Donec odio neque, faucibus vel',
		'consequat quis, tincidunt vel, felis.'
	],
	[ 'Nulla euismod sem eget neque.', 'Donec odio neque', 'Sed eu velit.' ],
	[ 'Az sym bulgarin', 'i ne razbiram gorniq ezik', 'zatova reshih' ],
	[
		'da dobavq edin dva reda',
		'v tozi primer',
		'na bulgarski ezik s latinica'
	],
];

# build the table layout
$pdftable->table(

	# required params
	$pdf,
	$page,
	$some_data,

	# Geometry of the document
	x  => 50,
	-w => 495
	, # dashed params supported for backward compatibility. dash/non-dash params can be mixed
	start_y  => 792,
	next_y   => 700,
	-start_h => 400,
	next_h   => 500,

	# some optional params for fancy results
	-padding              => 3,
	padding_right         => 10,
	background_color_odd  => 'lightblue',
	background_color_even => "#EEEEAA",     #cell background color for even rows
	header_props          => {
		bg_color   => "#F0AAAA",
		font       => $pdf->corefont( "Helvetica", -encoding => "utf8" ),
		font_size  => 14,
		font_color => "#006600",
		repeat     => 1
	},
	column_props => [
		{},                                 #no properties for the first column
		{
			min_w      => 250,
			justify    => "right",
			font       => $pdf->corefont( "Times", -encoding => "latin1" ),
			font_size  => 14,
			font_color => 'white',
			background_color => '#8CA6C5',
		},
	],
	cell_props => [
		[ #This is the first(header) row of the table and here wins %header_props
			{
				background_color => '#000000',
				font_color       => 'blue',
			},

			# etc.
		],
		[    #Row 2
			{    #Row 2 cell 1
				background_color => '#000000',
				font_color       => 'white',
			},
			{    #Row 2 cell 2
				background_color => '#AAAA00',
				font_color       => 'red',
			},
			{    #Row 2 cell 3
				background_color => '#FFFFFF',
				font_color       => 'green',
			},

			# etc.
		],
		[        #Row 3
			{    #Row 3 cell 1
				background_color => '#AAAAAA',
				font_color       => 'blue',
			},

			# etc.
		],

		# etc.
	],
);
$pdf->saveas();