PDF::Report
我想我已经掌握了使用 Perl和创建表的要点PDF::Report::Table
,但是很难看到二维数组的@data
样子。
文档说它是一个二维数组,但CPAN上的示例仅显示数组 test1、test2 等的数组,而不是显示数据和格式的示例,如$padding
$bgcolor_odd
等。
这是我到目前为止所做的:
$main_rpt_path = "/home/ics/work/rpts/interim/mtr_prebill.rpt";
$main_rpt_pdf =
new PDF::Report('PageSize' => 'letter', 'PageOrientation' => 'Landscape',);
$main_rpt_tbl_wrt =
PDF::Report::Table->new($main_rpt_pdf);
显然,我不能传递一维数组,但是我搜索了示例,只能在 CPAN 搜索中找到那个。
编辑:
这是我尝试调用的方式addTable
:
$main_rpt_tbl_wrt->addTable(build_table_writer_array($pt_column_headers_ref, undef));
.
.
.
sub build_table_writer_array
# $data -- an array ref of data
# $format -- an array ref of formatting
#
# returns an array ref of a 2d array.
#
{
my ($data, $format) = @_;
my $out_data_table = undef;
my @format_array = (10, 10, 0xFFFFFF, 0xFFFFCC);
$out_data_table = [[@$data],];
return $out_data_table;
}
这是我得到的错误。
Use of uninitialized value in subtraction (-) at /usr/local/share/perl5/PDF/Report/Table.pm line 88.
at /usr/local/share/perl5/PDF/Report/Table.pm line 88
我无法弄清楚 addTable 想要什么数据。那就是我想知道格式应该去哪里。
编辑:
addData 调用看起来应该像
$main_rpt_tbl_wrt->addTable(build_table_writer_array($pt_column_headers_ref), 10,10,xFFFFFF, 0xFFFFCC);
不是我指出的方式。