[poppler] poppler CUPS integration

Jeff Muizelaar jeff at infidigm.net
Sun Oct 22 21:42:41 PDT 2006


On Sun, Oct 22, 2006 at 12:11:01PM +0200, Sascha Sommer wrote:
> Hello,
> 
> I went through the xpdf changes that were done in cups and tried to port them 
> to poppler.
> 
> poppler-0.5.4_psheader_fix.patch seems to be necessary to get a valid 
> postscript header.

It'd be nice to have more information on what this all changes and why
it is needed.

> poppler-0.5.4_renderHiddenAnnotations.patch adds a new function to OutputDev.h
> that can be overwritten to disable rendering of hidden annotations.
> I did not find a pdf to test, therefore this hunk is untested.

A pdf to test would be nice.

>    dict = str->streamGetDict();
>  
> +  // get annotation flags and only print annotations that are hidden or
> +  // don't have the print bit set.
> +  dict->lookup("F", &flagsObj);

This comment doesn't make much sense to me...

> poppler-0.5.4_renderPage.patch adds the function renderPage to OutputDev. It 
> will be called by Gfx.cc for every page to check if the selected page should 
> be printed. With this patch it is possible to render only a subset of the 
> available pages.

This reminds me of the stuff the KDE people wanted. I am not a huge fan
of this change because it further encourages the use of the raw poppler
api which really doesn't have any sort of stability guarantees.

It'd be better if CUPS used one of supported APIs. If adding extra
depenecies on things like glib or qt is a problem I imagine it would be
easy to add a straight forward c binding. My guess is that CUPS just
uses poppler/xpdf for pdf to postscript conversion. So it wouldn't be
tough to do.

Michael, I notice you are on the CC. Do you have any thoughts about what
kind of API you would like to see from poppler for use by CUPS?

-Jeff



More information about the poppler mailing list