Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Jorj X. McKie edited this page Apr 3, 2018 · 2 revisions

Motivation

Because PyMuPDF is based on the fabulous C library MuPDF, installation has always been burdened with a layered approach: first install MuPDF, then PyMuPDF.

MuPDF is a combination of standalone, command line tools and a library of functions, both written to support a plethora of platforms: among them desktop computers (MS Windows, MacOSX, Linux, and more) and smartphones (Android). In order to use the library functions, they must be compiled from portable C-source on the required platform.

MuPDF in turn relies on about half a dozen other freeware, which must be concurrent with it, and also be compiled from source. This "thirdparty" software is distributed along with MuPDF's source.

So, this first step, generating MuPDF, is error-prone and not perceived as fun by everybody.

Compared to this he second step, generating PyMuPDF, is straightforward Python C-extension compilation, and no real challenge if you correctly reference the libraries of MuPDF.

I always felt that the purpose of PyMuPDF is in no favorable relation to its installation effort - after all it is just a way to access a handful of special file formats. While some developers certainly will enjoy going through all this mudd and like kicking issues out of the way, many more have probably other things to worry about. Having a fairly complete freeware for PDF access is not the goal of their work, but just a tool to achieve yet other goals.

So, wrapping up, I think since end of March 2018, we are where we ever should have been: everyone using a mainstream Python desktop platform can now choose to install PyMuPDF from a binary Python wheel.

Which Wheels Are Available?

We are producing wheels for MS Windows, Mac OSX and Linux for Python versions 2.7, 3.4, 3.5, and 3.6. On Windows, sneak versions of Python 3.7 are also available.

Support of versions prior to Python 2.7 is not possible, but any other version is. We are just restricting ourselves to versions actually in demand.

Windows wheels (provided as 32bit and 64bit and created on my own machine) should run on all Windows versions XP/SP2 and up. They are mainly tested on a Windows 10 64bit machine, but occasionally so on a virtual XP as well.

Linux wheels are provided in 64bit format only. We create them on Travis CI servers using cibuildwheel. This should ensure they can be used on "most" Linux flavours. I am testing them on a virtual Ubuntu 17.10 and on the Windows subsystem for Linux (Ubuntu 16.04).

Mac OSX wheels in 64bit are provided in the same way as Linux, via Travis CI and cibuildwheel.

Where Are those Wheels?

All wheels can be found here. We also publish them on PyPI. But if you are looking for the most current ones, stay with this repository. You can download any wheel directly from here or use PIP.

I used to use a special repository to store Windows wheels only. This was before the time we learned about ways to also generate Mac OSX and Linux wheels - without having to provide the respective platforms ourselves.

As we now are beyond that point, I am going to phase out this repo again.

What about Other Binary Installation Options?

I am also maintaining an extra repository, called "optional material", for storing Windows-specific stuff. Apart from a Windows CHM-based version of our documentation, I am also hosting Windows-specific installation material in a ZIP format. This is fairly similar to wheels, it just does not need PIP to get installed.

Recipes

HOWTO Button annots with JavaScript

HOWTO extract images

HOWTO join PDFs

HOWTO work with PDF embedded files

HOWTO Convert Images

HOWTO extract text from inside rectangles

HOWTO extract text in natural reading order

HOWTO add PDF form fields

HOWTO deal with annotations

HOWTO convert to PDF

HOWTO show PDF Form fields

HOWTO work with vector images

HOWTO create or extract graphics

HOWTO create your own PDF Drawing

HOWTO add pages, images, text

HOWTO extract fonts

HOWTO rearrange pages

HOWTO GUI PDF display

Algebra with geometry objects

Rectangle inclusion & intersection

Hyperlink maintenance

Visual table extraction

Incremental saves

Metadata & bookmark maintenance

Wrapping FileOptimizer

Installation

Ubuntu

Ubuntu Installation Experience

Windows Binaries

Windows Binaries Generation

Windows Binaries Installation

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /