Escolar Documentos
Profissional Documentos
Cultura Documentos
Specification
for
Prepared by
Andreia Loureiro
Tnia Ferreira
June, 2014
Page 2
Acknowledgments
Sections of this document are based upon the IEEE Guide to Software Requirements
Specification (ANSI/IEEE Std. 830-1984).
Table of Contents
1. Introduction ............................................................................................................................. 3
1.1
1.2
1.3
1.4
1.5
Purpose ........................................................................................................................................ 3
Document Conventions................................................................................................................ 3
Intended Audience and Reading Suggestions .............................................................................. 3
Project and Product Scope ........................................................................................................... 3
Acronyms, Definitions and Abbreviations .................................................................................. 4
1.6
References.................................................................................................................................... 5
1. Introduction
1.1 Purpose
This document specifies the software requirements to the project Open Source PDF
Split and Merge v2.2.2. It follows the IEEE standard for software requirements
specifications documents.
This version is serving as base to develop a new version, v3.
PDF is the most popular and secure way to exchange digital files informations. This is
used by people all over the world and thank to its characteristics it has become one of the
most trustable used technologies. The PDF files are multi-platform, so they are viewed in
almost all operative systems, such as Macintosh , Windows , UNIX and Linux .
They are also used in mobile platforms and devices. The manipulation of these files in a
generally way is not free. So the purpose of this project is to supply one easy, efficient and
free way to work with PDF files using a simple graphic interface.
Programmers That can use it to review the project resources and understand
easily for where they should direct their efforts in order to improve and add more
futures to the project.
Testers That can use it as base to improve some errors that are easily to find
using a requirement document.
Final users that can use it to read and learn more about the functionalities of the
project.
Page 3
It is available in two versions, basic and enhanced. Both versions are Open Source, but in
order to have unlimited access to the compiled code of the PDFsam Enhanced version it
is need to make one donation of any amount.
The GUI provides the user all the functions needed to manipulate pdf documents. These
functions are distributed by plugins. In the basic version the GUI contains six plugins:
1. Alternate Mix;
2. Merge/Extract;
3. Rotate;
4. Split;
5. Visual document composer;
6. Visual reorder.
Page 4
Page 5
IEEE (Institute of Electrical and Electronics Engineers): IEEE is the worlds largest
professional association advancing innovation and technological excellence for the benefit
of humanity (source: http://www.ieee.org/about/index.html).
SRS Document (Software Requirements Specification Document): is a complete
description
of
the
behavior
of
the
system
to
be
developed
(source:
http://techwhirl.com/writing-software-requirements-specifications/).
GPL: The GNU General Public License is a free, copy left license for software and other
kinds of works. It is intended to guarantee freedom to share and change all versions of a
program
to make
sure
it
for
all
its users
(source:
http://www.gnu.org).
FOSS (Free and Open Source Software): is software that is liberally licensed to grant the
right of users to study, change, and improve its design through the availability of its source
code (source: http://www.gnu.org).
1.6 References
The project official web site (http://www.PDFsam.org/) has a brief description of the
project, images, links, FAQs and a blog with all the news about the project.
At the Sourceforge (http://sourceforge.net/projects/PDFsam/) site it can be found the
source code from the project, errors reports, and the download numbers of all the PDF
Splip and Merge project.
The Wiki PDFsam (http://www.PDFsam.org/mediawiki/) explains some functionalities of
the project.
The project manager gives feedback for any doubts that users expose truth the project
official web site.
2. Overall Description
2.1 Project Perspective
PDF Split and Merge is multifunctional tool to manipulate pdf files. It is free and open
source. It has GNU General Public License (GPL).
Although they are a lot of programs to visualize PDFs files, there is none that works with
pdfs files with so many resources as the PDFsam. Due the fact it is open source, it is a
motivation to other users (programmers) to help in developing the project. Furthermore,
there is an ameliorated version that supplies more resources.
Mix alternate pages from two PDF documents in straight or reverse order to a
single document.
Save and load the working environment, in order that the recurrent jobs are
automatized.
All of these functions can be executed from the application Console at the command
line, using the prompt command.
Page 6
Page 7
Page 8
Page 9
Settings panel:
About panel:
Page 10
Log panel:
Page 11
Page 12
Merge/Extract Interface:
Page 13
Rotate Interface:
Split Interface:
Page 14
Page 15
Page 16
4. Communications Interfaces
PDFSam is a program, so it only needs network connections in order to check for
updates.
Page 17
5. System Features
PDFsam is constituted by six plugins with different functions. All the plugins are located in
the Settings Panel. They can be loaded by clicking in the Plugin option.
This section describes the functional requirements for the software and the resources that
this offers. The functions and each of their characteristics are already part of the
developed software, so in case of intention to add features, they should be privileged
another functions not here described.
5.1.1 Description
Users have the ability to save the working environment with all the status of every part of
the application, so they dont have to set the options of each plugin every time they open
the application. This feature is very useful for repetitive tasks, where users save a lot of
time with this possibility.
5.2.1 Description
Alternate Mix allows users to combine two pdf documents by taking alternatively pages
from each one of the input files.
Page 18
Page 19
Selection panel: Through the Add button users can select two pdf documents. This
plugin only works with two input documents. To remove selected documents users
should use the Remove button. Users can move up and down the selected
documents in the selection table. Users also can use the Clear button to clear the
selection table.
Destination output file: Through the Browse button users can select the output file,
which will be generated by mixing the two input documents. Users can select the
Overwrite if already exists button, if they want that the output file overwrite an
existing file with the same name without showing any warming or alert. If this
option is not selected and the file name already exists, PDFsam will show an error
message informing that it was unable to create the output file however it also says
that it was created a temporary file and path to his location. Users can choose the
option Compress output file to compress the output document (this option requires
pdf version 1.5 or above). Users can choose the option Output document pdf
version to select the pdf version of the pdf document to create.
Page 20
Run button: After set all parameters, the user should press the RUN button and
the mixing of the 2 documents starts.
5.3 Merge/Extract
This plugin allows merge any pdf documents or subsections of them that users want. It
also allows extract sections of a document to another document.
5.3.1 Description
Users can merge many pdf documents or subsections of them together. In the same way,
they can extract some sections of a pdf document into a single document.
Figure 8 - This is a screenshot of the Merge/Extract
Page 21
Selection panel: Through the Add button users can select any number of pdf
documents. To remove selected documents users should use the Remove button.
Using the Move up button and the Move down button, users can move up and
down the selected documents in the selection table. Users also can use the Clear
button to clear the selection table.
Destination output file: Through the Browse button users can select the output file,
which will be generated by merging the selected input documents. Users can
select the Overwrite if already exists button, if they want that the output file
overwrite an existing file with the same name without showing any warming or
alert. If this option is not selected and the file name already exists, PDFsam will
show an error message informing that it was unable to create the output file
however it also says that it was created a temporary file and path to his location.
Users can choose the option Compress output file to compress the output
document (this option requires pdf version 1.5 or above). Users can choose the
option Output document pdf version to select the pdf version of the pdf document
to create.
Run button: After set all parameters, the user should press the RUN button and
the merging of the selected documents starts.
The procedure described references the merge option. In order to the users can extract
pages from an input pdf document, they should act in like is described below.
Select the input document that contains the pages you are interested in.
Page 22
Use an interval without ending term if you are interested in all the pages
coming after the first term of the interval (Ex. 4- ).
Consider that the terms are always included and if you write 3-15 you are telling
PDFsam to include pages 3 to 15. All the cases above can be combined using
comma separated values to create the selection string. (Ex. 3,5,15-22,35-).
Page 23
5.4 Rotate
This plugin allows rotating pdf documents.
5.4.1 Description
The Rotate plugin, available with the PDFsam Basic version, allows rotating a predefined
set of pages in the selected documents.
Selection panel: Through the Add button users can select any number of pdf
documents. To remove selected documents users should use the Remove button.
Users also can use the Clear button to clear the selection table.
Page 24
2. Pages: Users can choose the pages to rotate (All, Even, Odd).
Destination output file: Through the Browse button users can select the output
folder, which will be generated by rotating pdf document pages. Users can select
the Overwrite if already exists button, if they want that the output file overwrite an
existing file with the same name without showing any warming or alert. If this
option is not selected and the file name already exists, PDFsam will show an error
message informing that it was unable to create the output file however it also says
that it was created a temporary file and path to his location. Users can choose the
option Compress output file to compress the output document (this option requires
pdf version 1.5 or above). Users can choose the option Output document pdf
version to select the pdf version of the pdf document to create.
Run button: After set all parameters, the user should press the RUN button and
the mixing of the 2 documents starts.
5.5 Split
This plugin allows split a pdf document through the GUI interface. It allows that the user
defines some options that will be used to split the document.
Page 25
Selection Panel: User chooses the file that intends to split from the respective
directory. When the file is loaded they are showed some informations about it
(page numbers, pdf version).
If the document is protected the user has to insert the password when its asked,
and after that has to reload the pdf.
Split options: They are 7 types of splitting options available to the users:
1. Burst (split into single page): the input file will be split in single pages.
2. Split even pages: the input file will be split at every even page.
3. Split odd pages: the input file will be split at every odd page.
4. Split after these pages: the input file will be split after some page number
defined by the user.
5. Split every n pages: the input file will be split every n pages.
6. Split at this size: the input file will be split in files of a size given by the user.
7. Split by bookmark level: the input file will be split by the bookmarks
selected. For instance this can be very useful if user wants to split an ebook in chapters.
Destination folder: The user can choose the destination folder for the output file.
The user can also, choose if he wants to compress or no the output files, and the
pdf version in which the files are created.
Output options: The user can choose a pattern to generate file names to the output
files. The complex prefixes available are:
Page 26
This prefix variable ensures unique output filenames and its replaced with
the current date and time. Time has milliseconds precision and the
replaced variable will be something like 20090706_152643712 that is
YYYYMMDD_HHmmssSSS.
Examples
The
prefix
p_[BASENAME]_[FILENUMBER###]
p_filename_001,
The
prefix
will
p_filename_002
out[TIMESTAMP]_[CURRENTPAGE]
out20090706_152643712_1,
generate:
will
out20090706_152646741_2
generate:
RUN button: After set all parameters, the user should press the RUN button
and the splitting starts.
Page 27
Page 28
Destination output file: Through the Browse button users can select the output
folder, which will be generated by rotating pdf document pages. Users can select
the Overwrite if already exists button, if they want that the output file overwrite an
existing file with the same name without showing any warming or alert. If this
option is not selected and the file name already exists, PDFsam will show an error
message informing that it was unable to create the output file however it also says
Page 29
that it was created a temporary file and path to his location. Users can choose the
option Compress output file to compress the output document (this option requires
pdf version 1.5 or above). Users can choose the option Output document pdf
version to select the pdf version of the pdf document to create.
Run button: After set all parameters, the user should press the Run button and the
composing of the new pdf document starts.
Page 30
Selection panel: Users can open and view the different pages from one input pdf
document. Users have available the options Zoom in and Zoom out to change the
size of the previewed pages. This panel offers all the basic functions, Move up,
Move down, Delete, Undelete, Rotate right, Rotate left and Reverse.
Destination output file: Through the Browse button users can select the output
folder, which will be generated by reordering the pdf document pages. Users can
select the Overwrite if already exists button, if they want that the output file
overwrite an existing file with the same name without showing any warming or
alert. If this option is not selected and the file name already exists, PDFsam will
show an error message informing that it was unable to create the output file
however it also says that it was created a temporary file and path to his location.
Users also can choose to save the new document at source file. Users can choose
the option Compress output file to compress the output document (this option
Page 31
requires pdf version 1.5 or above). Users can choose the option Output document
pdf version to select the pdf version of the pdf document to create.
Run button: After set all parameters, the user should press the Run button and the
reordering of the new pdf document starts.
Page 32