Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??

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>

In reply to PDF::Template - Create cascade PDF by kalyanrajsista

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



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (5)
As of 2024-04-24 00:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found