【问题标题】:Creating a table in pdf file using PDF::Report and PDF::Report::Table使用 PDF::Report 和 PDF::Report::Table 在 pdf 文件中创建表格
【发布时间】:2015-05-12 06:43:59
【问题描述】:

在我的一个应用程序中,需要以表格的形式下载带有报告详细信息的 PDF 文件。

使用 perl 中的 cpan 模块创建 PDF 文件并在其中写入表格。 PDF::Report 和 PDF::Report::Table。

请在下面找到代码示例:

#!/usr/bin/perl
use strict;
use warnings;

use PDF::Report;
use PDF::Report::Table;

my $pdf   = PDF::Report->new( PageSize => 'A4', PageOrientation => 'Portrait' );
my $table = PDF::Report::Table->new( $pdf );

my $data = [
['A1' , 'B1' , 'C1'],
['A2' , 'B2' , 'C2'],
['A3' , 'B3' , 'C3'],
['A4' , 'B4' , 'C4'],
['A5' , 'B5' , 'C5'],
['A6' , 'B6' , 'C6'],
['A7' , 'B7' , 'C7'],
['A8' , 'B8' , 'C8'],
['A9' , 'B9' , 'C9'],
['A10' , 'B10' , 'C10'],
['A11' , 'B11' , 'C11'],
['A12' , 'B12' , 'C12'],
['A13' , 'B13' , 'C13'],
['A14' , 'B14' , 'C14'],
['A15' , 'B15' , 'C15'],
['A16' , 'B16' , 'C16'],
['A17' , 'B17' , 'C17'],
['A18' , 'B18' , 'C18'],
['A19' , 'B19' , 'C19'],
['A20' , 'B20' , 'C20'],
['A21' , 'B21' , 'C21'],
['A22' , 'B22' , 'C22'],
['A23' , 'B23' , 'C23'],
['A24' , 'B24' , 'C24'],
['A25' , 'B25' , 'C25'],
['A26' , 'B26' , 'C26'],
['A27' , 'B27' , 'C27'],
['A28' , 'B28' , 'C28'],
['A29' , 'B29' , 'C29'],
['A30' , 'B30' , 'C30'],
['A31' , 'B31' , 'C31'],
['A32' , 'B32' , 'C32'],
['A33' , 'B33' , 'C33'],
['A34' , 'B34' , 'C34'],
['A35' , 'B35' , 'C35'],
['A36' , 'B36' , 'C36'],
['A37' , 'B37' , 'C37'],
['A38' , 'B38' , 'C38'],
['A39' , 'B39' , 'C39'],
['A40' , 'B40' , 'C40'],
['A41' , 'B41' , 'C41'],
];

$pdf->openpage;
$pdf->setAddTextPos( 50, 50  );
$table->addTable( $data, 400 );   # 400 is table width

$pdf->saveAs( 'table.pdf' );

结果:生成 2 页的 pdf。 在页面的连续性上缺少一行数据。 注意:我面临附加结果的跨度拍摄的问题。

问题是:缺少一行数据。缺少数据行 [A37, B37, C37]。

请帮助我解决此问题。 提前感谢您的所有帮助。

【问题讨论】:

  • 有没有其他方法可以创建pdf文件以表格格式显示报告。或者是否有机会将 excel 文件转换为 pdf 以表格格式显示报告。请帮我解决问题。

标签: perl


【解决方案1】:

好吧,当我运行你的代码时,我得到了

  commandPrompt > ./makepdf.pl 

    Useless use of greediness modifier '?' in regex; marked by <-- HERE in m/(\S{20}? <-- HERE )(?=\S)/ at /usr/local/share/perl/5.20.2/PDF/Table.pm line 386.
    !!! Warning: !!! Incorrect Table Geometry! Setting bottom margin to end of sheet!
     at /usr/local/share/perl/5.20.2/PDF/Report/Table.pm line 94.
    !!! Warning: !!! Incorrect Table Geometry! Setting bottom margin to end of sheet!
     at /usr/local/share/perl/5.20.2/PDF/Report/Table.pm line 94.

我认为

将下边距设置为工作表末尾!

!!! Warning: !!! Incorrect Table Geometry!

会与它有关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多