This is a Java-based console application that allows users to create, merge, split, extract text, and password-protect PDF files.
The project uses Data Structures and Algorithms (DSA) concepts like Stack and Queue for managing undo actions and task history.
- Create PDF from Text
- Merge multiple PDFs
- Split a PDF into individual pages
- Extract text from a PDF
- Password protect any PDF file
- Undo the last performed operation (using Stack)
- Manage Tasks using Queue
- Java (JDK 17)
- Apache PDFBox Library
- Data Structures: Stack and Queue
- IDE: VS Code / IntelliJ IDEA
PDF_Converter_By_Aarohi/
βββ src/
β βββ Main.java
β βββ PDFService.java
β βββ TaskManager.java
β βββ UndoManager.java
β
βββ lib/
β βββ pdfbox-app-2.0.34.jar
β
βββ bin/ (compiled .class files)
β
βββ README.md
-
Download and setup Apache PDFBox:
- Place
pdfbox-app-2.0.34.jarinside thelib/folder.
- Place
-
Compile the Java files:
javac -cp "lib/pdfbox-app-2.0.34.jar" src/*.java -d bin
-
Run the Project:
- java -cp "lib/pdfbox-app-2.0.34.jar;bin" Main (Use ; for Windows and : for Mac/Linux)
Stack: Undo functionality to reverse the last file operation.
Queue: Maintaining the task history for all operations.
Aarohi Dixit (2310990173)
Supervisor: Mr. Sachin Garg
This project showcases real-world usage of Java, file handling, and DSA concepts. It is a lightweight, efficient, offline PDF management system built entirely on the console.