The objective of this project was to develop a simple PDF merger using the Python's Tkinter library to enable GUI programming. This GUI provides a simple interface for users to add their desired files, order them then combine them into a single file. The file was packaged using pyinstaller in order to run on locally using an executable file for Windows and a dmg image on Mac OSX. Typically GUI programming with Python is not ideal as it lacks development capability due to reliance on Tkinter. However, given the simplicity of the project, it does not warrant the implementation of a web framework such as Electron JS to create a desktop application.
The image on the left displays the GUI module. Users can open the file using the file open icon, then order them by dragging the filenames above or below other files. Once satisfied with the order, the user can merge the files together using the merge icon at the bottom left.
The pdf merging was constructed using the open-source pypdf library that contains functions that handle the merging process. Although it is good practice to understand the process of merging that is provided by this library, reinventing the wheel slows the development of an application.Â
The GUI was developed using the Tkinter library with various functions as event handlers for buttons, menu bars, and the rearrangement of the files.
Check out my project repository on GitHub for the project report & code.