http://qs321.pair.com?node_id=513694

eric256 has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to learn PDF:Template in order to automate some PDF production (phone lists, price lists, the like0). The following code works great until the content reaches the end of the page, then it appears to hang indefinitaly and according to top its not even using up a ton of resources.

#!/usr/bin/perl use strict; use warnings; use CGI qw/:standard/; use PDF::Template; my $pdf = PDF::Template->new(filename => 'report.xml'); my $loop = []; push @$loop, {Name => "Test" , Address => rand} for 1..80; $pdf->param( records => $loop ); print header(-type=>'application/pdf'), $pdf->get_buffer;
TEmplate:
<pdftemplate h="8"> <pagedef margins="1i"> <font face="Times-Roman"> <header header_height="1.5i">Hello World </header> <row> <textbox w="25%" text="Name" /> <textbox w="25%" text="Address" /> </row> <loop name="records"> <row> <textbox w="25%" text="$Name"/> <textbox w="25%" text="$Address"/> </row> </loop> <textbox w="100%" text="Bottum of list"/> <footer footer_height="1i"> <row> <textbox w="100%" justify="right">Page <var value="__PAGE__" +/></textbox> </row> </footer> </font> </pagedef> </pdftemplate>

Any ideas?


___________
Eric Hodges $_='y==QAe=e?y==QG@>@?iy==QVq?f?=a@iG?=QQ=Q?9'; s/(.)/ord($1)-50/eigs;tr/6123457/- \/|\\\_\n/;print;

Replies are listed 'Best First'.
Re: PDF::Template (Hangs when content reaches second page)
by traveler (Parson) on Dec 02, 2005 at 19:49 UTC
    Maybe you should try setting a PAGESIZE in your PAGEDEF.

    --traveler

      No, that's not the problem. There's a bug somewhere in the bowels of PDF::Template / PDF::Writer that I created when I merged autrijus's changes in. That's what happens when you
      • don't have a good testsuite
      • are using an API that's been deprecated
      • haven't touched a module in 2 years
      I'm working on it right now, but have no idea when it will be fixed.

      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?