我使用Perl生成PDF文件
PDF::API2
模块。
我无法以所需的格式将数据写入文件。
目前这是它在PDF文件中的显示方式。
这是我的剧本
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<WeatherData>().Property(a => a.VendorId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<WeatherData>().Property(a => a.WeatherStationId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<WeatherData>().HasKey(w => new
{
w.VendorId,
w.WeatherStationId
});
}
但我希望它看起来像这样:
我知道我必须修改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();
数据,但是怎么做?
答案 0 :(得分:-1)
PDF::Table
table函数采用&#34;数组或数组&#34;作为第三个论点。你现在的结构如下:
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
}