← Back to team overview

qpdfview team mailing list archive

Re: Support other file formats

 

Hello Adam,

It looks great. I'm going to start the work on PS backend.
But there is one issue with poppler and libspectre on Debian Wheezy.
It's impossible to link application with theese libs together because
of their dependence on different versions of liblcms.
So it will be good to put all backends to plugins later.

Best regards, Alexander.

Well, been a busy day: I finished the first round of integrating the
abstract model. Comments and especially testing is very much
appreciated. There are probably some issues with integrating format
differences into the UI which have to be solved by further plumbing...

I am looking forward to integrating the PostScript backend! Is there
anyone interested in maintaining the DjVu backend?

Best regards, Adam.

Am 08.01.2013 19:25, schrieb Adam Reichold:
Ok, so I prepared the build system and the integration builds on
Launchpad and the OpenSUSE build service for multiple format
support (basically adding libspectre to the dependencies). Besides
the general review, the (currently empty) files "psmodel.{h,cpp}"
await your PostScript backend. :-)

Best regards, Adam.

P.S.: I have not yet begun the actual integration work itself...

Am 08.01.2013 16:33, schrieb Adam Reichold:
Actually, I think we could make it (almost) as easy as the
attached model interface...
Am 08.01.2013 15:35, schrieb Adam Reichold:
Hello Alexander,

After thinking about it for some time, I'd say that I would be
  interested in supporting multiple formats in qpdfview if: *
We agree to use an abstract document model separating data and
  presentation completely. * We agree that the interfaces are
modelled on Poppler's interfaces in the beginning,
generalizing them later on. * We support at least PDF, PS, and
DjVu. * We take our time for the next version which will be 0.4
and no rush w.r.t. a new name... :-)

Modelling Poppler's interfaces will make it possible to keep
the settings as they are even though some might not make sense
for other backends. I attach some sample code on how I would
like to proceed with the abstract model. Your thoughts?

Of course, the "fun" part will be adding (probably polymorphic)
  interfaces for annotations and form fields which is current
missing. But maybe we just make them struct's containing their
boundary on the page and a "handler object" derived from
QDialog which should make it possible to use the current
implementation with minimal changes.

Best regards, Adam.




Follow ups

References