В продолжении поста о создании pdf-файла по средством PDF::API2, рассмотрим пример вставки таблицы, используя вышеупомянутый модуль и PDF::Table.
Стоит сразу заметить, что PDF::API2 имеет ряд недостатков:
- проблемы с кодировкой при использовании кириллицы (решается путем явного указания шрифта ttf);
- при размещении на странице несколько абзацев текста или таблиц, необходимо знать их объем (система координат является двумерной и начинается в левом нижнем угла листа).
Пример генерации pdf-документа на Perl со встроенной таблицей:
use PDF::API2;
use PDF::Table;
my $data =[
["Имя", "Роль"],
["Иван", "Пользователь"],
["Василий", "Админ"],
];
my $pdf = PDF::API2->new();
my $page = $pdf->page(0);
my $pdftable = new PDF::Table;
$pdftable->table(
$pdf,
$page,
$data,
x => 30,
w => 550,
start_y => 750,
next_y => 700,
font => $pdf->ttfont("/home/user/arial.ttf", -encode => 'utf-8'),
font_size => 12,
start_h => 300,
next_h => 500,
padding => 5,
padding_right => 10,
);
my $saveas = "example.pdf";
$pdf->saveas($saveas);