Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar
Find #mupdf on Discord
Do you have any feedback on this page?

# Welcome to MuPDF

MuPDF is a lightweight PDF, XPS, and E-book viewer. It is available under either the GNU GPL Affero license or licensed for commercial use from Artifex Software, Inc.

MuPDF consists of a software library, command line tools, and viewers for various platforms. To get started with MuPDF a developer should acquire the source code and build the library.

User Guide

- Quick Start Guide
  - Get the MuPDF source code
  - Building the library
  - Validating your installation
  - Supported file formats
- Using MuPDF with C
  - Basic MuPDF usage example
  - Common function arguments
  - Error handling
  - Multi-threading
  - Cloning the context
  - Coding Style
- Using MuPDF WASM
  - Installing
  - Loading a Document
  - Creating a PDF
  - Trying the Viewer
  - Development Environment
- The MuPDF Coordinate System
  - Origin Point, Point Size and Y-Axis

API Reference

- MuPDF on the command line
  - mupdf-gl
  - muraster
  - mutool
- C API
  - MuPDF modules
- MuPDF & Javascript
  - Class A-Z Index
  - Matrices and Rectangles
  - Colors
  - Object Protocols
  - `Buffer`
  - `Document`
  - `Page`
  - `Link`
  - `StructuredText`
  - `ColorSpace`
  - `DefaultColorSpaces`
  - `Pixmap`
  - `DrawDevice`
  - `DisplayList`
  - `DisplayListDevice`
  - `Device`
  - `Path`
  - `Text`
  - `Font`
  - `Image`
  - `DocumentWriter`
  - `PDFDocument`
  - `PDFGraftMap`
  - `PDFObject`
  - `PDFPage`
  - `PDFAnnotation`
  - `PDFWidget`
  - `PDFPKCS7Signer`
  - `OutlineIterator`
  - `Archive`
  - `MultiArchive`
  - `TreeArchive`
  - `Story`
  - `XML`
  - Global MuPDF methods
  - PDF Processor
- Language Bindings
  - Overview
  - The C++ MuPDF API
  - The Python and C# MuPDF APIs
  - Installing the Python mupdf module using `pip`
  - Doxygen/Pydoc API documentation
  - Example client code
  - Building the C++, Python and C# MuPDF APIs from source
  - Windows-specifics
  - C++ bindings details
  - Extra functions in C++, Python and C#
  - Python/C# bindings details

Other

- Progressive Loading
  - What is progressive loading?
  - Progressive download using “linearized” files
  - The Hint Stream
  - So how does MuPDF handle progressive loading?
  - Progressive loading using byte range requests
- Android Library
  - Introduction
  - Acquire a valid license
  - Add the MuPDF Library to your project
  - Invoke the document viewer activity
  - How to customize the viewer
  - Working on the MuPDF Library
- Changes
  - Changes to the existing API
- Third Party Libraries Used by MuPDF

Do you have any feedback on this page?

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, CA 94129, USA, for further information.