#! /usr/bin/perl use strict; use warnings; use 5.010; use PDF::Create; # some data to print my @liste = ( '00' .. '99' ); my $workdir = "C:/temp"; my $filename = "liste.pdf"; chdir $workdir or die "chdir($workdir) failed: $!"; my $pdf = PDF::Create->new( 'filename' => $filename, 'Author' => 'linuxer', 'Title' => 'liste', 'CreationDate' => [ localtime ], ); my $font = $pdf->font( 'BaseFont' => 'Helvetica', ); my $root = $pdf->new_page( 'MediaBox' => $pdf->get_page_size('A4'), ); my $page = $root->new_page(); my $i=0; for my $row ( @liste ) { # new page after X (here 63) lines; depends on used font size # may be it's possible to calculate number of rows, depending on page size and font size if ( 63 < $i++ ) { $page = $root->new_page(); $i = 0; } $page->printnl( $row, $font ); } $pdf->close;