我使用Perl生成带有模块的PDF文件
PDF::API2
。
我想绘制矩形框,每个框应包含一组基于哈希的数据。我正在使用以下方法显示数据,该方法以表格格式显示。
my $pdf = new PDF::API2(-file => "mydata.pdf");
my $page = $pdf->page;
.............
.............
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,
padding_right => 10,
);
其中@tbl
包含数据作为哈希数组。
应根据哈希键绘制矩形框。如果我有N个键,那么应该用它们的值绘制N个框。
如何使用Perl以PDF格式绘制框?我无法在PDF::API2
找到任何功能。
以下是它应该如何显示的示例图:
答案 0 :(得分:1)
请参阅
PDF::API2::Content
for 添加图形的方法
特别是,路径构建部分描述了将绘制一个或多个矩形的rect
方法
答案 1 :(得分:1)
PDF::Table
对象构造函数的第三个参数,在您的示例\@tbl
中,是您要将文本写入表中的位置。你所声明的是不一系列哈希值。这是一个数组数组。
更确切地说,它是一个数组引用。每个元素都是另一个数组ref,表示表的每一行。每个嵌套数组的元素都是该行的单元格。
use strict;
use warnings;
use PDF::API2;
use PDF::Table;
my $pdf = new PDF::API2(-file => "mydata.pdf");
my $page = $pdf->page;
my $pdftable = new PDF::Table;
my @tbl = (
["1\tNAME:ABC\n\tGRADE:4"],
["2\tNAME:XYZ\n\tGRADE:5"],
);
$pdftable->table(
$pdf,
$page,
\@tbl,
x => 50,
w => 400,
start_y => 630,
start_h => 630,
next_y => 630,
next_h => 630,
padding => 5,
padding_right => 10,
);
$pdf->saveas('mydata.pdf');