2009-11-16 19 views
5

Belirli bir satırda ve her hücrede boş bir içeriğe sahip sütunlarla belirtilen konumda pdf'de bir tablo çizmek için perl modülleri var mı?Perl'den PDF tablolarını nasıl yapabilirim?

+0

aşağıda çözümler son derece sınırlıdır. Örneğin, bir tablonun sadece iç hücre sınırlarını kolayca değiştiremez veya hatta merkezi hizalanmış hücreleri yapamazsınız. Yani işlevselliği sıfırdan yeniden yazmalısınız, öyle görünüyor? – sventechie

cevap

11

İki akla gelen:

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

my $pdf = PDF::API2->new(-file => 'table.pdf'); 
my $table = PDF::Table->new; 
my $page = $pdf->page; 

my $data = [ 
    [ 'A1', 'A2', 'A3' ], 
    [ 'B1', 'B2', 'B3' ], 
    [ 'C1', 'C2', 'C3' ], 
]; 

$table->table($pdf, $page, $data, 
       x  => 50, 
       w  => 495, 
       start_y => 750, 
       next_y => 700, 
       start_h => 300, 
       next_h => 500, 
); 

$pdf->save; 
:


ben şöyle PDF :: Tablo kullanarak basit bir tablo üretti


Ve böyle bir PDF :: Rapor :: Tablo ile:

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', 'A2', 'A3' ], 
    [ 'B1', 'B2', 'B3' ], 
    [ 'C1', 'C2', 'C3' ], 
]; 

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

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

'my $ table = PDF :: Tablo-> yeni;' PDF :: Tablo belgelerinin bunu yapması gerektiği söylendi, ancak en son sürümü: '$ perl -e 'PDF kullanın: Tablo; $ table = PDF :: Tablo-> new '
Uyarı: Sayfa bir PDF :: API2 :: Sayfa nesnesi olmalıdır, ancak şöyle görünmelidir: -e satırı 1. Hata: PDF geçirilen sayfadan nesne ayarlanamıyor ya geçersiz olduğu gibi! -e line 1. '(BTW, 4 boşlukla kod başlattığını söyleyen ve 2 boşlukla biterek bir satır ucu ekleyen biçimlendirme yardımı yanlıştır.) –

+0

@PhilGoetz - Yukarıda yazdığımdan beri tanıtılan bir hata. Ben büyük olasılıkla cevap zamanında kullandığım PDF :: Table sürümü ile test ettik ve iyi çalışıyor (sürüm 0.02). – draegtun

İlgili konular