It's quite ugly but PDF::Table is actually consuming the contents of $some_data by shifting each element out of it for display. This means that when you call table the second time you're passing in an empty data set which causes a divide by zero error. You'll have to make a copy of the data before passing it in.

As an aside, you'll want to record the third parameter returned from the first table call. This is the last y value used in creating the table. Subtract a few from what you get back (origin is the bottom of the page, not the top) and use it as the starting position of the second table.

use PDF::API2; use PDF::Table; my $pdftable = new PDF::Table; my $pdf = new PDF::API2(-file => "table_of_lorem.pdf"); my $page = $pdf->page; my $some_data = [ ["1 Lorem ipsum dolor", "Donec odio neque, faucibus vel", "consequa +t quis, tincidunt vel, felis."], ["Nulla euismod sem eget neque.", "Donec odio neque", "Sed eu velit +."], ]; my $left_edge_of_table = 50; my @tmp = @$some_data; my (undef, undef, $boty) = $pdftable->table( $pdf, $page, \@tmp, x => $left_edge_of_table, w => 495, start_y => 750, next_y => 700, start_h => 300, next_h => 500, padding => 5, padding_right => 10, background_color_odd => "gray", background_color_even => "lightblue", ); @tmp = @$some_data; $pdftable->table( $pdf, $page, \@tmp, x => $left_edge_of_table, w => 500, start_y => $boty - 10, next_y => 705, start_h => 305, next_h => 505, padding => 5, padding_right => 10, background_color_odd => "navy", background_color_even => "red", #cell background color for even r +ows ); $pdf->saveas();

In reply to Re: Making PDF Tables by Loops
in thread Making PDF Tables by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.