my $pdf = new PDF::Report( 'PageSize' => 'A4', 'PageOrientation' => 'Landscape', undef => undef ); for( my $page_num=0; $page_num<$pages; $page_num++) { for( my $srcY=0; $srcY<10; $srcY++ ) { SQUARE: for( my $srcX=0; $srcX<10; $srcX++ ) { my $imgFile = calculate_src_filename($page_num,$srcY,$srcX) $pdf->addImgScaled($imgFile, $offsetX+(1+$srcX)*$squareSize, $offsetY+(1+$srcY)*$squareSize, $squareScale); } } # Code here to add text labels. # Code here to add arrows & symbols as vector graphics. $pdf->newpage() } open(PDF, ">",$outFileName) or die "Error opening $outFileName $!\n"; print PDF $pdf->Finish; close(PDF); return 0;