Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PDF Editor

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.

Features

  • 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.

Requirements

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)

Building from Source

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.

Windows

  1. Open PowerShell.
  2. Run the build script:
    .\build.ps1
  3. You will find your standalone PDF Editor.exe in the newly created dist/ directory.

macOS / Linux

  1. Open your Terminal.
  2. Make the script executable:
    chmod +x build.sh
  3. Run the script:
    ./build.sh
  4. You will find your executable (or .app bundle on Mac) in the dist/ directory.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

This project is a powerful, cross-platform PDF Editor that functions as a completely standalone application. Developed in Python using the PyQt6 graphical interface and the professional PyMuPDF engine, it enables deep modifications to existing PDF documents.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages