2010-12-16 5 views
1

私はperlのPDF :: Tableを使ってPDF形式の表を作成しようとしています。 しかし、それは私のヘッダー/ cols /行の設定を読み取っていないようです。ここpdf :: table perlの設定

は、テーブルの私のコードは次のとおり

use PDF::API2; 
    use PDF::Table; 

    my $pdftable = new PDF::Table; 
    my $pdf = PDF::API2->new(); 
    my $page = $pdf->page; 
    #data 
    my $some_data =[ 
    ["1","1","1","1","1","1","1"], 
    ["2","2","2","2","2","2","2"], 
    ["2","2","2","2","2","2","2"], 
    ["2","2","2","2","2","2","2"], 
    ["2","2","2","2","2","2","2"],# x 100 time to have pages 
    ]; 

    #build the table layout 
    $pdftable->table(
    $pdf, 
    $page, 
    $some_data, 
    x => 5, 
    w => 600, 
    start_y => 750, 
    next_y => 750, 
    start_h => 700, 
    next_h => 700, 
    # some optional params 
    font_size => 8, 
    border => 0, 
    background_color_odd => "white", 
    background_color_even => "lightblue", 
    header_props => $hdr_props, # see section HEADER ROW PROPERTIES 
    ); 

    $hdr_props = 
     { 
      # This param could be a pdf core font or user specified TTF. 
      # See PDF::API2 FONT METHODS for more information 
      font  => $pdf->corefont("Times", -encoding => "utf8"), 
      font_size => 10, 
      font_color => '#006666', 
      bg_color => 'yellow', 
      repeat  => 1, # 1/0 eq On/Off if the header row should be repeated to every new page 
     }; 
print "Content-Type: application/pdf;\n\n"; 
binmode(STDOUT); 
print $pdf->stringify; 

それはデフォルトでヘッダとして最初の行をしなければならないが、出力が最初の行に設定されないヘッダ特性を示しません。また、すべてのページにヘッダーは表示されません。

ご協力いただければ幸いです。

+0

「use strict」を追加するとどうなりますか?警告を使う; 'トップに? – Ether

答えて

1

コードを実行しませんでした。

変数が入力される前に$hdr_propsを参照しています。 Perlはそのようには機能しません。定義を適切に整理する必要があります。

プログラムの先頭にuse strict; use warnings FATAL => 'all';を追加すると、Perlはこのような間違いを警告します。

0

theresはまったく警告がありません.daximの後ろに$ hdr_propsを最初に置いていますが、ヘッダーの設定を読み込むことはできません。

0

ドキュメントはheader_propsがそう、ハッシュ参照する必要があると述べている:

header_props => \$hdr_props, # see section HEADER ROW PROPERTIES 

私は同様の問題に遭遇しました。しかし、daximが正しい場合は、提案したコードを注文する必要があります。

関連する問題