PyMuPDF Office
Note: Historically this was the PyMuPDF "Pro" product, since renamed "Office".
Overview
PyMuPDF Office is a set of commercial extensions for PyMuPDF.
-
Enables Office document handling, including doc, docx, hwp, hwpx, ppt, pptx, xls, xlsx, and others.
-
Supports text and table extraction, document conversion and more.
-
Available for these platforms only:
- Windows x86_64.
- Linux x86_64 (glibc).
- Linux aarch64 (glibc).
- MacOS x86_64.
- MacOS arm64.
-
Supports Python 3.11+.
-
See https://pymupdf.io/office for more.
Installation
pip install pymupdf-office
This will also install PyMuPDF.
Usage
Restricted usage without a key:
import pymupdf.office
pymupdf.office.unlock()
# PyMuPDF has now been extended with PyMuPDF Office features, with some
# restrictions.
Unrestricted usage with a key from https://pymupdf.io/office/try:
import pymupdf.office
pymupdf.office.unlock(my_key)
# PyMuPDF has now been extended with PyMuPDF Office features.
- For more please see: https://pymupdf.io/office/
Changelog
PyMuPDF-Office-2.0
- Renamed module to
pymupdf.office - Module
pymupdf.prois still available as a (deprecated) alias. - Supported Python versions are now 3.11-3.15.
PyMuPDFPro-1.28.2
-
Improve font handling on Linux/MacOS.
We now use Python package fontconfig_py. Previously we used internal build of libfontconfig, which failed if libfreetype was not available.
PyMuPDFPro-1.28.0
- Works with PyMuPDF-1.28.0.
- Use Marina version of SmartOffice.
- Added git build information in
pymupdf.pro._pro_build. - Added export functions:
- pymupdf.pro.office_to_json().
- pymupdf.pro.office_to_markdown().
- pymupdf.pro.office_to_pdf().
- pymupdf.pro.office_export().
PyMuPDFPro-1.27.2.3
- Works with PyMuPDF-1.27.2.3.
- Uses SmartOffice tag v3.16.79.
- Fix pymupdf #4159
PyMuPDF Pro 1.25.0: Image in .doc file unexpectedly overlaps with text when using get_pixmap() - Retrospectively mark pymupdf #4158 as fixed in PyMuPDFPro-1.27.1.
PyMuPDFPro-1.27.2.2
- Works with PyMuPDF-1.27.2.2.
- Uses SmartOffice tag v3.16.79.
PyMuPDFPro-1.27.2
- Works with PyMuPDF-1.27.2.
- Use SmartOffice tag v3.16.79.
PyMuPDFPro-1.27.1
- Works with PyMuPDF-1.27.1.
- Use SmartOffice tag v3.16.76.
- Fixed pymupdf #4158.
PyMuPDFPro-1.26.6
- Works with PyMuPDF-1.26.6.
PyMuPDFPro-1.26.5
- Works with PyMuPDF-1.26.5.
- Refuse to run if mupdf is incorrect version - avoids potential segv with incorrect installations.
- On MacOS, avoid depending on Brew install of fontconfig.
- Graal fixes.
PyMuPDFPro-1.26.4.1
- Experimental release.
- On MacOS, avoid depending on Brew install of fontconfig.
- Graal fixes.
PyMuPDFPro-1.26.4
- Works with PyMuPDF-1.26.4.
- Use SmartOffice tag v3.16.68.
PyMuPDFPro-1.26.3.1
- Experimental release with SO fixes.
PyMuPDFPro-1.26.3 (2025-7-11):
- Works with PyMuPDF-1.26.3.
PyMuPDFPro-1.26.1 (2025-6-26):
- Fix problem in activity monitoring.
- Use SmartOffice tag v3.16.61-preconverted.
- Added Linux-aarch64 wheel.
- Use SmartOffice tag issue10489.
- Fixed document.metadata['format'] strings - previously the last character was truncated.
- Fixed test_4496(), 'cannot find entry Contents/Contents/header.xml' error.
PyMuPDFPro-1.25.5 (2025-04-01):
- Works with PyMuPDF-1.25.5.
PyMuPDFPro-1.25.4 (2025-03-17):
- Works with PyMuPDF-1.25.4.
- Use SmartOffice tag
issue10456. - Avoid Windows test failure if font directory does not exist.
PyMuPDFPro-1.25.3 (2025-02-10):
- Works with PyMuPDF-1.25.3.
- Use newer Office code.
PyMuPDFPro-1.25.0 (2024-12-09):
- Fixed handling of trial keys - used to only allow 3 pages.
- Avoid using many file descriptors for installed .otf fonts.
2024-12-03: PyMuPDFPro-1.24.14
- Works with PyMuPDF-1.24.14.
- Allow use with later PyMuPDF.
- Improve font finding on Windows.
- Added activity monitoring.
- Improved handling of invalid keys.
- Improved display of key timeout.
2024-10-25: PyMuPDFPro-1.24.12
- Works with PyMuPDF-1.24.12.
- Automatically add all system fonts on non-Windows.
- Fixes #3976.
2024-10-15: PyMuPDFPro-1.24.11
-
Works with PyMuPDF-1.24.11.
-
Work better on older OS releases.
-
Supported Python versions are now 3.9-3.13.
- Support added for Python 3.13 because now released.
- Support dropped for Python 3.8 because end-of-life.
- See https://devguide.python.org/versions/.
-
Wheels now use the Python Stable ABI.
- There is now just one wheel per platform.
- Each wheel works with all supported Python versions.
2024-09-05: PyMuPDFPro-1.24.10
- Works with PyMuPDF-1.24.10.
- Added support for MacOS-arm64.
- Fixed detection of key with no expiry.
2024-08-08: PyMuPDFPro-1.24.9.1
- Works with PyMuPDF-1.24.9.
- Added support for MacOS-x86_64.
2024-07-26: PyMuPDFPro-1.24.9
- Works with PyMuPDF-1.24.9.
- Support for Windows-amd64 and Linux-x86_64.
Metadata
Release files for pymupdf-office 2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pymupdf_office-2.0-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| pymupdf_office-2.0-cp311-abi3-manylinux_2_28_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| pymupdf_office-2.0-cp311-abi3-manylinux_2_28_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.28+ ARM64 | Details |
| pymupdf_office-2.0-cp311-abi3-macosx_11_0_arm64.whl | CPython 3.11 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 29.3 MB
Release files / pymupdf_office-2.0-cp311-abi3-win_amd64.whl
| Download URL | pymupdf_office-2.0-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9bc42a19b1d712e678580081f908d521c3c53d7d8ebd65298979b7df7fe33606
|
|
BLAKE2b-256 checksum How to use checksums |
23211822de31f12f9315ae76c81c14344118173d9b9d90e9bc717b6478dc81de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / pymupdf_office-2.0-cp311-abi3-manylinux_2_28_x86_64.whl
| Download URL | pymupdf_office-2.0-cp311-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.0 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
b43498167c2057889c0b3ef5c9a870211c1fbecdb9a734fe21af967213fba3eb
|
|
BLAKE2b-256 checksum How to use checksums |
137260a7710bb8d5072ded1b4f8b7b4811b4cea496bf067cdda972d6443be8a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / pymupdf_office-2.0-cp311-abi3-manylinux_2_28_aarch64.whl
| Download URL | pymupdf_office-2.0-cp311-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
78afe973b7815bea68d99f3f4ca09e6cec15f254fc105761bd50d585e2be170f
|
|
BLAKE2b-256 checksum How to use checksums |
7993bb1d9ade12f897f3ac759ae2650a8512b3237eab1dff75e66f810abe7f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / pymupdf_office-2.0-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | pymupdf_office-2.0-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.0 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5955b3163626ad5ae8edd0a467c2e540f7a6f068dd792f2591b5b82a90781441
|
|
BLAKE2b-256 checksum How to use checksums |
6063d17cd17a892b3f9f53e988e3e52e72e88cb3e7fc563cbc8da00147e78ff0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Security for pymupdf-office 2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.