В продолжении поста о создании 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);