Releases: nash-dir/PDFDeWM
v1.4.1
Full Changelog: v1.4.0...v1.4.1
v1.4.0: Portable Embeddable Release with Enhanced UI
Complete migration to an antivirus-friendly Native Python Embeddable Architecture, integrating offline tkinter/tkinterdnd2 bundles for drag-and-drop support, and introducing a global Malgun Gothic typography overwrite for flawless Korean character rendering inside Sun Valley Tkinter themes.
Full Changelog: v1.2.0...v1.4.0
PDFDeWM v1.2.0
PDFDeWM v1.2.0 Release Notes
This release focuses on significantly improving the user workflow, list management, and overall stability within the Graphical User Interface (GUI).
New Features (User Workflow & Navigation)
- Keyboard Shortcut Navigation for Entries: New shortcuts have been added to quickly jump between the primary input fields:
- Ctrl + Q / Ctrl + Shift + Q: Move focus to the Output Suffix entry field and select all existing text.
- Ctrl + W / Ctrl + Shift + W: Move focus to the Text Keywords entry field and select all existing text.
- Quick File Opening from List: Users can now quickly open a PDF file selected in the processing queue:
- Double-Click on a file name in the listbox opens the file using the system's default PDF viewer.
- The Enter (Return) key, when the listbox is focused, performs the same action.
- Revised Application Closing Shortcut: The application closing shortcut has been updated:
- Ctrl + T / Ctrl + Shift + T now closes the application. (Moved from Ctrl + Q to prevent conflict with the new focus shortcut).
Stability and List Management Improvements
- Refined File Deletion Logic: The process for removing selected files from the queue has been improved:
- The cursor now automatically selects the next file in the list after the current selection is removed.
- The Delete / Backspace keys are now bound directly to the listbox, ensuring they only trigger file removal when the list is focused, thus preventing accidental deletion while typing in text fields.
- Critical Candidate Queue Fix: A bug where deleting a file from the main queue did not clear its associated watermark candidates has been fixed. When a file is removed from the list, all linked image and text watermark candidates are now properly deleted from the internal
watermark_candidatesdictionary, guaranteeing processing stability.
Build and Executable Details
- Version Update: Project version updated to 1.2.0.
- Antivirus False Positive Mitigation: The executable version is built using PyInstaller but intentionally excludes the --onefile option (building to a single executable file). This decision was made to minimize the likelihood of false positives from antivirus software, as bundled single-file executables are frequently flagged by heuristic analysis.
License
This project is licensed under the GNU General Public License v3.0 (GPLv3).
This is a "copyleft" license, chosen because this project depends on libraries like PyMuPDF (AGPL). This means that if you use or modify this project's source code and distribute your modified version, you are required to make your source code available under the same GPLv3 license.
For commercial use cases where GPL compliance is not feasible, a commercial license for the underlying MuPDF library can be purchased from Artifex Software, Inc..
v1.1.0
v1.1.0 - Advanced Preprocessing & Security Hardening
This release marks a significant step forward, transforming the tool from a simple watermark remover into a powerful PDF Preprocessor for managing documents securely and efficiently. This update introduces expert-level features, including text-based watermark detection, folder structure preservation, and a comprehensive document sanitization function.
What's New
Text Watermark Detection & Removal
You can now remove not only images but also text-based watermarks. Simply enter keywords separated by a semicolon (;), and the application will scan the entire document to find and permanently redact all text blocks containing them. This is highly effective for removing headers or footers from OCR-processed documents.
Subdirectory Structure Preservation
When adding a folder via "Add Folder," the application now replicates the entire subdirectory structure within the output destination. This is extremely useful for large-scale archiving jobs where hundreds of files need to be processed at once while maintaining their original folder organization.
Document Sanitization (Scrub) Feature
A new "Scrub" function has been added to enhance document security and prevent sensitive data leaks. It completely removes potentially hazardous elements, such as invisible text layers, metadata, and JavaScript, to produce a clean and secure final document.
Improvements
Logic Stabilization
The core processing logic has been optimized and clarified to ensure stability when text redaction and sanitization functions are used simultaneously.
Enhanced UI Feedback
The log window now provides more explicit messages about the current operation (e.g., "Applying text redactions," "Sanitizing document"), improving the overall user experience.
About Executable
The 'PDFDeWM.exe' file is a standalone executable for Windows, built using PyInstaller. This command was used to compile the executable from the source code, with several unnecessary libraries excluded to ensure a clean build and a smaller file size:
pyinstaller --onefile --windowed --name PDFDeWM --exclude-module pygame --exclude-module pytorch --exclude-module tensorflow --exclude-module numpy --exclude-module pandas --exclude-module matplotlib GUI.pyv1.0.0 - Initial Release
This is the first stable release of PDFDeWM, a desktop GUI application to effortlessly remove image-based watermarks from PDF files.
Key Features
- Intuitive GUI: Navigate the application with a simple and effective user experience.
- Intelligent Watermark Detection: Automatically identifies watermarks by analyzing repeating image patterns.
- Visual Confirmation: Visually inspect and select which candidates to remove before processing.
- Batch Processing: Process single files, multiple files, or all PDFs within a folder at once.
About Executable
The 'PDFDeWM.exe' file is a standalone executable for Windows, built using PyInstaller. This command was used to compile the executable from the source code, with several unnecessary libraries excluded to ensure a clean build and a smaller file size:
pyinstaller --onefile --windowed --name PDFDeWM --exclude-module pygame --exclude-module pytorch --exclude-module tensorflow --exclude-module numpy --exclude-module pandas --exclude-module matplotlib GUI.py