pdftk formular.pdf dump_data_fields | field2pl.plx > template.pl
genfdf.plx template.pl > output.fdf
pdftk formular.pdf fill_form output.fdf output formular_ausgefuellt.pdf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
#! /usr/bin/perl -w # IMMER AN DIE SEKIMOLONS DENKEN! use encoding ':locale'; my ($LOOKING,$INSTATE)=(0,1); my $state=$LOOKING; while(<>){ if (($state==$LOOKING) && m/---/){ $state=$INSTATE; } if (($state==$INSTATE) && m/^FieldName:\s+(.*)$/){ push(@names,$1); $state=$LOOKING; } } print '$fields={',"\n"; print join(",\n",map {sprintf("'%s'=>q{}",$_);} @names); print "\n};\n";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#! /usr/bin/perl -w # IMMER AN DIE SEKIMOLONS DENKEN! # use strict; use utf8; use PDF::FDF::Simple; use Getopt::Std; our $opt_o; getopts("o:"); my $outfile=$opt_o || "-"; my %content=(); our $fields; foreach my $file (@ARGV){ open(IN,"$file") || die ("could not open $file"); undef($/); my $in=<IN>; eval($in); die "reading input failed: $@" if $@; %content=(%content, %$fields); } my $f=new PDF::FDF::Simple({ filename => $outfile, content => \%content }); $f->save;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
$fields={ 'antragsteller.strasse_hausnr'=>q{Holzweg 13}, 'antragsteller.postleitzahl'=>q{12345}, 'antragsteller.ort'=>q{Sonstwo}, 'antragsteller.telefon'=>q{0815/12345}, 'antragsteller.emailadresse'=>q{seppmeier@web.de}, 'antragsteller.ort_datum'=>q{Sonstwo, den 28.9.2015}, # Datum der Antragsstellung 'antragsteller.familienname'=>q{Meier}, 'antragsteller.vorname'=>q{Joseph} 'projekt.termin'=>q{11.11.2016, Bürgerhaus Sonstwo}, 'firma.name'=>q{Kulturverein Sonstwo}, 'iban.zpflicht'=>q{DE123435987}, 'bic.nummer'=>q{GENODXYZ}, 'ibanbic.info'=>q{GENODXYZ}, 'kontoinhaber.name'=>q{Joseph Meier}, 'kontoinhaber.strasse_hausnr'=>q{Holzweg 13}, 'kontoinhaber.postleitzahl'=>q{12345}, 'kontoinhaber.ort'=>q{Sonstwo}, 'referat'=>q{Referat für Kultur}, 'projekttitel'=>q{Tolles Event}, 'datum.projekt'=>q{28.9.2015}, #datum der Antragsstellung 'brutto.hilfe'=>q{Nicht vorsteuerabzugsberechtig: Angabe in Bruttobeträgen}, 'aufwendung1'=>q{Honorare},# Position A1 im Pdf-Formular 'ak1'=>int(q{3000}), # Position A1 im Pdf-Formular 'ae1'=>int(q{3000}), # eine Spalte weiter Rechts # hier wuerder ich gerne schreiben ae1 = ak1 'aufwendung2'=>q{KSK}, # 5.2 % der Honorare 'ak2'=>int(q{117}), # hier wuerde ich gerne schreiben: ak1*0.052 'ae2'=>int(q{117}),# hier wuerde ich gerne schreiben ae2 = ak1 'spk1'=>q{2367}, # summe der Personalkosten # hier waere schoen: spk1 = ak1*0.052 'spe1'=>q{2367}, # das Feld, direkt daneben, also: spe1 = spk1 # es folgen noch weitere Felder, die habe ich jetzt weggelassen };
1 2 3 4 5 6
$fields={ 'antragsteller.strasse_hausnr'=>q{Holzweg 13}, # ... 'ak1'=>int(q{3000}), # Position A1 im Pdf-Formular 'ae1'=>int(q{3000}), # eine Spalte weiter Rechts }
1 2 3
$fields->{'ak2'} = int($fields->{ak1} * 0.052); $fields->{'ae2'} = $fields->{ak1}; # hier wuerde ich gerne schreiben ae2 = ak1 # usw.