PyMuPDF Versions Save

PyMuPDF is a high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents.

1.24.2

3 weeks ago

PyMuPDF-1.24.2 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.24.2 (2024-04-17)

  • Removed obsolete classic implementation from releases (previously available as module fitz_old).

  • Fixed issues:

    • Fixed #3331
    • Fixed #3354
  • Other:

    • New/modified methods:

      • Document.bake(): new, make annotations / fields permanent content.
      • Page.cluster_drawings(): new, identifies drawing items (i.e. vector graphics or line-art) that belong together based on their geometrical vicinity.
      • Page.apply_redactions(): added new parameter text.
      • Document.subset_fonts(): use MuPDF's pdf_subset_fonts() instead of PyMuPDF code.
    • The Document class now supports page numbers specified as slices.

    • Avoid causing MuPDF warnings.

1.24.1

1 month ago

PyMuPDF-1.24.1 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.24.1 (2024-04-02)

  • Fixed issues:

    • Fixed #3278
    • Fixed #3301
    • Fixed #3306
  • Other:

    • Use MuPDF-1.24.1.
    • Support ObjStm Compression. Methods Document.save(), Document.ez_save() and Document.write() now support new parameters use_objstm, compression_effortandpreserve_metadata`.

1.24.0

1 month ago

PyMuPDF-1.24.0 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.24.0 (2024-03-21)

  • Fixed issues:

    • Fixed #3281
    • Fixed #3279
    • Fixed #3257
    • Fixed #3216
    • Fixed #3207
    • Fixed #3201
    • Fixed #3197
    • Fixed #3196
    • Fixed #3172
    • Fixed #3135
    • Fixed #3125
    • Fixed #2964
  • Other:

    • Use MuPDF-1.24.0.

    • Add support for redacting vector graphics.

    • Several fixes for table module

      • Add new method for outputting the table as a markdown string.

      • Address errors in computing the table header object:

        We now allow None as the cell value, because this will be resolved where needed (e.g. in the pandas DataFrame).

        We previously tried to enforce rect-like tuples in all header cell bboxes, however this fails for tables with all-None columns. This fix enables this and constructs an empty string in the corresponding cell string.

        We now correctly include start / stop points of lines in the bbox of the clustered graphic. We previously joined the line's rectangle - which had no effect because this is always empty.

    • Improved exception text if we fail to open document.

    • Fixed build with new libclang 18.

1.23.26

2 months ago

PyMuPDF-1.23.26 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.26 (2024-02-29)

  • Fixed issues:

    • Fixed #3199
    • Fixed #3209
  • Other:

    • Improvements to table detection:

      • Improved check for empty tables, fixes bugs when determining table headers.
      • Improved computation of enveloping vector graphic rectangles.
      • Ignore more meaningless "pseudo" tables
    • Install command-line 'pymupdf' command that runs fitz/main.py.

    • Don't overwrite MuPDF's config.h when building on non-Windows.

    • Fix Story constructor's archive arg to match docs - now accepts a single Archive constructor arg.

    • Do not include MuPDF source in sdist; will be downloaded automatically when building.

1.23.25

2 months ago

PyMuPDF-1.23.25 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.25 (2024-02-20)

  • Fixed issues:

    • Fixed #3182
    • Fixed #3186
    • Fixed #3191
  • Other:

    • When building, be able to specify python-config directly, with environment variable PIPCL_PYTHON_CONFIG.

1.23.24

2 months ago

PyMuPDF-1.23.24 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.24 (2024-02-19)

  • Fixed issues:

    • Fixed #3148
    • Fixed #3179
    • Fixed #3180
  • Other:

    • Be able to test system install using sudo pip install instead of a venv.

1.23.23

2 months ago

PyMuPDF-1.23.23 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.23 (2024-02-18)

  • Fixed issues:

    • Fixed #3126
    • Fixed #3131
    • Fixed #3134
    • Fixed #3140
    • Fixed #3150
    • Fixed #3163
    • Fixed #3177
  • Other:

    • Improved Document.select() by using new MuPDF function pdf_rearrange_pages()`. This is a more complete (and faster) implementation of what needs to be done here in that not only pages will be rearranged, but also consequential changes will be made to the table of contents, links to removed pages and affected entries in the Optional Content definitions.
    • TextWriter.appendv(): added small_caps arg.
    • Fixed some valgrind errors with MuPDF master.
    • Fixed Document.insert_image() when build with MuPDF master.

1.23.22

3 months ago

PyMuPDF-1.23.22 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.22 (2024-02-12)

  • Fixed issues:

    • Fixed #3143

    • Fixed #3139

  • Other:

    • Removed the use of MuPDF function fz_image_size() from PyMuPDF.

1.23.21

3 months ago

PyMuPDF-1.23.21 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.21 (2024-02-01)

  • Fixed issues:

  • Other:

    • Fixed bug in set_xml_metadata(), PR #3112
    • Fixed lack of .parent member in TextPage from Annot.get_textpage().
    • Fixed bug in Page.add_widget().

1.23.20

3 months ago

PyMuPDF-1.23.20 has been released.

Wheels for Windows, Linux and MacOS, and the sdist, are available on pypi.org and can be installed in the usual way, for example:

python -m pip install --upgrade pymupdf

[Linux-aarch64 wheels will be built and uploaded later.]

Changes in version 1.23.20 (2024-01-29)

  • Bug fixes:

    • Fixed #3100
  • Other:

    • Significantly improved speed of Document.get_toc().