poppler API, and cairo dependency (was: [poppler] Poppler as a library for parsing and manipulating PDF files?)

Albert Astals Cid aacid at kde.org
Tue Feb 14 13:27:59 PST 2006


A Dimarts 14 Febrer 2006 19:41, Frank Küster va escriure:
> Kristian Høgsberg <krh at bitplanet.net> wrote:
> > The only
> > reservation I have is that we've been trying to wrap up the xpdf API
> > that tetex (and cups and others) use in a smaller, simpler API with
> > glib and qt bindings.  To motivation for this is that the xpdf API is
> > basically an internal API that wasn't designed to be installed as
> > public headers. It's a huge API (80+ C++ header files) and it exposes
> > too much of the xpdf internals.  Thus, it is not really possible to
> > give any kind of API/ABI guarantee for this interface, since
> > everything except the smallest changes are going to cause at least ABI
> > breakage.
> >
> > Having said that, if that is acceptable for tetex, I don't see why
> > this shouldn't work.
>
> There's one thing here that I don't understand: Indeed libpoppler
> exposes its huge API, and the smaller, organised and, it seems,
> well-thought API is only available with the glib and qt bindings.
> Obviously, these are useless for us, since we don't need any user
> interface.  Why can't the clean API be provided without the bindings,
> too?

Basically because we are all doing viewer apps based on "better" toolkits than 
plain C/C++, say glib/gtk or Qt, so while writting the API we make use of 
that better tools we have at hand. Obviously a plain API with no dependencies 
to do pdf file handling would be also welcome.

> > Another issue is that libpoppler.so currently pulls in a number of X
> > libraries and the cairo stack if you enable that.  That shouldn't be
> > too hard to work around though, we could just move those dependencies
> > to the wrapper libraries (libpoppler-glib.so etc).
>
> As I said previously, I'd really appreciate if the cairo dependency
> would be moved to the wrapper libraries, or alternatively to at least
> provide a stripped-down version without cairo support.

cairo dependency is completely optional

/configure --disable-cairo-output

neither glib nor Qt wrappers need it 

> Personally, I'm willing to help, and to learn, but to be honest I don't
> expect to be of much help here, except for testing and maybe critical
> comments.  Is there anybody in the team who is interested in such an
> improvement?

I'm really interested in adding some functionality like merging pdf, 
extracting pages, etc, so i could try to help in my very limited time.

Albert

>
> Regards, Frank

		
______________________________________________ 
LLama Gratis a cualquier PC del Mundo. 
Llamadas a fijos y móviles desde 1 céntimo por minuto. 
http://es.voice.yahoo.com


More information about the poppler mailing list