PyMuPDF is a high-performance Python library for extracting, analysing, converting, rendering, and manipulating PDF and other document formats.
It is built on the MuPDF rendering engine and provides both low-level control and high-level convenience APIs.
This is free and open source software.
Key Features
- Opens PDF, XPS, EPUB, CBZ, MOBI, FB2, SVG, text, Markdown, and image files.
- Extracts plain and structured text with font, colour, position, and bounding-box information.
- Detects and extracts tables as Markdown or structured data.
- Extracts embedded images and vector graphics.
- Renders document pages as high-resolution images or pixmaps.
- Supports optical character recognition through Tesseract.
- Creates, merges, splits, reorders, inserts, and deletes PDF pages.
- Adds and reads annotations including highlights, notes, stamps, ink, and free text.
- Adds and permanently applies redactions.
- Reads and fills PDF form fields.
- Reads and writes links, bookmarks, metadata, and tables of contents.
- Supports password-protected documents and RC4 and AES encryption.
- Draws lines, curves, rectangles, and circles and inserts formatted HTML content.
- Has no mandatory external Python dependencies.
Website: github.com/pymupdf/PyMuPDF
Support:
Developer: Artifex Software, Inc.
License: GNU Affero General Public License v3.0
PyMuPDF is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| PDF Development Libraries | |
|---|---|
| PDFBox | Create, render, print, split, merge, alter, verify and extract text and metadata |
| TCPDF | PHP class for generating PDF documents |
| PyMuPDF | Fast Python toolkit for document extraction and editing |
| Poppler | Library for rendering PDF files, and examining or modifying their structure |
| PDFKit | PDF document generation library for Node and the browser |
| jsPDF | JavaScript toolkit for creating documents in web applications |
| pdfcpu | PDF processing library |
| Apache FOP | Print formatter driven by XSL formatting objects |
| WeasyPrint | Rendering engine that turns HTML and CSS into print-ready documents |
| pypdf | Pure Python toolkit for reading, splitting and merging documents |
| QPDF | Library and programs that inspect and manipulate the structure of PDF files |
| PoDoFo | Parse PDF files and modify their contents into memory |
| OpenPDF | Library for creating and editing PDF files; fork of iText |
| xhtml2pdf | HTML to PDF converter using Python |
| Dompdf | PHP tool that converts HTML and CSS into formatted documents |
| libHaru | Library for generating PDFs |
| pikepdf | Python toolkit for inspecting and modifying document files |
| PdfPig | .NET toolkit for extracting text, words and document content |
| gopdf | Go toolkit for generating documents with text, images and graphics |
| CapyPDF | Fully color managed PDF generation library |
| pdf-lib | Create and modify PDF documents in a JavaScript environment |
| PDFio | PDF read/write library |
| fpdf2 | Python toolkit for creating richly formatted documents |
| PDFsharp | .NET library for processing PDF files |
| JasperReports | Reporting engine written in Java |
| CamlPDF | OCaml library for reading, writing and modifying PDF files |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.