http://github.com/jkraemer/pdf-forms/ by Jens Kraemer, jk@jkraemer.net
Fill out PDF forms with pdftk (www.accesspdf.com/pdftk/).
require 'pdf_forms' fdf = PdfForms::Fdf.new :key => 'value', :other_key => 'other value' # use to_pdf_data if you just want the fdf data, without writing it to a file puts fdf.to_pdf_data # write fdf file fdf.save_to 'path/to/file.fdf' # To generate XFDF instead of FDF instantiate PdfForms::XFdf instead of PdfForms::Fdf
First get pdftk from www.accesspdf.com/pdftk/ and install it.
require 'pdf_forms' # adjust the pdftk path to suit your pdftk installation # add :data_format => 'XFdf' option to generate XFDF instead of FDF when # filling a form (XFDF is supposed to have better support for non-western # encodings) # add :utf8_fields => true in order to get UTF8 encoded field metadata (this # will use dump_data_fields_utf8 instead of dump_data_fields in the call to # pdftk) pdftk = PdfForms.new('/usr/local/bin/pdftk') # find out the field names that are present in form.pdf pdftk.get_field_names 'path/to/form.pdf' # take form.pdf, set the 'foo' field to 'bar' and save the document to myform.pdf pdftk.fill_form '/path/to/form.pdf', 'myform.pdf', :foo => 'bar' # optionally, add the :flatten option to prevent editing of a filled out form pdftk.fill_form '/path/to/form.pdf', 'myform.pdf', {:foo => 'bar'}, :flatten => true
$ gem install pdf-forms
$ git clone http://github.com/jkraemer/pdf-forms.git
The FDF generation part is a straight port of Steffen Schwigon’s PDF::FDF::Simple perl module. Didn’t port the FDF parsing, though ;-)
see LICENSE