package SL::ReportGenerator;
+#use strict;
+
use Encode;
use IO::Wrap;
use List::Util qw(max);
use Text::CSV_XS;
use Text::Iconv;
-use PDF::API2;
-use PDF::Table;
+#use PDF::API2; # these two eat up to .75s on startup. only load them if we actually need them
+#use PDF::Table;
use SL::Form;
my $font_encoding = $main::dbcharset || 'ISO-8859-15';
$self->{text_is_utf8} = $font_encoding =~ m/^utf-?8$/i;
- foreach $name (@visible_columns) {
+ foreach my $name (@visible_columns) {
push @column_props, { 'justify' => $self->{columns}->{$name}->{align} eq 'right' ? 'right' : 'left' };
}
push @data, $data_row;
push @cell_props, $cell_props_row;
- foreach $name (@visible_columns) {
- $column = $self->{columns}->{$name};
+ foreach my $name (@visible_columns) {
+ my $column = $self->{columns}->{$name};
push @{ $data_row }, $self->_decode_text($column->{text});
push @{ $cell_props_row }, {};
'column_props' => \@column_props,
'cell_props' => \@cell_props,
'max_word_length' => 60,
+ 'border' => 0.5,
);
foreach my $page_num (1..$pdf->pages()) {
=item generate_pdf_content
-The PDF generation function. It is invoked by generate_with_headers, tests whether or not the Perl module PDF::API2 is installed and calls render_pdf_with_pdf_api2 if it is and render_pdf_with_html2ps otherwise.
+The PDF generation function. It is invoked by generate_with_headers and renders the PDF with the PDF::API2 library.
=item generate_csv_content
The CSV generation function. Uses XS_CSV to parse the information into csv.
-=item render_pdf_with_pdf_api2
-
-PDF render function using the Perl module PDF::API2.
-
-=item render_pdf_with_html2ps
-
-PDF render function using the external application html2ps.
-
=back
=head1 CONFIGURATION