Well Still who ever wants want to work can work on that. It will be their
credit. GSc is not the only way.

On Tue, Apr 17, 2012 at 12:24 PM, mehdi houshmand <med1...@gmail.com> wrote:

> Ok, well, disappointingly we've missed the deadline to submit a proposal
> and review said proposal. Thanks for all the support from everyone, sorry
> we couldn't arrange it this year.
>
> Mehdi
>
> On 10 April 2012 08:22, mehdi houshmand <med1...@gmail.com> wrote:
>
> > Hi Tharaka,
> >
> > Sorry for the slow response, my bad, I don't have any worthwhile excuse
> > other than it's holiday season over here. As for the proposal, thats
> fine,
> > I'd be happy with that proposal. If no one else has any comments on this,
> > I'd suggest moving writing this up on google-melange and getting the ball
> > rolling.
> >
> > Keep up the good work,
> >
> > Mehdi
> >
> >
> > On 5 April 2012 08:45, Tharaka Nayanajith Wijebandara <
> > tharaka...@gmail.com> wrote:
> >
> >> Hi,
> >>
> >> Thank you very much for your feedbacks and suggestions.
> >>
> >> After going through all of your feedbacks, I modified the proposal with
> >> them and used some my own ideas also. Additionally, I included the
> >> proposed
> >> time line of the project and I would like to see your comments here.
> >>
> >>
> >> *Project Title*
> >>
> >> Implement PDF object inspector and enhance features of PDFReader GUI.
> >>
> >>
> >> *Abstract*
> >>
> >> PDFReader is small GUI application which comes with Apache PDFBox pure
> >> java
> >> PDF library. Currently it is only capable of rendering PDFs. This
> project
> >> is to redesign PDFReader GUI with a plugin framework and implement some
> >> developer oriented features for it. Primary objectives of project are as
> >> follows.
> >>
> >> (1). Design a plugin framework for the PDFReader.
> >>
> >> (2). Implement PDF basic viewing features. (Zooming, rotating, page
> >> thumbnail viewer)
> >>
> >> (3). Implement a PDF object inspector to display PDF object properties.
> >>
> >> (4). Implement Export command for converting PDFs into different file
> >> formats (JPEG, PNG, TXT).
> >>
> >>
> >>
> >> *Project Details*
> >>
> >> *
> >> *
> >>
> >> PDFBox already has so many features required, but currently most of them
> >> only available for developers and from command line. Aim of this project
> >> is
> >> extending PDFReader into well designed application which allows access
> to
> >> some PDFBox features through GUI and integrating some developer oriented
> >> features. However, project itself is not going to consider GUI access to
> >> all available PDFBox features. Instead of that it re-architects
> PDFReader
> >> into pluggable application which developer can easily integrate other
> >> features by developing plugins.
> >>
> >>
> >> In that case, most important primary objective of the project is
> designing
> >> a simple plugin framework for the PDFReader. In the implementation, we
> can
> >> use JAR Service Provider mechanism as the base of the plugin framework.
> >> For
> >> that first, it's required to identify what are pluggable classes which
> is
> >> going to use in the application and define interfaces for those classes
> >> with the basic methods. Then we can implement some mechanism for plugin
> >> developer to define what are the classes to use, and where (which
> >> JAR/directory) to load them from. When application loads, it will check
> >> specific locations for plugins and create instance of those plugins
> using
> >> class loader. Here after application can use those plugin instances as
> >> components of application itself.
> >>
> >>
> >> Rotating and zooming functions are basic features which is available in
> >> every PDF viewer and it allow user to view PDF pages from different
> >> perspectives. However current PDFReader is unable to provide those
> >> features. This project will address to this problem as part of second
> >> primary objective by implementing some menu commands for those features.
> >> In
> >> the implementation, it will be matter of changing some codes in
> PageDrawer
> >> and other related class which are responsible to render PDF pages using
> >> Java2D.
> >>
> >>
> >> Other interesting feature which is going to archive as another part of
> >> second objective is developing page thumbnail viewer for the PDFReader.
> >> This will be cool GUI component for user to navigate through the PDF
> >> Document very easily. It will be image list which has small image of the
> >> every PDF page of the current document with page numbers. User can
> simply
> >> click on the image to jump the particular page. This component will be
> >> developed as plugin for PDFReader and user will be able to show and hide
> >> using the menu command.
> >>
> >>
> >> Third objective is implementing an object inspector for PDFReader and it
> >> will be very much useful to developer who wants to debug PDF documents.
> >> User can enable click one the any object on the PDF viewer and then in a
> >> small window, it will show the information about particular object while
> >> highlighting the object inside the viewer. As an example if user click
> on
> >> image of the PDF it will show the information such as image size, color
> >> space, resolution and bit depth. If object is text, it will show the
> >> details about font, color space and color values. In implementation this
> >> also will be developed as another plugin for the PDFReader.
> >>
> >>
> >> Export feature is last primary objective which I'm going to implement
> >> within this project and it also will be developed as several plugins. As
> >> most of the available software, it's good idea to add 'Export' menu item
> >> into file menu. This menu item will have submenu which contains
> different
> >> commands for different file formats (JPEG, PNG, TXT) and each of those
> >> commands will popup small dialog box which allows user to change export
> >> settings such as page range, password, encoding type, file name and
> >> location. After change those settings, user can simply click 'OK' button
> >> of
> >> the settings dialog box to start the converting process. Every command
> for
> >> particular file format will be developed as a plugin and in future
> >> developers can easily integrate commands for new file formats to convert
> >> PDFs.
> >>
> >>
> >> In addition to these primary objectives there are few secondary
> objectives
> >> which I'm going to consider with this project and major one will be the
> >> 'Add Text' feature. It will allow user to draw textbox in any place of
> the
> >> PDF page and type new text. There will be Small window or view will
> appear
> >> in this mode and user can change the font size, color and other related
> >> properties. These new text objects will added to PDF page by inserting
> new
> >> optional content group to the page and in case user wants to remove or
> >> edit
> >> this newly added text, it's possible before saving PDF permanently.
> >>
> >>
> >>
> >> Add 'print' menu item, develop plugin for mange (add, edit, delete)
> >> bookmarks and View for the basic PDF properties will be the set of
> another
> >> secondary objectives which I'm going to look at within this project.
> Since
> >> most of them are already available in command line, it will be easy to
> add
> >> those features as plugins for GUI if there will be enough time after
> >> achieving primary objectives.
> >>
> >>
> >>
> >> *Benefits to PDFBox*
> >>
> >> Most of the modern code libraries are delivered with GUI application to
> >> test the features before studying API. However, features of PDFBox are
> >> mostly accessible through the command line interface and it discourages
> >> users and new developers from using PDFBox. By having GUI for access
> these
> >> features any user can simply use them and developer can test the
> features
> >> without going through the code. Since designing plugin framework is a
> >> primary objective of the project, developers will be able to easily
> append
> >> new features for GUI in future.
> >>
> >> PDF object inspector will be great tool for developer and it will make
> >> easy
> >> debugging PDFs. Furthermore, it will help to new developers to study the
> >> structure of PDF file and understanding PDFBox core functionalities.
> >>
> >>
> >>
> >> *Project Timeline and Deliverables*
> >>
> >> *May 21 - May 28*
> >>
> >> ·   Read and understand the current PDFReader Code
> >>
> >> ·   Create basic design for plugin framework
> >>
> >> *May 28 - Jun 08*
> >>
> >>                Discuss plugin framework design with community
> >>
> >>  *Jun 08 - Jun 18*
> >>
> >>                Implement plugin framework
> >>
> >>  *Jun 18 - Jun 25*
> >>
> >>                Code some basic examples and test cases for plugin
> >> framework
> >>
> >>  *Jun 25 - Jul 02*
> >>
> >>                Implement basic zooming and rotating features
> >>
> >>  *Jul 02 - Jul 09*
> >>
> >>                Implement page thumbnail viewer
> >>
> >>  *Jul 09 - Jul 11*
> >>
> >>                Study and Create design for Object Inspector
> >>
> >>  *Jul 12 - Jul 13*
> >>
> >>                Submit mid-term evaluation
> >>
> >>  *Jul 13 - Jul 23*
> >>
> >>                Implement PDF Object Inspector
> >>
> >>  *Jul 23 - Jul 30*
> >>
> >>                Implement export PDF feature
> >>
> >>  *Jul 30 - Aug 06*
> >>
> >>                Implement some secondary objectives
> >>
> >>  *Aug 06 - Aug 13*
> >>
> >>                Test, debug the code and complete documentation
> >>
> >>  *Aug 13 - Aug 20*
> >>
> >>                Submit the design and conclusion
> >>
> >>
> >>
> >> *Exams and other commitments*
> >>
> >> I have semester end examination of University from 28th May to 8th June.
> >> After that I can work fulltime (40+ hours per week) on this project
> until
> >> end.
> >>
> >>
> >>
> >>
> >> On Wed, Apr 4, 2012 at 12:44 PM, mehdi houshmand <med1...@gmail.com>
> >> wrote:
> >>
> >> > >
> >> > >
> >> > > <snip>
> >> > > How about just implementing the "add text" feature? That should be
> >> > > relatively easy. Add a new optional content group to the page and
> add
> >> > > all text as part of that. That makes this a cool tool to fill out
> >> forms
> >> > > that were scanned, or that are not AcroForms. I fully agree that the
> >> > > replace feature is going to be tough, relatively speaking.
> >> > >
> >> >
> >> > Yeah, my bad here, I shouldn't have missed it but I'm inclined to
> agree
> >> > with Andreas. If we implemented deleting text, it could get pretty
> >> tricksy,
> >> > especially when CID coded fonts are used. This is a perfect candidate
> >> of a
> >> > secondary objective.
> >> >
> >> >
> >> > > I wouldn't put the bar too high for this project. Get some
> low-hanging
> >> > > fruit that adds some cool and useful functionality to the GUI. More
> >> can
> >> > > always be added later.
> >> > >
> >> > > More ideas for low-hanging fruit (as additional tasks if you end up
> >> with
> >> > > spare time after the main objectives above):
> >> > > - Allow the "Save As..." menu item not only save a modified PDF, but
> >> > > also bitmaps (PNG, JPEG), plain text and HTML (i.e. from text
> >> > extraction).
> >> > > That would make a plug-in for each output format, so we could add
> >> others
> >> > > later.
> >> > > - Add a "Print..." menu item.
> >> > > - Integrate preflight as a plug-in into the application.
> >> > > - Split, concatenate, page reorder, page rotation (not just viewing
> >> but
> >> > > modifying the PDF), overlay/underlay.
> >> > > - Menu item: "Create PDF from image(s)" and "Add page from image".
> >> > > - A dialog/view listing the fonts in the PDF.
> >> > > - A dialog/view for the basic PDF properties like in Acrobat's
> >> > > Properties Dialog.
> >> > > - A dialog/view listing all images with their properties and
> effective
> >> > > resolution in the PDF.
> >> > > - I could go on and on... :-) I'm seeing a serious itch going to
> catch
> >> > > me once you've set up a good base for that GUI. I'm so looking
> forward
> >> > > to this!
> >> > >
> >> > > Anyway, points 1 and 2 will be the most important tasks because they
> >> > > provide the basis for easily adding additional functionality.
> >> > >
> >> >
> >> > Yeah, those look like good tasks, maybe we'll add the two you suggest
> to
> >> > the primary objectives and the rest into secondary or even tertiary
> >> > objectives. It's good to see you getting geared up for this Jeremias,
> >> we're
> >> > no doubt going to call on your expertise ;-).
> >> >
> >> > Thanks for the support
> >> >
> >> > Mehdi
> >> >
> >>
> >>
> >>
> >> --
> >> Thanks & Regards,
> >> Tharaka Wijebandara,
> >> Faculty of Information Technology,
> >> University of Moratuwa.
> >>
> >
> >
>

Reply via email to