Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

PDF::Template - Create cascade PDF

by kalyanrajsista (Scribe)
on Jun 02, 2010 at 08:41 UTC ( #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>

Comment on PDF::Template - Create cascade PDF
Select or Download Code
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
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? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2015-07-29 08:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (261 votes), past polls