[poppler] Does poppler support rollover appearance of buttons?

Brad Hards bradh at frogmouth.net
Tue Nov 27 03:22:48 PST 2007


On Monday 26 November 2007 08:04:01 pm Carlos Garcia Campos wrote:
> El lun, 26-11-2007 a las 06:35 +1100, Brad Hards escribió:
> > On Monday 26 November 2007 01:48:52 am Francesco Pretto wrote:
> > > This document [1] contains numerous features that apparently aren't
> > > supported by poppler or the frontend I am using (evince). They do works
> > > using official adobe reader. In particular, I'm interested in the
> > > appearance change of the buttons when the mouse pointer roll over them
> > > (in the document, the push-me button): is this feature intended to be
> > > supported by poppler now (any version, stable or development)?
> >
> > That appears (on first glance) to show a Widget annotation.
> >
> > That should be supported by poppler in the main development branch (I
> > don't think in 0.6).
> >
> > I'm not sure if evince exposes it though. I understand Okular should
> > support it some time in KDE 4.
>
> hmm, is it implemented in the qt4 bindings? AFAIK form field
> additional-actions are not supported by poppler core.
OK, Here is the object in question
108 0 obj
<< 
/Type /Annot 
/Subtype /Widget 
/Rect [ 202 299 248 312 ] 
/BS << /S /B >> 
/A << /T (Enhanced!)/S /Hide /H false >> 
/MK << /RC (Me)/CA (Push)/BC [ 0 0 0 ] /AC (Thanks)/BG [ 0.753 0.753 0.753 ] 
>> 
/FT /Btn 
/DA (/HeBo 12 Tf 0 0 1 rg)
/Ff 65540 
/T (showhidden)
/H /P 
/DR << /Font << /HeBo 112 0 R >> >> 
/AP << /N 109 0 R /D 110 0 R /R 111 0 R >> 
>> 
endobj

I haven't tested this, so I don't know if it works, or is exposed correctly. 
However based on reading of Annot::generateFieldAppearance(), poppler core 
does have code to parse out the MK dictionary, BG, BC, and CA. I don't see 
anything to handle RC (rollover caption) or AC (alternate caption).

I've never worked on this, and you can probably read the code at least as well 
as I can. We take patches too :-)

Brad


More information about the poppler mailing list