Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??
Hi Monks!
I am trying to align a text inside of this pdf table cells and having no success. I can do the cell background color but to adjust the font size doesn't work at all. I am trying to set the font size for the sub-heading texts like, "Primary Info" and "Secondary Info" and I just cant figure this one out, I wish the module would give an easier access to these settings in an easier way.
Has anyone worked with this before that could show me how or a better way of doing this? I am also trying to insert a line where the sum results are using a graphic or something other than faking the sub totals line.
Any Help is very appreciated. Here is the code sample to illustrade my frustration with this:

#!/usr/bin/perl use warnings; use strict; use PDF::API2; use PDF::Table; use Data::Dumper; my $pdftable = new PDF::Table; my $pdf = new PDF::API2(-file => "report.pdf"); my $page = $pdf->page(); $pdf->mediabox('A4'); # some data to layout my $some_data =[ ['Name', 'Address', 'Account', 'Amount',], ['','','','',], ['Primary Info','','','',], ['','','','',], ['1 - Charles Dawrwin', '1 - Boston, MA', '1 - 123456789', + '150.00'], ['2 - Arnold Shuwerts', '2 - San Rose, CA', '2 - 844756485' +, '250.00'], ['3 - Joe Doe', '3 - Revere, MA', '3 - 000034559', + '100.00'], ['4 - Mary Loo', '4 - New York, NY', '4 - 333449687', + '125.00'], ['','','','',], ['','','','___________',], ['','Primary Sub Total','','550.00',], ['','','','',], ['1a - Mary Dawrwin', '1a - Cambrigde, MA', '1a - 12345278 +9', '550.00'], ['2a - Joe Doark', '2a - Miami, FL', '2a - 84472648 +5' , '350.00'], ['','','','',], ['Secondary Info','','','',], ['','','','',], ['5 - John Dell', '5 - Portland, ME', '5 - 111000384', + '55.00'], ['6 - Mary Loumain', '6 - Cambridge, MA','6 - 000034569', +'1,000.00'], ['7 - Charles Town', '7 - New Port, NH', '7 - 222299944', + '200.00'], ['8 - Jasmin Deen', '8 - San Jose, CL', '8 - 000000122', + '255.00'], ['','','','___________',], ['','','Total:','$3,450.00',], ]; my $cell_props; my $j = 0; foreach my $row ( @{$some_data} ) { my $k = 0; foreach my $cell ( @{$row} ) { if ( ($cell eq 'Name') || ( $cell eq 'Address') || ( $cell eq +'Account') || ( $cell eq 'Amount') ) { $cell_props->[$j]->[$k] ={ background_color => '#808080', # font_color => '#FF0000', # justify => "center", }; }elsif ( ($cell eq 'Primary Info') || ($cell eq 'Secondary Inf +o') ){ $cell_props->[$j]->[$k] = { font => $pdf->corefont("Helvetica" +, -encoding => "utf8"), font_size => 15, background_color => '#FFCA00', # font_color => '#4D4D4D', # justify => "left", }; }elsif ( ($cell eq 'Total:') ){ $cell_props->[$j]->[$k] = { background_color => '#FFCA00', # font_color => '#4D4D4D', # justify => "center", }; }else { $cell_props->[$j]->[$k] = { font => $pdf->corefont("Helvetica" +, -encoding => "utf8"), font_size => 8, background_color => '#ffffff', # font_color => '#000000', # justify => "center", }; } $k++; } $j++; } # build the table layout $pdftable->table( # required params $pdf, $page, $some_data, # 2D arrayref of text strings x => 50, #left_edge_of_table, -w => 495, # width of table. technically optional, but almost + always a good idea to use start_y => 820, # baseline_of_first_line_on_first_page, next_y => 800, # baseline_of_first_line_on_succeeding_pages, -start_h => 800, # height_on_first_page, next_h => 500, # height_on_succeeding_pages, # some optional params -padding => 3, # cell padding padding_right => 10, #right cell padding, overides -pad border => 0, # border width 0 for no border background_color_odd => '', background_color_even => '', #cell background color for even +rows header_props => { min_w => 250, bg_color => "#808080", font => $pdf->corefont("Helvetica", -encoding => "utf8"), font_size => 13, font_color => "#000000", repeat => 1, }, column_props => [ map{{justify => 'center' }}1..4, ], cell_props => $cell_props, ); $pdf->saveas();


Thanks for looking!

In reply to Set text size in table cell using PDF::Table 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!
  • 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, 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, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            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.
  • Log In?
    Username:
    Password:

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

    How do I use this? | Other CB clients
    Other Users?
    Others browsing the Monastery: (4)
    As of 2014-08-30 01:39 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The best computer themed movie is:











      Results (291 votes), past polls