Perl:PDF :: Table无法找到CoreFonts

时间:2014-01-12 22:00:55

标签: perl pdf-generation

我有一个小例程,可以从一些表格数据中生成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>

任何提示?

1 个答案:

答案 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的定义,即使它引用了所有地方???