我需要多次填写单个PDF模板并连接结果。当我说多重时,我的意思是几百次,可能超过一千次。
我可以逐个pdftk fill_form
执行此操作,然后使用pdftk cat
。我们可以很容易地将其并行化。
我很好奇这是否是唯一的选择,或者是否有一个软件(Linux + OSX,命令行)允许我说“拿这个模板,以及这些字段集,填写这个表格,然后连接文件“这样我就可以避免单独完成每一个。然后,如果确实存在某些东西,但它并不比仅仅执行fork
并行化方法更快,那么它就是可能不值得。
答案 0 :(得分: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;