Evince Form support has been released in version 0.9.2. This page is out of date.

There is bugzilla bug for that problem: bug 304575

Implementation Notes

There are four main field type, which are : Button, Text, Choice and Signature.

Each of these four main field type have subtype, which are :

  • Text Field
    • Single or Multiline
    • Password
    • Rich text
  • Choice
    • Scrollable list box
    • Drop-down menu with (optionnaly) an entry which can be filled by a value other than the predefined choices
  • Button
    • Push Button
    • Check Box
    • Radio button fields (set of button, only one can be 'on')
  • Signature, which contains a digital signature (PGP)

Some things to implement:

  • It should be possible to save the document with the modifications done to the form
  • UI for the forms should be documented
  • We should look into prelighting form entries, on mouse hover and in general so you can see what is possible to edit.
  • It would be nice to support accessibility features on forms.
  • We might want to support Javascript in forms bug 338721

  • There is also 'XFA', this is an XML language that add some scripting to forms, see XFA 2.2 specs

  • Hard thing to implement is rotation of documents, do we need rotation of the forms? How it will look?

Patches

To test this feature, you'll need to get CVS/SVN version of Poppler/Evince, here is a quick guide:

For Evince, an 'evince-form' branch is available through SVN :

svn co http://svn.gnome.org/viewcvs/evince/branches/evince-form evince-form

For Poppler, you'll need to checkout poppler from CVS (form support has been included in CVS) :

cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/poppler login
cvs -d :pserver:anoncvs@cvs.freedesktop.org:/cvs/poppler co poppler

Go to poppler directory and compile it :

./autogen.sh --prefix=/opt/poppler
make
sudo make install

Same for evince :

PKG_CONFIG_PATH=/opt/poppler/lib/pkgconfig ./autogen.sh --prefix=/opt/evince --enable-debug --enable-pixbuf --disable-scrollkeeper --disable-schemas-install
make
sudo make install

Launch evince:

<evince_dir>/shell/evince <path_to_document>

Bad news, its been a little while since these patches were written, so they are starting to outdate and not apply cleanly. So if anyones like me, then they really wanna get there hands on this anyways. So I just bzipped up the directories that I got to compile. -- Fixed, the above command should work, JulienRebetez

Attachments

evince.tar.bz2

poppler.tar.bz2

Here is the list of patches

Example PDF files with interactive forms

A file that includes a large range of field type (thanks to pinotree) : http://www.okular.org/stuff/forms-scribus.pdf (not found on 2008-11-19)

A lot of PDF forms to test: http://www.irs.gov/pub/irs-pdf/

simpleform.pdf (not found on 2008-11-19)

DVS_F_Neu.pdf

Complex forms : pcpurchase.pdf and here

Screenshots

Here is a flash video.

Apps/Evince/Forms (last edited 2013-08-08 22:52:25 by WilliamJonMcCann)