A fully standalone, cross-platform PDF Editor application written in Python and PyQt6. This powerful tool allows you to deeply modify existing PDF documents, freely draw and add graphics, and manage pages directly on your device.
- Edit existing content: Select, modify, move, scale, and rotate existing text, images, and vector graphics extracted straight from the source PDF.
- Typography & Font Selection: Choose from popular Monospace fonts (Courier New [default], Consolas, Monaco, Liberation Mono, Fira Code) and Standard fonts (Arial, Helvetica, Segoe UI, Times New Roman, Georgia, Verdana) with live visual typography previews directly in the dropdown menu.
- Rich Text Formatting (Bold, Italic, Underline): Apply Bold (B), Italic (I), and Underline (U) styles to new or selected text elements with instant visual feedback and 1:1 native PDF export.
- Element Duplication (Copy): Instantly clone any focused item (text, shapes, highlights, images, signatures, freehand drawings) right at your mouse cursor position using the
📋(Copy) button in the floating context menu. - Draw primitives & brush: Add and configure straight lines, rectangles, circles, and triangles with customized border widths (Line Width) and background colors (Fill: ON/OFF), or paint using a customizable vector brush.
- Add custom text and checkmarks: Insert multiline text with letter spacing controls (0.5 steps), as well as scalable "check" (✅) or "cross" (❌) markings.
- Media and Signatures: Import local images (
.png,.jpg, etc.) or define a persistent personal signature image (saved to user AppData) to quickly sign multiple documents. - Page Management: Insert a blank page, delete an unwanted page, or import an entire secondary PDF document exactly where you need it.
- Highlight and Comment: Mark important text with semi-transparent highlights and attach detailed side-comments. Comments are automatically linked to their highlights and stay synchronized during edits.
- Undo / Redo: Full session history tracking for all actions. Revert or re-apply changes (moving, scaling, coloring, adding/deleting) with ease (up to 254 steps).
- True Vector Saves: All modified elements and freehand drawings are written directly into the PDF backend as true vector drawings or native text objects using PyMuPDF – keeping your documents crisp and lightweight.
- Lossless Edits: The application safely embeds your session state inside the PDF file itself. Whenever you re-open a modified PDF in the editor, all your added and edited elements remain fully selectable and interactive.
The app runs on Python 3.10+ and requires the following libraries:
PyQt6(for the graphical user interface)PyMuPDF(for the deep PDF backend manipulation)pyinstaller(only needed if you wish to compile standalone executables)
We provide fully automated build scripts for Windows, macOS, and Linux that will automatically create an isolated environment, install the necessary dependencies, and package the application into a single executable file.
- Open PowerShell.
- Run the build script:
.\build.ps1
- You will find your standalone
PDF Editor.exein the newly createddist/directory.
- Open your Terminal.
- Make the script executable:
chmod +x build.sh
- Run the script:
./build.sh
- You will find your executable (or
.appbundle on Mac) in thedist/directory.
This project is licensed under the MIT License - see the LICENSE file for details.