2011-12-22 154 views
2

我需要多次填寫單個PDF模板並將結果連接起來。當我說倍數時,我的意思是達到幾百倍,可能超過一千倍。質量PDF表格填充

我可以用pdftk fill_form一個接一個地做,然後用pdftk cat。我們可以很容易地將其並行化。

我很好奇,如果這是唯一的選擇,或者如果有一塊軟件(Linux + OSX,命令行),這將允許我說「採取此模板,並填充這些字段,填充出來這個表格,並且將這些文件連接起來「,這樣我就可以避免單獨做每個人。然後再一次,如果確實存在,但並不比只執行並行化方法更快,那麼它可能不值得。

回答

0

我的Perl庫CAM::PDF可以做到這一點。表單填充有點弱(例如,它不支持複選框),但連接效果很好。

#perl -w                    
use strict; 
use CAM::PDF; 

my $infile = 'in.pdf'; 
my $outfile = 'out.pdf'; 
my @fills = (
    { name => 'John' }, 
    { name => 'Fred' }, 
); 

my $pdf = CAM::PDF->new($infile) or die $CAM::PDF::errstr; 
for my $i (0 .. @fills-1) { 
    my $filledPDF = $i == 0 ? $pdf : CAM::PDF->new($infile); 
    $filledPDF->fillFormFields(%{$fills[$i]}); 
    if ($i > 0) { 
     $pdf->appendPDF($filledPDF); 
    } 
} 
$pdf->cleanoutput($outfile) or die;