#!/usr/bin/perl use strict; use warnings; use PDF::API2; use PDF::TextBlock; use constant mm => 25.4 / 72; use constant in => 1 / 72; use constant pt => 1; my ( $paragraph1, $paragraph2) = ('Headertext', 'Testtext zur Ausgabe in einem selbstgebauten PDF mit den richtigen Maßen. Mal sehen, was das gibt! ÄÜÖüäößéèàá'); my $pdf = PDF::API2->new( -file => "./test.pdf" ); my $page = $pdf->page; $page->mediabox (62/mm, 100/mm); #$page->cropbox (2/mm, 4/mm, 60/mm, 92/mm); # printable area my %font = ( Helvetica => { Bold => $pdf->corefont( 'Helvetica-Bold', -encoding => 'latin1' ), }, Times => { Roman => $pdf->corefont( 'Times', -encoding => 'latin1' ), }, ); # do some umlaut conversions here .... (snipped) my $tb = PDF::TextBlock->new({ pdf => $pdf, page => $page, fonts => { b => PDF::TextBlock::Font->new({ pdf => $pdf, font => $font{'Helvetica'}{'Bold'}, size => 16/pt, fillcolor => '#000000', }), p => PDF::TextBlock::Font->new({ pdf => $pdf, font => $font{'Times'}{'Roman'}, size => 14/pt, fillcolor => '#000000', }), }, }); $tb->text( "$paragraph1\n\n
$paragraph2
" ); # set the start of the paragraph and maxwidth/ height $tb->x(7/mm); $tb->y(82/mm); $tb->w(50/mm); $tb->h(95/mm); my ($endw, $ypos) = $tb->apply; $pdf->save; $pdf->end;