You are on page 1of 18

PDF Lab 2.

0
A PROJECT REPORT

Submitted By

ADARSH SRIVASTAVA
SHAIENDRA SINGH
SUNIL KUMAR
VIKASH KUMAR
In partial fulfilment for the award of the degree

of

BACHELOR OF ENGINEERING
in

COMPUTER SCIENCE & ENGINEERING

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

RUSTAMJI INSTITUTE OF TECHNOLOGY


An Institute of BSF, BSF Academy, Tekanpur, Gwalior, M.P.

RAJIV GANDHI PROUDYOGIKI VISHWAVIDYALAYA


MADHYA PRADESH

June 2019
DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING

RUSTAMJI INSTITUTE OF TECHNOLOGY

BSF ACADEMY, TEKANPUR, GWALIOR – 475005

BONAFIDE CETIFICATE

Certified that this project report “PDF LABS 2.0” is the bonfide work of
“ADARSH SRIVASTAVA, SHAILENDRA SINGH, SUNIL KUMAR
AND VIKASH KUMAR” who carried out the project work under my
supervision. This is to further certify to the best of my knowledge that this
project has not been carried out earlier in this institute and the university.

SIGNATURE

KIRITIRAJ BHATELE

Asst. Professor

Certified that the above mentioned project has been duly carried out as per
the norms of the college and statutes of the university

SIGNATURE

Prof. YOGRAJ SHARMA

HEAD OF DEPARTMENT CSE


ACKNOWLEDGEMENTS

I wish to express my profound and sincere gratitude to Asst. Prof Kiritiraj Bhatele,
Department of Computer Science and Engineering, RJIT, BSF Academy, Tekanpur, Who
guided me into the intricacies of this project non-chalantly with matchless magnanimity.

I thank Prof. Yograj Sharma, Head of the Dept. of Computer Science and Engineering,
RJIT, BSF Academy, Tekanpur.

I would be failing in my duty if I don’t acknowledge the co-operation rendered during


various stages of the development of this software by Asst. Prof Vivek Gupta.

I am equally indebted to my parents for their constant encouragement, co-operation and


help. Words of gratitude are not enough to describe the accommodation and fortitude which they
have shown throughout my endeavor.

Adarsh Srivastava
0902CS151001
B.E. VIII Sem
CONTENTS
1. Introduction

1.1 Purpose of the Project


1.2 Scope of the Project
1.3 About PDF Labs 2.0
1.4 Features of PDF Labs 2.0

2. Formulation of the Project

2.1 Problem Statement


2.2 Objectives
2.3 Feasibility Study
2.3.1 Financial Feasibility
2.3.2 Resource Feasibility
2.3.3 Technical Feasibility

3. Project Work Part-I


3.1 Software Tools used
3.1.1 Eclipse IDE
3.1.2 Gluon Scene Builder
3.2 Programming Language, Libraries and Frameworks used
3.2.1 Programming Language used
3.2.1.1 Java
3.2.2 Libraries used
3.2.2.1 PDF Box
3.2.2.2 iText
3.2.3 Framework used
3.2.3.1 JavaFx
3.3 System Requirements
3.3.1 Hardware Requirements
3.3.2 Software Requirements
3.4 Activity Diagram
3.5 Flow Chart

4. Project Work Part- II


4.1 Screenshots

5. Summary, Conclusions & Future Scope


5.1
Abstract
The Main objective of this project is to develop a cross platform locally executing desktop software
that can perform various utility operations on PDF files. In this software, we have provided various
features for the users of PDF files.

The users will have to select the appropriate file(s) from their computer systems hard drives and then
they can perform desired task on that file(s).

Finally, after performing desired task they can save their file on their computer systems.
Introduction
1.1 Purpose of this Project

PDF Labs 2.0 is a software application for general users of digital documents especially students to
perform various utility operations on PDF files. The purpose of this project is to provide a software
that can perform various frequently used operations on PDF files.

1.2 Scope of this Project

To develop a cross platform locally executing desktop software that can perform various utility
operations on PDF files.

1.3 About PDF Labs 2.0

PDF Labs 2.0 is a desktop application that can be used to perform various utility operations on pdf
files.

Some of the salient characteristics of Pdf Labs are-

1. It is a java based cross platform desktop application which means it can run on any operating
system like Windows, Mac or Linux.
2. It is a lightweight software with setup file size of just 40 MB.
3. It is easy to use with a very smooth UI and UX.
4. It doesn’t consume too much space in RAM while running and uses less computational
power of CPU.
5. It free to use.

1.4 Features of PDF Labs 2.0

Following are the features that are provided by PDF LABS 2.0-

• To merge multiple PDF files in a single PDF file


• To split pages from a single PDF file into a separate PDF file.
• To encrypt or add a password to a PDF File.
• To decrypt or remove password from a PDF file.
• To convert .dcox file into .pdf file.
• To convert images into a single PDF containing all the images.
• To convert HTML files into PDF.
• To remove a specific page from a PDF file.
Formulation of the Project
2.1 Problem Statement

Pdf is the most popular text file format nowadays. People have to perform a lot of operations on their
pdf files for their various needs. PDF labs free its users from purchasing premium versions of the
popular PDF reader software and from paid PDF editor software to perform these basic utility
operations on PDF files.

Also, If the user doesn’t want that to purchase the premium version of popular pdf readers
then it uses the internet to get his/her work done because there are various websites on the internet
that provide their PDF editing services for free. The user just has to upload the document on their
server and the desired work once done they can download their files. But there is always a risk
involved in uploading documents to unknown servers, these documents can be misused and it puts
the users' privacy at risk.

We have identified some the basic problems users of pdf file format are facing right now so,
we thought to develop free software that can run on users own machine and can perform various
operations on pdf files without the need to upload any file from their local machine to less
trustworthy servers.

2.2 Objectives
To develop fully fledged cross platform desktop application that can perform various basic
operations on pdf files there by helping its users by accomplishing following goals-

• Eliminate the need to upload documents on unknown (less trustworthy) servers.

• Providing a free alternative for paid features of popular pdf reader softwares.

• Protecting user’s information and privacy.

• Preventing the misuse of user’s confidential documents.

• Saving users precious time and money.

2.3 Feasibility Study


2.3.1 Financial Feasibility

Being a locally executing desktop application it will not cost any money for purchasing hosting.
Since it is will be developed in Java and there are many open source libraries present on the internet
for PDF files there is no additional cost for purchasing paid SDKs and APIs.

2.3.2 Resource Feasibility

Resources required to develop PDF Lab 2.0


• Programming Device (Desktop/Laptop)
• Programming Tools (Freely available)
• Programmers and Testers (Project members)

2.3.3 Technical Feasibility

In order to develop desktop application Java provides many development frameworks like Swing or
JavaFx so it is possible to develop desktop application in Java.

Java is a platform independent programming language therefore a cross platform application


can be developed in Java.
Project Work Part-I
3.1 Software Tools used

3.1.1 Eclipse IDE

Eclipse is an integrated development environment (IDE) used in computer programming, and is the
most widely used Java IDE. It contains a base workspace and an extensible plug-in system for
customizing the environment. Eclipse is written mostly in Java and its primary use is for developing
Java application.

3.1.2 Gluon Scene builder

Gluon SceneBuilder is a UI design tool for JavaFX. It supports WYSIWYG drag-and-drop editing
and produces FXML which can be used in JavaFX applications.

JavaFX Scene Builder is a visual layout tool that lets users quickly design JavaFX application
user interfaces, without coding. Users can drag and drop UI components to a work area, modify their
properties, apply style sheets, and the FXML code for the layout that they are creating is
automatically generated in the background. The result is an FXML file that can then be combined
with a Java project by binding the UI to the application’s logic.

The Scene Builder project was created using JavaFX by Oracle and it is open source within
the OpenJFX project.

Oracle provided binaries, up until Scene Builder v 2.0, including only JavaFX features before
the release of Java SE 8u40.

Gluon took over the binary releases distribution and It includes the latest changes in JavaFX, and
also recent improvements and bug fixes.

3.2 Programming Language, Libraries and Frameworks used

3.2.1 Programming Language used

3.2.1.1 Java

Java is a programming language created by James Gosling from Sun Microsystems (Sun) in 1991.
The target of Java is to write a program once and then run this program on multiple operating
systems.

The first publicly available version of Java (Java 1.0) was released in 1995. Sun
Microsystems was acquired by the Oracle Corporation in 2010. Oracle has now the steermanship for
Java.

3.2.2 Libraries Used

3.2.2.1 PDF Box


The Apache PDFBox® library is an open source Java tool for working with PDF documents. This
project allows creation of new PDF documents, manipulation of existing documents and the ability
to extract content from documents. Apache PDFBox also includes several command-line utilities.
Apache PDFBox is published under the Apache License v2.0.

3.2.2.1 iText

iText is a library for creating and manipulating PDF files in Java and .NET.

iText was written by Bruno Lowagie. The source code was initially distributed as open
source under the Mozilla Public License or the GNU Library General Public License open source
licenses. However, as of version 5.0.0 (released Dec 7, 2009) it is distributed under the Affero
General Public License version 3. A fork of the LGPL/MPL licensed version of iText is currently
actively maintained as the OpenPDF library on GitHub.[3] iText is also available through a
proprietary license, distributed by iText Software NV.

3.2.3 Framework Used

3.3.3.1 JavaFx

JavaFX is a Java framework used to develop Desktop applications as well as Rich Internet
Applications (RIA). The applications built in JavaFX, can run on multiple platforms including Web,
Mobile and Desktops.

JavaFX is intended to replace swing in Java applications as a GUI framework. However, It


provides more functionalities than swing. Like Swing, JavaFX also provides its own components and
doesn't depend upon the operating system. It is lightweight and hardware accelerated. It supports
various operating systems including Windows, Linux and Mac OS.

JavaFX was developed by Chris Oliver. Initially the project was named as Form Follows
Functions (F3) . It is intended to provide the richer functionalities for the GUI application
development. Later, Sun Micro-systems acquired F3 project as JavaFX in June, 2005.

3.3 System Requirements

3.3.1 Hardware Requirements

• RAM: Minimum 1 GB for JVM and PDF Lab

• Hard Disk: At least 50MB free on disk

• Processor: Any modern multicore processor is good to go.

3.3.2 Software Requirements

• Operating System: Windows or Linux or Mac OS.

• Java version 8 or above.


3.4 Activity Diagram
3.5 Flow Chart
Project Work Part-II
Screenshots

HomePage
Select File

Encrypt PDF
Save File

Remove Page
Merging PDF

Error Alert

Split PDF

Info Alert
Summary, Conclusion and Future Scope
5.1 Summary

As there are two faces of any coin so as PDF Labs has its own advantages and limitations-

Advantages-

1. No need to upload files anywhere

2. No internet connection required

3. Easy to use

4. Small size

5. Cross Platform

Limitations-

1. Additional features can be added

2. UI & UX can be improved drastically.

5.2 Future Scope

As PDF file format is the most popular text file format in use nowadays and it will remain to be so
therefore softwares such as PDF Labs 2.0 which are providing services for PDF files will always
remain relevant.

These days people are highly concerned about their data and privacy therefore they will always
prefer a software that ensures their privacy and data from being misused.

Therefore this project has a great future ahead.

5.3 Conclusion

After the completion of the project, one can clearly say that our developed application will help users
of PDF files to perform basic utility operations on it. This is safe and efficient way of performing
utility tasks on PDF files without the need to purchase paid versions of popular PDF softwares and
without uploading PDF files on less trustworthy servers.
References
Websites

https://www.geeksforgeeks.org/java/

https://www.oracle.com/technetwork/java/javafx

https://pdfbox.apache.org/1.8/cookbook/documentcreation.html

https://o7planning.org/en/10623/javafx-tutorial-for-beginners

https://itextpdf.com/en/resources/api-documentation

YouTube Channels

1. Keep Too

https://www.youtube.com/channel/UCJLK4lzsBtGtxr9aj-6Ok8Q

2. Genuine Coder

https://www.youtube.com/channel/UCCXbhmjID-T2I0KfuDPbi6A