我有一个小例程,可以从一些表格数据中生成pdf。它工作但输出不是很漂亮所以我试图使用PDF :: Table。
我将所有数据加载到字符串的2D表中,然后调用table:
# Create a new PDF
my $pdftable = new PDF::Table;
my $pdf = PDF::API2::Simple->new( file => $io );
$pdf->add_font('VerdanaBold');
$pdf->add_font('Verdana');
# Add a page
$pdf->add_page();
my @table_data;
# < snipped code to build table_data>
$pdftable->table(
# required params
$pdf,
$pdf->current_page,
\@table_data,
-x => $pdf->margin_left,
-start_y => 500,
-next_y => 700,
-start_h => 300,
-next_h => 500,
# some optional params
-w => 570,
-padding => 5,
-padding_right => 10,
-background_color_odd => "gray",
-background_color_even => "lightblue", #cell background color for even rows
);
此代码是从CPAN Doc for PDF :: Table。
复制的我收到错误:
“找不到对象方法\”corefont \“via package \”PDF :: API2 :: Simple \“at /usr/local/share/perl5/PDF/Table.pm line 256. \ n”< / p>
任何提示?
答案 0 :(得分:0)
好吧,即使我找不到根本原因,我也想办法解决这个问题。
解决方法是在调用Table:
之前定义字体 my $font = $pdf->add_font('Verdana');
然后将$font
作为参数传递给Table,因此Table不会查找字体。
$pdftable->table(
# required params
$pdf,
$pdf->current_page,
\@table_data,
-font => $font,
....
我花了一些时间搜索PDF :: API2的代码,但未能找到corefont的定义,即使它引用了所有地方???