2011-12-22 19 views
2
私は、単一のPDFテンプレートを複数回に記入し、結果をCONCATする必要が

。私が複数を言う時、私は数百回まで、潜在的には1000以上を意味する。マスPDFフォームを記入

私は、pdftk fill_formで一つずつこれを実行した後、pdftk catを使用することができます。これをかなり簡単に並列化することができます。これが唯一のオプションである、または私はこのテンプレートを取る」と言うことを可能にするソフトウェアの一部(Linuxの+ OSX、コマンドライン)、およびフィールドのこれらのセットがある場合は、記入した場合

は、私が興味このフォームから、およびファイルCONCAT」私は個別に一人一人をやって回避することができます。さらに、何かが存在しても、並列化の方法をforkだけ行うよりも速くはないのであれば、おそらくその価値はありません。

答えて

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; 
関連する問題