Настройки в pdf :: таблица perl - PullRequest
1 голос
/ 16 декабря 2010

Я пытаюсь создать таблицу в формате PDF, используя 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;

По умолчанию в качестве заголовка должна быть указана первая строка, но в выводе не отображаются свойства заголовка, установленные в первой строке. И для всех страниц заголовок не отображается.

Любая помощь будет оценена.

Ответы [ 3 ]

1 голос
/ 16 декабря 2010

Я не запускал ваш код.

Вы ссылаетесь на $hdr_props до заполнения переменной.Perl не работает таким образом, вам нужно правильно упорядочить определения.

Добавьте use strict; use warnings FATAL => 'all'; в начало ваших программ, и Perl предупредит вас о подобных ошибках.

0 голосов
/ 23 сентября 2011

В документации сказано, что header_props должен быть ссылкой на хеш, поэтому:

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

Я столкнулся с подобной проблемой. Тем не менее, daxim правильно, вы также должны заказать свой код, как он предложил.

0 голосов
/ 17 декабря 2010

вообще нет предупреждений, и я последовал за daxim, чтобы сначала поставить $ hdr_props, но он все равно не будет читаться в настройках заголовка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...