[poppler] [PATCH] Interactive forms

Albert Astals Cid aacid at kde.org
Thu Feb 22 11:30:49 PST 2007


A Dimecres 21 Febrer 2007, Julien Rebetez va escriure:
> Hello,
Hi

> Attached to this mail, you'll find a patch which adds (basic, doesn't
> support Signature fields for example) interactive forms (section 8.6 of
> the PDF reference) support to poppler.

Cool! :-)

> It basically adds two new file, poppler/Form.h|.cc, which provides some
> new classes :
> - FormWidget and its children, represents the visible part of a form
> field. Client application (through wrapper) should only use FormWidget
> and never user FormField directly. This way, the form's logic is handled
> by poppler and the client app shouldn't bother about it.
> - FormField and its children for the logical part of a field
>
> Some changes have been made to the XRef to support object modification,
> this has already been discussed on this list and the code hasn't changed
> a lot since :
> http://lists.freedesktop.org/archives/poppler/2006-August/002099.html
> The file writing part (modifications to PDFDoc) isn't included in this
> patch though, because I think it still needs some love.

Good to know you are working on this too :-)

>
> I added some functions to glib wrapper that expose the form
> functionnalities and I used them to add form support in Evince, if you
> want to give it a try, see this page :
> http://live.gnome.org/Evince/Forms
> I know that Pino Toscano (pinotree) has started to work on the qt4
> wrapper to expose this patch.
>
> Questions/comments are of course welcome :-)

Well, i had a quick look, not that i don't know anything of the PDF format by 
memory, but anyway your patch looks quite unintrusive in what we had until 
now (except the GfxFont::matches change, or is that a bugfix?) so i think 
that if you agree and noone disagrees i'll commit this on this weekend so 
it's easier to test than having to apply a patch.

Thanks for your work.

Albert

>
> Regards,
> Julien Rebetez




More information about the poppler mailing list