Inspired by iLovePDF, bur for desktop.
EnjoyPDF is a desktop application inspired by iLovePDF that provides essential PDF tools such as merging files, extracting images, generating PDFs from images, and browsing directories—all without requiring an internet connection. Built with React.js and Ant Design, it offers a smooth, user-friendly interface for managing PDF workflows locally.
## Features
- Upload and process files
- Join PDF files
- Extract images from PDF
- Generate a PDF file by uploading a set of images
- Navigate between paths
## TechStack
- React.js
- AntDesign
- Electron
Ivan P
Check their projects out: My Website For Reactive, Interview Hack, Hack Circuit
Once you ship this you can't edit the description of the project, but you'll be able to add more devlogs and re-ship it as you add new features!
I have completed the configuration of the functionality to generate PDF from an image.
It was a little more difficult than I thought, as I was not able to get the image dimensions before adding them to a PDF page.
In the end I was able to figure out how to get it all to work and did the deployment at https://enjoypdf.netlify.app/.
I have completed the development of the functionality to extract images from PDF. You are prompted to upload a file and then you can download the images individually or all together as a .zip file. It's a job where I had to do a lot of research to choose and implement the right libraries without asking an AI to generate the code for me.
PDF merge design and functionality. The field to load multiple PDF files was added, type validations are made, the merge is performed with the “pdf-merger-js” library and then displayed as an iframe on the page.
I have completed the design and structure of the home page with cards that allow navigation between the sub-pages of my application tools.
I've created the basic layout for my app, including route navigation.
I decided to use Ant as my CSS library because of its customization and large number of components, and because I wanted to use something different than Material UI this time.
I have completed the Electron setup for my app. It was a bit difficult at first because I had to install other packages on my Linux operating system, but after some reading and browsing through several tutorials, I was able to run my app in web and desktop mode and perform the builds.