"Real" PDF forms are quite common nowadays. How does one edit them with a "real" editor like vi (OK also emacs :-) )?
"pdftk" (PDF ToolKit) to the rescue.
Suppose that "form.pdf" is your PDF form.
Extract the form information:
pdftk form.pdf generate_fdf output form.fdf
This only gets the text fields to get an idea of all the fields do:
pdftk form.pdf dump_data_fields output form.fields
Sometimes the field names are cryptic. It helps to also view the form.
pdftotext -layout form.pdf; less form.txt
(if you insist on text-mode)
You can now edit the file form.fdf and fill in the fields marked with the string '%%EOF'.
Once you have edited form.fdf you can generate the filled in form with:
pdftk form.fdf fill_form form.fdf output filled.pdf
pdftk form.fdf fill_form form.fdf output filled.pdf flatten
to get a non-editable pdf.
Some additional hints
If your form.fdf file contains no '%%EOF' strings then you are out of luck---it means your PDF form is only a printable form and cannot be filled on the computer (but see the other hint about "flpsed").
Checkboxes/buttons will not appear in the fdf file. You can use form.fields to find out what these fields are called and introduce entries in the fdf file as (here replace FN by the field name)
<</V (Yes) /T (FN) >>
<</V (Off) /T (FN) >>
It helps to have three windows open. One for editing, one for viewing the form.fields and one for viewing the filled pdf file.
You may also want to periodically update the filling of the form to see whether the filling works.
Clearly this is crying for someone to write a nice interface---why don't I you ask? I will ... but don't hold your breath.
You can skip all of this and use Adobe's Distiller, but most readers should be able to guess why I don't want to use that!