# convert PDF file to JPG convert -verbose -density 300 -background white file.pdf file.jpg # create scribus document with PDF fields scribus file.sla -> import image -> annotate -> save -> exit # replace all text field names with sequential numbers and remove the hideous black frame awk '{ f+= sub("ANNAME=\"[^\"]*\"","ANNAME=\"FIELD" f "\""); print $0}' file.sla | | awk '{ sub("ANBCOL=\"Black\"", "ANBCOL=\"None\""); print $0 }' > file-fixed.sla # export as PDF file (all defaults are fine) # extract fdf form pdftk file-fixed.pdf generate_fdf output file-fixed.fdf # fill in values # format is << /V () <- Field value /T (FIELD14) <- Field name >> # don't know about special handling of characters. Trying with Unicode (Esperanto ĉ) gave me some weird shit # fill in form with values (in updated file-upd.fdf) pdftk file-fixed.pdf fill_form file-upd.fdf output file-filled.pdf # done! I can automate much of the latter part and use the same idea as I had before: given a series of input files with a specified format, say INI, fill the form with them process: start converter using the syntax "tool formfile.ext data1.txt data2.txt" convert is called to turn formfile.ext into an image file (png/jpg) scribus is started with a generated script as argument the script creates a new document then creates an image frame then resizes the image frame to fill the page then loads the generated image into the frame user input: the user is required to generate the boxes in the sequence wanted the script changes the names sequentially and removes the black box the script exports the file as pdf the script exits (and scribus with it) converter generates an fdf file out of the pdf converter modifies the fdf file with filled in data converter generates filled in pdf files the converter script can also stop after scribus exits, so that two scripts would be necessary. the main issue is that scribus is infinitely slow at coming up with the field info, so that it's hard to edit the names in there. in that case the first invocation is "tool formfile.ext form.pdf", the second "tool2 form.pdf info.fdf data1.txt data2.txt filledform.pdf. of course, the name of the file can be part of data1.txt. in this scenario, data1.txt and data2.txt are not separate sets of data, but complementary: one may contain unchanging things (like your name and address) while the other may contain particulars of the form (date and time or addressee). if you want separate sets, call multiple times.