[poppler] Plans to get Javascript support in Poppler.

Leonard Rosenthol lrosenth at adobe.com
Wed Mar 23 20:20:35 PDT 2011

Another API-related question you need to consider is how to handle "trigger events" (ISO 32000-1:2008, 12.6.3).  Is it a push or pull model? What "parameters" get passed in/out?

I would also suggest that you consider supporting JS in Forms before other types, since that is (by a LARGE MARGIN) the most commonly found JavaScript.   There are lots of documents on the net that you can use to test.


-----Original Message-----
From: poppler-bounces+leonardr=adobe.com at lists.freedesktop.org [mailto:poppler-bounces+leonardr=adobe.com at lists.freedesktop.org] On Behalf Of jose.aliste at gmail.com
Sent: Wednesday, March 23, 2011 10:25 AM
To: poppler at lists.freedesktop.org
Cc: Ryan Lewis
Subject: [poppler] Plans to get Javascript support in Poppler.

Hi list,

So we are discussing how we can join efforts to start adding poppler
support for Javascript in poppler.  With Carlos and Pino, we got some
agreements that I want to share with you so you can add comments/
regards/ questions/ etc. These are by no mean sealed plans, I only try
to account for a summary of the discussion we had yesterday in IRC.
The basic plan is:

1. To start a "plain core js" API in C++ that will use poppler core
API and will follow as close as possible the PDF JS API [1]
2. Each frontend, glib and qt, can then decide how they will bind
these API to their frontends.

a) Of course, will coding 1, we will need to add functionality to core
poppler that is not there yet, like for instance, support for
Javascript Actions.
b) the plain core js api in 1 should be probably very easy, as it
should wrap more or less directly from the core poppler, but we choose
this way so the code can be shared by Okular and Evince.
c) Just for completness, I give more details about the glib frontend,
in which I plan to hack: Our idea in 2) is to wrap  the "plain core
js" api into a GObject API, and then use the automatic
GObject-Javascript glue that (will be) is provided to us by Seed using
gobject-introspection (BTW, in this case the Javascript engine comes
from Webkit).

That's more or less it. Comments/questions/rants/patches welcome.



@Carlos, Pino, if I forget something (or I got something wrong),
please add it here.
poppler mailing list
poppler at lists.freedesktop.org

More information about the poppler mailing list