2014-01-12 2 views
0

일부 표 형식의 데이터에서 pdf를 생성하는 작은 루틴이 있습니다. 그것은 작동하지만 출력 꽤되지 않습니다 그래서 나는 PDF :: 테이블을 사용하려고합니다.Perl : PDF :: Table cant find CoreFonts

나는 문자열의 2 차원 테이블에 모든 데이터를로드 한 후 테이블 전화 :

# 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                        
     ); 

이 코드는 PDF의 CPAN 문서에서 복사 :: 표.

는 오류가 발생합니다 :

PDF : API2 :: 간단한 \ "에서/usr/지방/주/perl5의/PDF /"패키지 \ 통해 "corefont \"개체 방법 \를 찾을 수 없습니다 " Table.pm 256 행. \ n "

힌트가 있습니까?

+0

무슨 배포입니까? 어떤 버전의 perl? – woolstar

+0

PDF-Table-0.9.6_h3, SSIMMS/PDF-API2-2.020, Perl, v5.10.1입니다. –

답변

0

근본 원인을 찾을 수 없더라도이 문제를 해결하는 방법을 알아 냈습니다. 표 글꼴을 찾고하지 않도록 매개 변수로 테이블에 $font을 통과 한 후

my $font = $pdf->add_font('Verdana');

과 :

해결 방법은 표 호출하기 전에 글꼴을 정의하는 것입니다.

$pdftable->table(
     # required params                                      
     $pdf, 
     $pdf->current_page, 
     \@table_data, 
     -font => $font, 
     .... 

나는 PDF : API2의 코드를 사냥 약간의 시간을 할애하고 사방 참조 심지어 불구하고 corefont의 해상력을 찾지 못했습니다 ???