重新排列PDF文件中的数据

我正在使用Perl来生成带有 PDF::API2模块的PDF文件。重新排列PDF文件中的数据

我很难以所需的格式将数据写入文件。

目前,这是它如何出现在PDF文件中。

这里是我的脚本

my %data = (

'1' => {

'SEQUENCE' => '1',

'NAME' => 'John',

'ADDR1' => 'Road 1',

'GRADE' => '5'

},

'2' => {

'SEQUENCE' => '2',

'NAME' => 'Smith',

'ADDR1' => 'Road 2',

'GRADE' => '6'

}

);

...

...

my @rows = qw(NAME ADDR1 GRADE);

for my $id (sort keys %data){

push @tbl, [ @{$data{$id}}{@rows} ];

($name, $addr, $grade) = ($data{$id}{'NAME'}, $data{$id}{'ADDR1'}, $data{$id}{'GRADE'});

}

...

...

my $pdftable = new PDF::Table;

$pdftable->table(

$pdf,

$page,

\@tbl,

x => 50,

w => 400,

start_y => 630,

start_h => 630,

next_y => 630,

next_h => 630,

padding => 5,

border => 1,

padding_right => 10,

);

$pdf->saveas();

但我希望它出现这样的:

我知道我必须做出修改@tbl数据,但是如何?

回答:

PDF::Tabletable函数采用一个“阵列或多个阵列”作为它的第三个参数。您目前有它strucutred这样的:

my @tbl = ([$name,$addr,$grade], [...]) 

每个嵌套数组(什么是[]括号内)是表的新行,和元素数组是行的单元格。因此,相反,你想让它的结构:

my @tbl = (['NAME',$name], ['ADDR1',$addr], ['GRADE',$grade], [...]) 

要使用您的%data结构,它构造:

for my $id (sort keys %data) { 

push @tbl, [$_, $data{$id}->{$_}] for qw/NAME ADDR1 GRADE/;

push @tbl, [qw/- -/]; # to add a blank row as a separator

}

以上是 重新排列PDF文件中的数据 的全部内容, 来源链接: utcz.com/qa/265191.html

回到顶部