[poppler] user-defined output device & private functions in libpoppler

suzuki toshiya mpsuzuki at hiroshima-u.ac.jp
Fri Dec 2 00:37:48 UTC 2016

Dear Poppler maintainers,

I would like to hear your comments about the possibility
of the disclosure of functions used "in" libpoppler, like,
Goo, Fofi and Splash (if there was some discussion in the
past, please give me the pointer to there).

It could be useful for the developers who want to make
their own new OutputDevice, out of libpoppler. Or, it is
better for the developers to propose new OutputDevice to
be included by future release of libpoppler, rather than
making external library referring private functions?


Recently, CUPS developers discussed about the future of the
filter "pdftoopvp". OPVP is an API set for the non-PostScript
printers discussed by the engineers in OpenPrinting consortium
under Linux Foundation (OPVP is not yet another PDL).

Also Ghostscript supports OPVP output, some engineers
regarded Ghostscript is overkilling for pdf-to-opvp data flow,
and using Poppler would be more compact & straightforward.

However, libpoppler has no officially-exposed APIs to make
user-defined OutputDevice. Thus, pdftoopvp filter links to
private functions in libpoppler, to make OPVPOutputDevice
(basically it is a diversion of SplashOutputDevice).

Some people have concerns that linking private functions
might be risky, because nobody guarantees the compatibility.

Thus, I want to ask the questions in the beginning. Is
there any possibility for libpoppler to expose some internal
functions for user-defined OutputDevice developers, or,
they should propose their OutputDevice to libpoppler?

I hope to hear your opinions.


More information about the poppler mailing list