Hi Tharaka,

I'd say it's looking pretty good, you've got a lot of information there, so
great job!!

I would however say maybe adding some secondary objectives would be a good
idea, just so we explicitly display the intentions of the project. Having
secondary objectives are also good to give you focus if all the primary
objectives are completed. Also, there are a few grammatical errors, this
isn't a big deal at all and I appreciate English may not be your first
language, maybe before you do the final version I'll help you just make a
few corrections.

Good work though, I'm looking forward to commencing this project.

Mehdi

On 3 April 2012 01:34, Tharaka Nayanajith Wijebandara
<tharaka...@gmail.com>wrote:

> Hi,
>
> I have completed some parts of the the GSoC proposal and I need some
> feedback from the community about the that. Here a I used swing approach
> since I have some doubts about RCP. Anyway I also understand RCP will
> easy approach rather than this and if someone going to help me on that I'm
> still ready to go in that way. Still I have to prepare 'Project Timeline
> and Deliverables' part and I will send those part soon.
>
> *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 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 a type-writer feature to add/remove text from a content
> stream.
>
>
>
>
>
> *Project Details*
>
> *===============*
>
>
>
> PDFBox already has so many features required, but currently most of them
> only available for developers and from the 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 a object inspector for PDFReader and it
> will be very much useful to developer who want 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 a 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.
>
>
> Typewriter feature is last objective which we going to implement within
> this project and it also will be developed as plugin. It will allow user to
> click any place in the PDF and type new text for the PDF page. Small window
> or tool box will appear in this mode and user can change the font size,
> color and other related properties. Furthermore, if user wants to remove
> this newly added text, he can simply select and press 'Delete'.
>
>
>
> *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. Futhermore, it will help to new developers to study the
> structure of PDF file and understanding PDFBox core functionalities.
>
>
> On Sat, Mar 31, 2012 at 11:12 AM, Tharaka Nayanajith Wijebandara <
> tharaka...@gmail.com> wrote:
>
> > Hi,
> >
> >
> > Idea about object inspector is clear and I think I can make that dream
> > into reality. ;)
> >
> >
> > I have some doubt regarding RCP. Actually I didn't have any previous
> > experience with RPC and read some articles to get idea about it. As per
> my
> > understanding, although there are several RCPs in our case eclipse RCP is
> > most suitable one. However since RCP Application has several dependencies
> > and they are not in maven structure, I still can't understand how them
> > organize in pdfbox project. Is there any example project for
> understanding
> > it? Maybe I'm misunderstood, need some help from you to clear it.
> >
> >
> > Mehdi, I started to create proposal and I'll put it here within this
> > weekend.
> >
> > On Thu, Mar 29, 2012 at 2:35 PM, mehdi houshmand <med1...@gmail.com
> >wrote:
> >
> >> I think my hopes and dreams are pretty exactly the same as Jeremias'.
> >> These
> >> features would give PDFBox differentiation from Adobe products which
> focus
> >> much more design of PDF rather than nuts and bots debugging. As for the
> >> GUI, I'm really not fussy regarding the UI framework you use, but RCP
> does
> >> look pretty interesting...
> >>
> >> Just as an aside, in terms of structure, I was thinking of this being a
> >> maven sub-project in the same way fontbox and jempbox etc are. I just
> >> wanted to make sure we're all on the same wavelength here...
> >>
> >> Tharaka, I think you've probably got enough information here to create a
> >> proposal, if you want to put a draft up here for us (the community) to
> >> check over feel free to do so. But you're going to need to publish the
> >> proposal on Google melange (
> >> http://www.google-melange.com/gsoc/homepage/google/gsoc2012) so that I
> >> can
> >> agree to mentor it and rate the application.
> >>
> >> Just a bit of admin:
> >> Debian has a good template for student applications (
> >> http://wiki.debian.org/SummerOfCode/StudentApplicationTemplate). Once
> you
> >> fill out the necessary details I will assign myself as the mentor and
> have
> >> to rank your application (
> >> http://community.apache.org/mentee-ranking-process.html). If you want
> to
> >> fair better in the ranking process, involvement in the community is
> highly
> >> regarded by either a) answering user questions on the mailing list
> and/or
> >> b) going through PDFBox bugs and fixing some bugs; this isn't mandatory
> >> but
> >> will improve the ranking on your application.
> >>
> >> Mehdi
> >>
> >>
> >> On 29 March 2012 07:36, Jeremias Maerki <d...@jeremias-maerki.ch> wrote:
> >>
> >> > Hi Tharaka,
> >> >
> >> > Object Inspector: I'm not sure you need a tree for inspecting a single
> >> > object. The tree is useful when the PDF debugger is integrated as an
> >> > alternative view of a PDF. I'd expect to have a customized window (a
> >> > plug-in ;-) ) for each kind of object when inspecting it. A bitmap
> image
> >> > would display information about the size, the color space and profile,
> >> > effective resolution. Clicking on a word would display its font and
> >> > color. I guess it would be quite cool to have a button that says "jump
> >> > to object tree" so it would switch to the debugger view and focus on
> the
> >> > selected object. Imagine having viewer and debugger side-by-side in
> >> > separate views and the object that you click on in the debugger is
> >> > highlighted in the viewer. Wow. But I'm dreaming. ;-)
> >> >
> >> > Unfortunately, JPF is off-limits for PDFBox if it is used for core
> >> > functionality because it's under the LGPL license. Only optional
> >> > components/plug-ins may depend on LGPL libraries. But I think the
> normal
> >> > JAR Service Provider mechanism would already be good enough as a
> plug-in
> >> > framework:
> >> >
> >> >
> >>
> http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Service%20Provider
> >> > We use that extensively over in Apache XML Graphics land. I would
> >> > suggest to base the GUI on Java 6 where you have the service lookup
> >> > built in:
> >> > http://docs.oracle.com/javase/6/docs/api/java/util/ServiceLoader.html
> >> >
> >> > Swing with Nimbus generally sounds good to me.
> >> >
> >> > OTOH, an RCP application would actually offer the whole pluggability
> >> > (even at runtime) and an Eclipse-like workbench which would be great
> for
> >> > such an application. But it would also mean practically re-writing
> both
> >> > the PDF viewer (although the PDF painting via Java2D should still be
> >> > usable) and debugger functionality.
> >> >
> >> > Both Swing and RCP are non-trivial to learn. On the technical side I'd
> >> > probably favor RCP just a little bit, mostly because it's OSGi-based
> >> > (I'm biased there) even if the Eclipse world does ugly things to OSGi.
> >> > Furthermore, I know few good Swing applications but many good RCP
> >> > applications. Maybe that's an indicator. But I'd have to learn RCP
> >> > myself if I was to help out with this.
> >> >
> >> > Optional Content Groups (since PDF 1.5) are groups of objects (think
> >> > "layer") that can be enabled and disabled. I think that's advanced
> >> > functionality that the mainstream doesn't really need. But I'm also
> not
> >> > sure what Medhi means with transparency layers.
> >> >
> >> > On 29.03.2012 03:55:28 Tharaka Nayanajith Wijebandara wrote:
> >> > > Hi,
> >> > >
> >> > >
> >> > > Thanx mehdi, you have summarized all primary objective and we can
> >> > continue
> >> > > discussion based on it.
> >> > >
> >> > > For the GUI, I'm going to use Swing Framework and to modernize we
> can
> >> go
> >> > > for some available look and Feel such as nimbus. Is there any
> >> suggestion?
> >> > >
> >> > >
> >> > > I need some ideas about PDF object inspector and since it tool for
> >> > > developer all you can give some suggestions. In my opinion we can
> use
> >> > swing
> >> > > tree for this. User can right click on object and click ‘inspect’
> >> command
> >> > > in the menu, then it will show the object and it properties in the
> >> tree
> >> > and
> >> > > highlight object margin in the PDF view.
> >> > >
> >> > >
> >> > > Plugin frame is another feature to consider. We can use and adapt
> some
> >> > > available plugin frame for PDFReader rather than going for new our
> own
> >> > one.
> >> > > As per my understand Java Plug-in Framework (
> >> http://jpf.sourceforge.net/
> >> > )
> >> > > is good one we can use and it is XML based. Is there any apache
> >> framework
> >> > > for this? If I'm correct, maven project is based on plugin
> framework.
> >> > >
> >> > >
> >> > > Mehdi, I would like to add bookmark feature also in to primary
> >> objective
> >> > > list. It will allow user to view, add, edit and delete book marks.
> And
> >> > also
> >> > > I'm confused about what you mean by supporting optional content and
> >> > > transparency layers.
> >> > >
> >> > > On Mon, Mar 26, 2012 at 1:49 PM, mehdi houshmand <med1...@gmail.com
> >
> >> > wrote:
> >> > >
> >> > > > Hi Tharaka,
> >> > > >
> >> > > > Ok, well let's start with thinking about how this GUI is going to
> >> > look. In
> >> > > > its current form, it's looking a little dated, it might be worth
> >> using
> >> > some
> >> > > > of the GUI frameworks out there to spruce it up a little and
> making
> >> it
> >> > a
> >> > > > bit more modern. So if we get a list of TODOs (starting with
> >> Jeremias'
> >> > > > suggestions):
> >> > > >
> >> > > > - Investigate and design a proposal for upgrading the PDFReader
> GUI
> >> > (i.e.
> >> > > > modernizing it)
> >> > > > - Implement a PDF object inspector to display PDF object
> properties
> >> > when
> >> > > > objects are "clicked-on" in the viewer
> >> > > > - Implement a type-writer feature to add/remove text from a
> content
> >> > stream
> >> > > > from within the PDFViewer
> >> > > > - Design a plugin framework for the viewer
> >> > > >
> >> > > > Maybe those are a good list of primary objectives? We should think
> >> > about
> >> > > > some secondary objectives, like possibly supporting Optional
> Content
> >> > in the
> >> > > > view (not sure if it already is) and better handling of
> transparency
> >> > > > layers?
> >> > > >
> >> > > > Just some thoughts, let's keep this discussions fluid for now, we
> >> > haven't
> >> > > > actually got that long before we have to submit a proposal though.
> >> > > >
> >> > > > Mehdi
> >> > > >
> >> > > > On 22 March 2012 03:04, Tharaka Nayanajith Wijebandara <
> >> > > > tharaka...@gmail.com
> >> > > > > wrote:
> >> > > >
> >> > > > > Hi,
> >> > > > >
> >> > > > >
> >> > > > > Thanks everyone for your valuable ideas and comments.
> >> > > > >
> >> > > > >
> >> > > > > It seems most of you like to enhancing PDFReader project.
> >> Specially I
> >> > > > > prefer Jeremias' idea, develop application which allow user to
> >> access
> >> > > > > PDFBox features through the GUI and PDF viewer with integrated
> PDF
> >> > > > > Debugger. In my opinion it will be very much useful tool for
> >> users as
> >> > > > well
> >> > > > > as developers rather than just another PDF reader. So I would
> >> like to
> >> > > > > continue with this project. However, since there are several
> ways
> >> to
> >> > > > > enhance PDFReader, we have to define the scope of the project
> >> > according
> >> > > > to
> >> > > > > priority in next few days.
> >> > > > >
> >> > > > >
> >> > > > > Additionally I want to mention another thing here. As my
> >> experience
> >> > > > current
> >> > > > > PDFReader is also not very much reliable and not working
> >> smoothly. I
> >> > > > still
> >> > > > > can't understand that whether it is problem of code of PDFReader
> >> or
> >> > > > PDFBox
> >> > > > > core. Anyway I think that it's better if we can consider also
> this
> >> > in the
> >> > > > > project, if it's not some issue in PDFBox core.
> >> > > > >
> >> > > > > On Wed, Mar 21, 2012 at 10:26 PM, mehdi houshmand <
> >> med1...@gmail.com
> >> > >
> >> > > > > wrote:
> >> > > > >
> >> > > > > > Hi Tharaka,
> >> > > > > >
> >> > > > > > You have plenty of options here, the student application
> >> deadline
> >> > is on
> >> > > > > the
> >> > > > > > 6th April (see the calendar
> >> > > > > > http://www.google-melange.com/gsoc/events/google/gsoc2012),
> so
> >> > you've
> >> > > > > got
> >> > > > > > plenty of time.
> >> > > > > >
> >> > > > > > Let me and/or the community know if you have any questions
> about
> >> > the
> >> > > > > > projects. If you have an idea of which project you'd prefer,
> >> maybe
> >> > we
> >> > > > can
> >> > > > > > start drawing up some goals and a schedule and discuss with
> the
> >> > > > community
> >> > > > > > to get some feedback on which facets are a) interesting b)
> >> useful
> >> > or c)
> >> > > > > > both!
> >> > > > > >
> >> > > > > > Mehdi
> >> > > > > >
> >> > > > > > On 20 March 2012 15:58, Jeremias Maerki <
> d...@jeremias-maerki.ch
> >> >
> >> > > > wrote:
> >> > > > > >
> >> > > > > > > There are a number of HTML to XSL-FO converters. I've never
> >> > checked
> >> > > > how
> >> > > > > > > good the results are but ultimately a native HTML engine is
> >> > likely to
> >> > > > > > > produce better results especially since HTML was not really
> >> > designed
> >> > > > > for
> >> > > > > > > print and has to be retrofitted in CSS3. But again, this is
> a
> >> > large
> >> > > > > > > project and, IMO, out of scope for PDFBox.
> >> > > > > > >
> >> > > > > > > http://html2fo.sourceforge.net/
> >> > > > > > > http://denature.sourceforge.net/
> >> > > > > > > ...and probably others...
> >> > > > > > >
> >> > > > > > > On 20.03.2012 13:02:33 Dexter Mishra wrote:
> >> > > > > > > > I vote for a PDS editor kind of stuff.
> >> > > > > > > > Another thing regarding the HTML to PDS, cant it be done
> >> with
> >> > > > XSL-FO
> >> > > > > > > > feature?
> >> > > > > > > > Thanks
> >> > > > > > > >
> >> > > > > > > > On Tue, Mar 20, 2012 at 3:03 PM, Maruan Sahyoun <
> >> > > > > > sahy...@fileaffairs.de
> >> > > > > > > >wrote:
> >> > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > > <snip/>
> >> > > > > > > > > >
> >> > > > > > > > > >>
> >> > > > > > > > > >> Although I think that the current PDF Reader can be
> >> > enhanced
> >> > > > in
> >> > > > > > many
> >> > > > > > > > > ways
> >> > > > > > > > > >> there are already so many Readers out there as well
> as
> >> PDF
> >> > > > > support
> >> > > > > > > > > within
> >> > > > > > > > > >> web browsers my personal opinion is that enhancing
> >> PDFBox
> >> > core
> >> > > > > > > > > capabilities
> >> > > > > > > > > >> would be more beneficial.
> >> > > > > > > > > >>
> >> > > > > > > > > >> With kind regards
> >> > > > > > > > > >>
> >> > > > > > > > > >> Maruan Sahyoun
> >> > > > > > > > > >>
> >> > > > > > > > > >>
> >> > > > > > > > > > Check out Jeremias' suggestions of the viewer, it's
> less
> >> > of a
> >> > > > > > viewer
> >> > > > > > > and
> >> > > > > > > > > > more of a front-end for a lot of the tools PDFBox has
> to
> >> > > > offer, a
> >> > > > > > > PDFBox
> >> > > > > > > > > > GUI so to speak rather than a PDF viewer.
> >> > > > > > > > >
> >> > > > > > > > > I'd still look into enhancing PDFBox core as this will
> >> > benefit
> >> > > > most
> >> > > > > > > users.
> >> > > > > > > > > Looking at the bugs and issues most come from core
> >> > capabilities.
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > >
> >> > > > > > > Jeremias Maerki
> >> > > > > > >
> >> > > > > > >
> >> > > > > >
> >> > > > >
> >> > > > >
> >> > > > >
> >> > > > > --
> >> > > > > Thanks & Regards,
> >> > > > > Tharaka Wijebandara,
> >> > > > > Faculty of Information Technology,
> >> > > > > University of Moratuwa.
> >> > > > >
> >> > > >
> >> > >
> >> > >
> >> > >
> >> > > --
> >> > > Thanks & Regards,
> >> > > Tharaka Wijebandara,
> >> > > Faculty of Information Technology,
> >> > > University of Moratuwa.
> >> >
> >> >
> >> >
> >> >
> >> > Jeremias Maerki
> >> >
> >> >
> >>
> >
> >
> >
> > --
> > Thanks & Regards,
> > Tharaka Wijebandara,
> > Faculty of Information Technology,
> > University of Moratuwa.
> >
> >
>
>
> --
> Thanks & Regards,
> Tharaka Wijebandara,
> Faculty of Information Technology,
> University of Moratuwa.
>

Reply via email to