MuPDF is a lightweight PDF, XPS, EPUB and CBZ viewer and parser/rendering library. The renderer in MuPDF is tailored for high quality anti-aliased graphics. It renders text with metrics and spacing accurate to within fractions of a pixel for the highest fidelity in reproducing the look of a printed page on screen.
MuPDF is also small, fast, and yet complete. MuPDF support PDF 1.7 with transparency, encryption, hyperlinks, annotations, search and many other bells and whistles. MuPDF can also read XPS documents (OpenXPS / ECMA-388), EPUB and CBZ (Comic Book archive) files.
MuPDF is written to be both modular and portable; the example applications are merely thin layers on top of the functionality offered by the library, so custom viewers can be easily built for a wide range of platforms. Example viewer applications are supplied for Windows, Linux, MacOS, iOS and Android.
MuPDF is deliberately designed to be threading library agnostic, while still supporting multi-threaded operation. In the absence of a thread library it will run single-threaded, but by adding one significant benefits in rendering speed on multi-core platforms can be obtained.
List of changes in MuPDF 1.7:
- New 'Indie dev' licensing options - contact firstname.lastname@example.org for more details.
- New HTML layout engine, and (DRM-free) EPUB viewer.
- Reduced memory usage - displaylists and internal PDF representation take much less memory, reducing total memory use on some files by over 60%.
Important API changes:
- Bound contexts have been removed; we now pass fz_contexts explicitly.
- Reference counting of paths and text structures.
- Add mutool pages option.
- Tweaked rendering to prevent feature dropout in common cases.
- Viewer tweaks
- Better mouse wheel handling
- Shift-space support
- Mouse button control of presentation mode
- Removal of bound contexts; fz_contexts now passed explicitly everywhere.
- PDF filter revamp - simpler interface.
- Devices use derived structures rather than user pointer.
- Sparse PDF xrefs held in more compact form.
- New gsview viewer split out to its own repository.
- Improved handling of broken files.
- Fix BBoxes of Type 3 fonts.
- Updated fonts (including greek and cyrillic).
- Various memory leaks and crashes.
- And many more.