#!/usr/bin/env perl use strict; use warnings; use autodie; use PDF::API2; my $pdf_file = 'test.pdf'; my $left_text = 'This text on the left.'; my $right_text = 'This text on the right.'; my ($left_img, $right_img) = qw{left.png right.png}; my $pdf = PDF::API2::->new(-file => $pdf_file); my $page = $pdf->page(); $page->mediabox('A4'); $page->rotate(90); my $font = $pdf->corefont('Helvetica'); my @text_cfg = ( { text => $left_text, pos => [50, 40] }, { text => $right_text, pos => [50, 450] }, ); for my $cfg (@text_cfg) { my $text = $page->text(); $text->font($font, 12); $text->transform( -translate => $cfg->{pos}, -rotate => 90, ); $text->text($cfg->{text}); } my @gfx_cfg = ( { img => $pdf->image_png($left_img), pos => [150, 40] }, { img => $pdf->image_png($right_img), pos => [150, 450] }, ); my $gfx = $page->gfx; for my $cfg (@gfx_cfg) { $gfx->save(); $gfx->transform( -translate => $cfg->{pos}, -rotate => 90, ); $gfx->image($cfg->{img}, 0, 0); $gfx->restore(); } $pdf->save();