Add MuPDF plugin

Bug #1150832 reported by Andrey V. Panov
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
qpdfview
Fix Released
Wishlist
Adam Reichold

Bug Description

MuPDF (http://www.mupdf.com/ ) renders pdf documents much faster than poppler. Please, consider the addition of the alternative pdf plugin with MuPDF as a backend.

Related branches

Revision history for this message
sojusnik (sojusnik) wrote :

Signed!

Changed in qpdfview:
status: New → Opinion
importance: Undecided → Wishlist
Revision history for this message
Adam Reichold (adamreichold) wrote :

Hello,

I did consider this several times and built a few working prototypes, but I found the implementation problematic in some places (mostly threading not working as advertised). IMHO, Poppler also seems better integrated into the free software ecosystem in general, e.g. it is usually properly packaged as a shared library and has a much simpler and more Qt-friendly API. So, personally, I am currently not interested in pursuing this. (But of course, other people could very well write such a plug-in.)

As a side remark, Poppler's Qt frontend using the Splash backend will be completely thread-safe with the upcoming 0.24 release. Hence, performance will improve considerably on most systems.

Best regards, Adam.

Revision history for this message
Adam Reichold (adamreichold) wrote :

Changing this to triaged as I'll try to restart experimentation using the current version of Fitz.

Changed in qpdfview:
status: Opinion → Triaged
Changed in qpdfview:
status: Triaged → In Progress
assignee: nobody → Adam Reichold (adamreichold)
Revision history for this message
Adam Reichold (adamreichold) wrote :

Hello again,

I just pushed a first and rather simplistic implementation of a Fitz plug-in to the linked branch which does nothing more than open documents and render pages, i.e. no interactive elements at all yet and the rendering needs threading improvements. (My earlier problems with the threading seem to have been clarified/resolved within MuPDF's documentation.)

If you want to build this, you'll need MuPDF built with "-fPIC" and its dependencies, i.e. "-lfreetype -lopenjp2 -ljpeg -lz". (For example on Arch Linux, install "mupdf" and "openjpeg2".) Then disable the Poppler plug-in and enable Fitz by e.g. using "qmake CONFIG+=without_pdf CONFIG+=with_fitz qpdfview.pro" to configure before building.

Please be aware that this code is rather rough and untested and lacks a lot of functionality. Patches welcome. :-)

Best regards, Adam.

Revision history for this message
Adam Reichold (adamreichold) wrote :

Ok, so a basically working (hopefully) Fitz plug-in is now part of trunk and can be tested by building from source. (I'll also update the "qpdfview-bzr" package on AUR soon.) Further enhancements to its for now rudimentary functionality should use new bug reports. Patches welcome. :-)

Changed in qpdfview:
status: In Progress → Fix Committed
Changed in qpdfview:
milestone: none → 0.4.9
Changed in qpdfview:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.