0

PDF::ReportPerl のとを使用してテーブルを作成する要点はわかったと思いますがPDF::Report::Table、2 次元配列@dataがどのように見えるかを理解するのは困難です。

ドキュメントには 2 次元配列であると書かれていますが、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);

明らかに、1 次元配列を渡すことはできませんが、例を検索したところ、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);

私が示した方法ではありません。

4

1 に答える 1