Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

PDF::Template - Create cascade PDF

by kalyanrajsista (Scribe)
on Jun 02, 2010 at 08:41 UTC ( [id://842732]=perlquestion: print w/replies, xml ) Need Help??

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

Hello Monks

I've been using PDF::Template Module to generate PDF based on my input datahash. Please check the working code below

I want to generate one more set of data in another page without changing the XML File. As data comes dynamically I'm not sure of how many times I must include the LOOP attribute in my XML File

Any ideas or suggestions are appreciated. Many Thanks

use strict; use PDF::Template; my $rpt = new PDF::Template( FILENAME => 'sample.xml' ); my %Inputs = ( 'svctype' => 'Voice', 'fromcur' => 'EUR', 'LOOPDETAIL2' => [ { 'seqnum' => 878, 'date' => '01-Apr-2010', 'tax' => '0.000', 'posttax' => '0.000', 'pretax' => '0.000', 'israp' => 'FALSE' }, { 'seqnum' => 879, 'date' => '02-Apr-2010', 'tax' => '0.000', 'posttax' => '0.000', 'pretax' => '0.000', 'israp' => 'FALSE' }, { 'seqnum' => 880, 'date' => '03-Apr-2010', 'tax' => '0.000', 'posttax' => '0.000', 'pretax' => '0.000', 'israp' => 'FALSE' }, ], 'pretax_totals' => '0.000', 'tax_total' => '0.000', 'posttax_totals' => '0.000', ); $rpt->param(%Inputs); $rpt->write_file('/export/home/kars/sample.pdf');

Input XML File is as follows

<pdftemplate name="test"> <pagedef margins="1i" pagesize="A4" nopagenumber="0"> <font face="Helvetica" h="10"> <if name="svctype" op="ne" value="SMS"> <font face="Helvetica-Bold"> <row> <textbox w="100%" h="*2" text=""/> </row> <row h="*1.5"> <textbox w="20%" border="1" justify="center">D +ate</textbox> <textbox w="20%" border="1" justify="center">S +equence Number Range</textbox> <textbox w="20%" border="1" justify="center">P +re-Tax Value in <var name="fromcur"/> </textbox> <textbox w="20%" border="1" justify="center"> + Tax Value in <var name="fromcur"/> </textbox> <textbox w="20%" border="1" justify="center">P +ost-Tax Value in <var name="fromcur"/> </textbox> </row> </font> <loop name="LOOPDETAIL2"> <row h="*1.5"> <if name="israp" op="eq" value="FALSE"> <textbox w="20%" border="1" justify="cente +r" text="$date"/> <textbox w="20%" border="1" justify="cente +r" text="$seqnum"/> <textbox w="20%" border="1" justify="right +" text="$pretax"/> <textbox w="20%" border="1" justify="right +" text="$tax"/> <textbox w="20%" border="1" justify="right +" text="$posttax"/> </if> </row> </loop> <font face="Helvetica-Bold"> <row h="*1.5"> <textbox w="20%" border="1" justify="center" t +ext=""/> <textbox w="20%" border="1" justify="center" t +ext="Total"/> <textbox w="20%" border="1" justify="right" te +xt="$pretax_totals"/> <textbox w="20%" border="1" justify="right" te +xt="$tax_total"/> <textbox w="20%" border="1" justify="right" te +xt="$posttax_totals"/> </row> </font> </if> </font> </pagedef> </pdftemplate>

Replies are listed 'Best First'.
Re: PDF::Template - Create cascade PDF
by kalyanrajsista (Scribe) on Jun 03, 2010 at 04:50 UTC

    Any replies please

    Suggest me If I'm wrong... If I create Key's uniquely in my hash and modify the XML accordingly on the fly...Does this help me anyway ~ Any ideas are appreciated

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://842732]
Approved by Corion
Front-paged by Sinistral
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (1)
As of 2024-04-19 00:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found