Hi John,
I finished basic implementation of JNI wrapper for Tesseract. Now it can be
build using maven. Some useful methods that are needed to do basic OCR were
implemented.

I went through PDFBox code several times and got couple of issues that are
needed to be clarified

1. What is the task of processStream method in PDFTextStripper class line
456 : processStream( page.findResources(), content, page.findCropBox(),
page.findRotation() );

2. Say I need to extract images and it's metadata from a pdf. What is the
better approach to do it?

Thanks
Dimuthu


On Fri, Mar 7, 2014 at 9:26 PM, DImuthu Upeksha
<[email protected]>wrote:

> Hi John
> I refactored Tesseract JNI code to support maven build. To create the JNI
> library I added pre-built static libraries of Tesseract and Leptonica to
> resources folder[2]. For now it includes librararies supported for mac. But
> we can easily add both windows and linux libraries. After "mvn clean
> install", the jar is created under target folder. Now all setting up is
> done. What remains is implementing those native methods in tessbaseapi.cpp
> [3]. Hope to finish it asap. Please let me know if there is any concern
> about project structure.
>
> [1] https://github.com/DImuthuUpe/Tesseract-API.git
> [2]
> https://github.com/DImuthuUpe/Tesseract-API/tree/master/src/main/resources
> [3]
> https://github.com/DImuthuUpe/Tesseract-API/blob/master/src/main/native/src/tessbaseapi.cpp
>
> Thanks
> Dimuthu
>
>
> On Thu, Mar 6, 2014 at 1:15 AM, John Hewson <[email protected]> wrote:
>
>> Dimuthu
>>
>> > There is a lot of code
>> > fractions in current android jni wrapper which use "(jint)somePointer"
>> > casting which will create terrible memory leaks in 64 bit environments
>> > because ponters are 64 bit. So I believe writing it from the beginning
>> is
>> > much better.
>>
>> That's a classic 64-bit pitfall, well spotted. We definitely need to
>> support
>> 64-bit JVMs.
>>
>> > we can use
>> > the static library of Leptonica (I did and it worked nicely). I think
>> it is
>> > not a issue to use it's static library because both Tesseract and
>> Leptonica
>> > is under apache licence.
>>
>> Sounds good, I found the following in the README:
>>
>> Leptonica is required. (www.leptonica.com). Tesseract no longer compiles
>> without Leptonica.
>>
>> Which makes sense.
>>
>> -- John
>>
>> On 5 Mar 2014, at 09:45, DImuthu Upeksha <[email protected]>
>> wrote:
>>
>> > Hi John,
>> > +1 for you suggestion about converting image <=> byte array at java
>> side.
>> > It reduces lot of complexities. I don't know whether you have noticed or
>> > not, jint data type in jni is a 32bit integer type. I noticed it in my
>> Mac
>> > but don't know about other operating systems.
>> >
>> > Leptonica is the image processing library for Tesseract [1]. What
>> tesseract
>> > do is using image processing algorithms in Leptonica to implement its
>> OCR
>> > algorithms. This [2] is the responsible .cpp file to create Tesseract
>> API.
>> > You can see it includes allheaders.h header file which is the main
>> header
>> > file of Leptonoca. So I think it is a must to build Leptonica first and
>> > link it when we build Tesseract. This is not a big problem if we can use
>> > the static library of Leptonica (I did and it worked nicely). I think
>> it is
>> > not a issue to use it's static library because both Tesseract and
>> Leptonica
>> > is under apache licence.
>> >
>> > I'm working on the maven implementation you have mentioned and will get
>> > back to you soon.
>> >
>> > Thanks
>> > Dimuthu
>> >
>> >
>> > [1] https://code.google.com/p/tesseract-ocr/wiki/Compiling
>> > [2]
>> >
>> https://github.com/DImuthuUpe/Tesseract-API/blob/master/jni/tesseract/src/api/tesseractmain.cpp
>> >
>> >
>> > On Wed, Mar 5, 2014 at 1:15 AM, John Hewson <[email protected]> wrote:
>> >
>> >> Hi Dimuthu,
>> >>
>> >> 1,2,3:
>> >>
>> >> Feel free to write your own Tesseract binding or port the existing
>> code as
>> >> you see fit.
>> >> The JNI binding should be minimal, only the methods you require need
>> to be
>> >> wrapped.
>> >> Also, don't forget that some of the interop can be done in Java, for
>> >> example if it is easier
>> >> to convert a BufferedImage to a byte array in Java then do it there and
>> >> pass the result
>> >> to JNI rather than writing lots of JNI C++ to achieve the same result.
>> >>
>> >> Your GitHub repo looks like a good start, I can make comments there as
>> >> things progress.
>> >>
>> >> Is it possible to build Tesseract without leptonica? I was under the
>> >> impression that it was
>> >> used for image i/o only, but I may be misinformed.
>> >>
>> >> 4:  The native platform library should be built as part of the Maven
>> build
>> >> for the Tesseract
>> >> wrapper which can be a separate project. The output can be a jar file
>> >> which contains the
>> >> native binaries. It should be possible for the jar to contain prebuilt
>> >> binaries for all platforms
>> >> but this is something we can worry about later. Right now the goal
>> should
>> >> be to build a jar
>> >> containing just the current platform's native binary and any Java
>> wrapper
>> >> code.
>> >>
>> >> -- John
>> >>
>> >> On 3 Mar 2014, at 16:41, DImuthu Upeksha <[email protected]>
>> >> wrote:
>> >>
>> >>> Hi John,
>> >>>
>> >>> I tried to reuse that android jni wrapper for tesseract. Here is my
>> >>> observation
>> >>>
>> >>> 1. This wrapper heavily depends on android image libraries.
>> >>> (android/bitmap.h). Most of the wrapper methods [1] use this library.
>> >>>
>> >>> 2. But I can understand underlying logic in each function. Basically
>> what
>> >>> it does is mapping between tesseract api functions [2] with java
>> methods.
>> >>> In between it does to some image <=> byte array like conversions by
>> using
>> >>> that bitmap libraries in Android
>> >>>
>> >>> 3. There are two ways. 1: We can port it's code to make compatible
>> with
>> >> our
>> >>> environments(linux,windows and mac) which is really painful. Also it
>> will
>> >>> cause memory leaks. 2: We can use only it's function signatures and
>> >>> implement using our codes
>> >>>
>> >>> I think 2nd solution is better because we need only few operations to
>> be
>> >>> done using tesseract library. I have created a github repo [3] for
>> this.
>> >>> It's still not finished. I need to add some make files and build
>> files to
>> >>> make it run properly. And also I need to implement those wrapper
>> >> functions
>> >>> [3]. This may take some time.
>> >>>
>> >>> 4. Because we are calling native libraries we need different builds of
>> >>> tesseract and leptonica libraries for each platform (dll for windows,
>> so
>> >>> for linux, dylib for mac). So we may need to build those libraries at
>> the
>> >>> time we build pdfbox project. Or we can pre build those libraries and
>> add
>> >>> them to the project as .dll, .so or .dylib format. What is the
>> preferred
>> >>> way?
>> >>>
>> >>> [1]
>> >>>
>> >>
>> https://code.google.com/p/tesseract-android-tools/source/browse/tesseract-android-tools/jni/com_googlecode_tesseract_android/tessbaseapi.cpp
>> >>> [2] https://code.google.com/p/tesseract-ocr/wiki/APIExample
>> >>> [3] https://github.com/DImuthuUpe/Tesseract-API
>> >>> [4]
>> >>>
>> >>
>> https://github.com/DImuthuUpe/Tesseract-API/blob/master/jni/tesseract/tessbaseapi.cpp
>> >>>
>> >>> Thanks
>> >>> Dimuthu
>> >>>
>> >>>
>> >>> On Sat, Mar 1, 2014 at 11:39 PM, DImuthu Upeksha <
>> >> [email protected]
>> >>>> wrote:
>> >>>
>> >>>> I updated necessary changes to the document [1]
>> >>>>
>> >>>> For last two days I had a deep look at this [2] jni wrapper for
>> >> tessaract
>> >>>> api.
>> >>>> Unfortunately this has been designed for Android environment so I
>> think
>> >> we
>> >>>> need to write our own make files to build this in to a dll(windows)
>> or
>> >>>> dylib(in mac). Currently it has Android.mk files [3]. I'm searching
>> for
>> >> a
>> >>>> way to convert it to a make file that we can run on console. Please
>> >> suggest
>> >>>> if you have a better approach
>> >>>>
>> >>>> [1]
>> >>>>
>> >>
>> https://www.dropbox.com/s/9qclvq26divwr2q/Optical%20Character%20Recognition%20for%20PDFBox%20-%20updated.pdf
>> >>>> [2]
>> >>>>
>> >>
>> https://code.google.com/p/tesseract-android-tools/source/browse/tesseract-android-tools/jni/com_googlecode_tesseract_android/
>> >>>> [3]
>> >>>>
>> >>
>> https://code.google.com/p/tesseract-android-tools/source/browse/tesseract-android-tools/jni/com_googlecode_tesseract_android/Android.mk
>> >>>>
>> >>>>
>> >>>> On Sat, Mar 1, 2014 at 12:27 AM, John Hewson <[email protected]>
>> wrote:
>> >>>>
>> >>>>> This is a good start. However, there is no need for the Adder
>> >> component,
>> >>>>> "Extracted Text (OCR) can just feed back into the PDFBox "Text
>> >> Extractor".
>> >>>>>
>> >>>>> Maybe show a "PDF" file feeding in to "Text Extractor, to make it
>> clear
>> >>>>> where the process starts.
>> >>>>>
>> >>>>> -- John
>> >>>>>
>> >>>>> On 26 Feb 2014, at 16:53, DImuthu Upeksha <
>> [email protected]>
>> >>>>> wrote:
>> >>>>>
>> >>>>>> Sorry for the mistake. I added it to my Dropbox [1].
>> >>>>>>
>> >>>>>> [1]
>> >>>>>>
>> >>>>>
>> >>
>> https://www.dropbox.com/s/y3m15rfjmw4eqij/Optical%20Character%20Recognition%20for%20PDFBox.pdf
>> >>>>>>
>> >>>>>> Thanks
>> >>>>>> Dimuthu
>> >>>>>>
>> >>>>>>
>> >>>>>> On Thu, Feb 27, 2014 at 4:44 AM, John Hewson <[email protected]>
>> >> wrote:
>> >>>>>>
>> >>>>>>> I should add that the OCR engine should be pluggable so PDFToText
>> >> might
>> >>>>>>> use an interface, e.g. OCREngine and there will be a
>> >> TesseractOCREngine
>> >>>>>>> class somewhere which provides the required functionality and
>> lives
>> >> in
>> >>>>> a
>> >>>>>>> separate jar file.
>> >>>>>>>
>> >>>>>>> -- John
>> >>>>>>>
>> >>>>>>>> On 25 Feb 2014, at 20:18, Dimuthu <[email protected]>
>> >> wrote:
>> >>>>>>>>
>> >>>>>>>> So do you need to embed those new functionalities into existing
>> >>>>>>> PDFtoText algorithms or package them as a new sub system(something
>> >>>>> like an
>> >>>>>>> API)?
>> >>>>>>>>
>> >>>>>>>> -----Original Message-----
>> >>>>>>>> From: "John Hewson" <[email protected]>
>> >>>>>>>> Sent: 26/02/2014 07:38
>> >>>>>>>> To: "[email protected]" <[email protected]>
>> >>>>>>>> Subject: Re: [GSoC 2014]Optical Character Recognition project -
>> >>>>>>> Introduction
>> >>>>>>>>
>> >>>>>>>> Yes, exactly. By location data I just mean (x,y) coordinates and
>> >> page
>> >>>>>>> rotation.
>> >>>>>>>>
>> >>>>>>>> There is another use case for OCR: some fonts embedded in PDFs
>> have
>> >>>>>>> corrupt encodings, which means the ACSII codes map to the wrong
>> >>>>> glyphs. We
>> >>>>>>> could OCR the glyphs to repair the encoding.
>> >>>>>>>>
>> >>>>>>>> -- John
>> >>>>>>>>
>> >>>>>>>>> On 25 Feb 2014, at 17:13, DImuthu Upeksha <
>> >>>>> [email protected]>
>> >>>>>>> wrote:
>> >>>>>>>>>
>> >>>>>>>>> Hi John,
>> >>>>>>>>> Thanks for the explanation.
>> >>>>>>>>> Let's say there is a pdf with both text in extractable format
>> and
>> >>>>> some
>> >>>>>>>>> images with text(Scanned images). In that case first we extract
>> >> those
>> >>>>>>>>> extractable content using PDFBox algorithms and rest is
>> extracted
>> >>>>> using
>> >>>>>>>>> OCR. Finally we pack both results together and give output as
>> >>>>>>> PDFToText. Am
>> >>>>>>>>> I correct? What do you mean by "location data"?
>> >>>>>>>>>
>> >>>>>>>>> Thanks
>> >>>>>>>>> Dimuthu
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>>> On Tue, Feb 25, 2014 at 11:22 PM, John Hewson <
>> [email protected]>
>> >>>>>>> wrote:
>> >>>>>>>>>>
>> >>>>>>>>>> 1. What is called "glyphs" ?
>> >>>>>>>>>>
>> >>>>>>>>>> http://en.wikipedia.org/wiki/Glyph
>> >>>>>>>>>>
>> >>>>>>>>>>> 2. What is the main requirement of this project?
>> >>>>>>>>>>> As far as I understood, first we need to generate an image of
>> >>>>>>>>>>> malformed pdfs from
>> >>>>>>>>>>> PDFBox and then we need to do processing using OCR for further
>> >>>>>>> accurate
>> >>>>>>>>>>> results.  But the problem is, why shouldn't we directly do
>> OCR on
>> >>>>>>> those
>> >>>>>>>>>>> PDFs without getting output from PDFBox? Correct me if I'm
>> wrong.
>> >>>>>>>>>>
>> >>>>>>>>>> PDFBox can generate images (PDFToImage) and can extract text
>> >>>>>>> (PDFToText).
>> >>>>>>>>>> The goal of
>> >>>>>>>>>> this project is to enhance PDFToText so that it can use OCR to
>> >>>>> extract
>> >>>>>>>>>> text from areas of the
>> >>>>>>>>>> document where the text is embedded as an image. Such PDF files
>> >> are
>> >>>>>>>>>> typically generated by
>> >>>>>>>>>> scanners or fax machines. There is also another case where OCR
>> is
>> >>>>>>> useful:
>> >>>>>>>>>> some fonts embedded
>> >>>>>>>>>> in PDF files contain the wrong encoding, so when text is
>> extracted
>> >>>>> with
>> >>>>>>>>>> PDFToText the result is
>> >>>>>>>>>> nonsense but when drawn with PDFToImage we see the correct
>> >> letters.
>> >>>>>>>>>>
>> >>>>>>>>>> Instead of:
>> >>>>>>>>>> PDF => Image => OCR => Text
>> >>>>>>>>>>
>> >>>>>>>>>> We want to do:
>> >>>>>>>>>> PDF => (Many images for words + location data => OCR) => Text
>> >>>>>>>>>>
>> >>>>>>>>>> -- John
>> >>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> On Tue, Feb 25, 2014 at 1:35 PM, DImuthu Upeksha <
>> >>>>>>>>>> [email protected]
>> >>>>>>>>>>>> wrote:
>> >>>>>>>>>>>
>> >>>>>>>>>>>> Ok fixed. This is what I did
>> >>>>>>>>>>>> Right click on the new project ->Debug As-> Debug
>> Configurations
>> >>>>>>>>>> ->Source
>> >>>>>>>>>>>> ->Add -> Project
>> >>>>>>>>>>>> Then I selected PDFBox project.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> Thanks
>> >>>>>>>>>>>> Dimuthu
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> On Tue, Feb 25, 2014 at 1:17 PM, DImuthu Upeksha <
>> >>>>>>>>>>>> [email protected]> wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> I'm using eclipse. This is what I want. I created a new Java
>> >>>>>>>>>> application
>> >>>>>>>>>>>>> project (say TestPDFBox) with a main class with following
>> code.
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> PDDocument document = new PDDocument();PDPage blankPage =
>> new
>> >>>>>>>>>> PDPage();document.addPage( blankPage
>> >>>>>>>>>> );document.save("BlankPage.pdf");document.close();
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> Then I need to add those jar files generated in target
>> folder
>> >> of
>> >>>>>>> PDFBox
>> >>>>>>>>>>>>> to build path of my new project (I did build the PDFBox
>> project
>> >>>>> from
>> >>>>>>>>>>>>> source). That is what I did. But let's say I need to check
>>  the
>> >>>>>>>>>>>>> functionality of document.save("") method. But I don't have
>> a
>> >>>>>>>>>> reference to
>> >>>>>>>>>>>>> it's sources because I directly used generated jars. As
>> Tilman
>> >>>>> said
>> >>>>>>> I
>> >>>>>>>>>> built
>> >>>>>>>>>>>>> PDFBox from sources but I don't know a proper way to use it
>> >> other
>> >>>>>>>>>> projects
>> >>>>>>>>>>>>> other than adding those jar files to build path.
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> On Tue, Feb 25, 2014 at 1:03 PM, John Hewson <
>> >> [email protected]>
>> >>>>>>>>>> wrote:
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>> Which IDE are you using? You should be able to run the
>> >> PDFToText
>> >>>>>>> class
>> >>>>>>>>>>>>>> (in pdfbox-tools) using your IDE and pass a PDF file path
>> as
>> >> the
>> >>>>>>>>>> command
>> >>>>>>>>>>>>>> line argument.
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> -- John
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> On 24 Feb 2014, at 22:38, DImuthu Upeksha <
>> >>>>>>>>>> [email protected]>
>> >>>>>>>>>>>>>> wrote:
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Hi John,
>> >>>>>>>>>>>>>>> Thanks for the reply. Yes I checked out PDFBox code and
>> >>>>> managed to
>> >>>>>>>>>>>>>> build
>> >>>>>>>>>>>>>>> code successfully. I looked at the classes you mentioned
>> and
>> >> I
>> >>>>>>> got a
>> >>>>>>>>>>>>>> rough
>> >>>>>>>>>>>>>>> idea about how they are working. To check them I used the
>> >> jars
>> >>>>> in
>> >>>>>>>>>>>>>> target
>> >>>>>>>>>>>>>>> folder to my separate java project. I tried samples in
>> >>>>>>>>>>>>>>> http://pdfbox.apache.org/cookbook/. I need to further
>> look
>> >>>>> into
>> >>>>>>> code
>> >>>>>>>>>>>>>>> specially how those processXXX() methods work in
>> >>>>> PDFTextStripper
>> >>>>>>>>>> class.
>> >>>>>>>>>>>>>>> What I usually do is adding some berakpoints and checking
>> >> them
>> >>>>> in
>> >>>>>>>>>> debug
>> >>>>>>>>>>>>>>> windows. But using jars it's not possible. What is the way
>> >> you
>> >>>>>>> follow
>> >>>>>>>>>>>>>> in
>> >>>>>>>>>>>>>>> order to do such task?
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> As well I installed tesseract in to my machine and
>> managed to
>> >>>>> do
>> >>>>>>> some
>> >>>>>>>>>>>>>> OCR
>> >>>>>>>>>>>>>>> stuff also. That's a cool tool which works fine.
>> >>>>>>>>>>>>>>> I'm still learning the code. If I get any issue I'll drop
>> >> you a
>> >>>>>>> mail.
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> Thanks
>> >>>>>>>>>>>>>>> Dimuthu
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> On Tue, Feb 25, 2014 at 12:33 AM, John Hewson <
>> >>>>> [email protected]
>> >>>>>>>>
>> >>>>>>>>>>>>>> wrote:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Hi Dimuthu
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> The PDFBox website can be found at
>> >> http://pdfbox.apache.org/it
>> >>>>>>>>>>>>>> contains
>> >>>>>>>>>>>>>>>> a basic overview of the project
>> >>>>>>>>>>>>>>>> and details on how to obtain the source code and build
>> >> PDFBox
>> >>>>> for
>> >>>>>>>>>>>>>> yourself.
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Currently we do not perform any OCR and PDFBOX-1912
>> details
>> >>>>> the
>> >>>>>>> only
>> >>>>>>>>>>>>>>>> thoughts so far regarding it.
>> >>>>>>>>>>>>>>>> Note that the OCR libraries mentioned in the JIRA issue
>> are
>> >>>>> all
>> >>>>>>>>>> under
>> >>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>>> Apache license, which is a
>> >>>>>>>>>>>>>>>> requirement.
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Once you have the source code, take a look at the
>> PageDrawer
>> >>>>>>> class
>> >>>>>>>>>> to
>> >>>>>>>>>>>>>> see
>> >>>>>>>>>>>>>>>> how text and images are
>> >>>>>>>>>>>>>>>> rendered. We want someone to interface at a low-level
>> (e.g.
>> >>>>> one
>> >>>>>>>>>> glyph,
>> >>>>>>>>>>>>>>>> word, or sentence at a time) with
>> >>>>>>>>>>>>>>>> an OCR engine. Also look at PDFTextStripper which is how
>> >> text
>> >>>>> is
>> >>>>>>>>>>>>>> currently
>> >>>>>>>>>>>>>>>> extracted, take a look at how
>> >>>>>>>>>>>>>>>> we have to go to great length to sort text back into
>> reading
>> >>>>>>> order
>> >>>>>>>>>> and
>> >>>>>>>>>>>>>>>> infer the placement of diacritics - PDF
>> >>>>>>>>>>>>>>>> is fundamentally a visual format, not a structured format
>> >> like
>> >>>>>>> HTML
>> >>>>>>>>>> -
>> >>>>>>>>>>>>>>>> which is why extracting text can be so
>> >>>>>>>>>>>>>>>> difficult sometimes.
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> The full PDF Reference document can be found at:
>> >>>>>>>>>>
>> >>>>>>>
>> >>>>>
>> >>
>> http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/pdf/pdfs/PDF32000_2008.pdf
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Feel free to discuss specifics of your proposal or ask
>> any
>> >>>>>>>>>> questions.
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> Thanks,
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> -- John
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> On 23 Feb 2014, at 21:13, DImuthu Upeksha <
>> >>>>>>>>>> [email protected]
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> wrote:
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> Hi,
>> >>>>>>>>>>>>>>>>> I am Dimuthu Upeksha, a Computer Engineering
>> Undergraduate
>> >> at
>> >>>>>>>>>>>>>> University
>> >>>>>>>>>>>>>>>> of Moratuwa Sri Lanka. I successfully completed my GSoC
>> 2013
>> >>>>> with
>> >>>>>>>>>>>>>> Apache
>> >>>>>>>>>>>>>>>> ISIS [1] project. I'm very much interested in OCR and
>> image
>> >>>>>>>>>> processing
>> >>>>>>>>>>>>>>>> stuff. So I would like to select this project idea as my
>> >> GSoC
>> >>>>>>> 2014
>> >>>>>>>>>>>>>> project
>> >>>>>>>>>>>>>>>> because I feel like it is the best suited project for
>> me. In
>> >>>>>>>>>>>>>> university
>> >>>>>>>>>>>>>>>> also we have done some research in OCR area and our group
>> >>>>> wrote a
>> >>>>>>>>>>>>>>>> literature review about increasing efficiency of OCR
>> >>>>>>>>>>>>>> systems(attached). Can
>> >>>>>>>>>>>>>>>> you please suggest me where to start learning about
>> PDFBox?
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> [1]
>> >>>>>>>>>>
>> >>>>>>>
>> >>>>>
>> >>
>> http://google-opensource.blogspot.com/2013/10/google-summer-of-code-veteran-orgs.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+GoogleOpenSourceBlog+%28Google+Open+Source+Blog%29
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> Thank you
>> >>>>>>>>>>>>>>>>> Dimuthu
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> --
>> >>>>>>>>>>>>>>>>> Regards
>> >>>>>>>>>>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>>>>>>>>>> Undergraduate
>> >>>>>>>>>>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> --
>> >>>>>>>>>>>>>>> Regards
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>>>>>>>> Undergraduate
>> >>>>>>>>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> --
>> >>>>>>>>>>>>> Regards
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>>>>>> Undergraduate
>> >>>>>>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> --
>> >>>>>>>>>>>> Regards
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>>>>> Undergraduate
>> >>>>>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> --
>> >>>>>>>>>>> Regards
>> >>>>>>>>>>>
>> >>>>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>>>> Undergraduate
>> >>>>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>>>
>> >>>>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> --
>> >>>>>>>>> Regards
>> >>>>>>>>>
>> >>>>>>>>> W.Dimuthu Upeksha
>> >>>>>>>>> Undergraduate
>> >>>>>>>>> Department of Computer Science And Engineering
>> >>>>>>>>>
>> >>>>>>>>> University of Moratuwa, Sri Lanka
>> >>>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> --
>> >>>>>> Regards
>> >>>>>>
>> >>>>>> W.Dimuthu Upeksha
>> >>>>>> Undergraduate
>> >>>>>> Department of Computer Science And Engineering
>> >>>>>>
>> >>>>>> University of Moratuwa, Sri Lanka
>> >>>>>
>> >>>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> Regards
>> >>>>
>> >>>> W.Dimuthu Upeksha
>> >>>> Undergraduate
>> >>>> Department of Computer Science And Engineering
>> >>>>
>> >>>> University of Moratuwa, Sri Lanka
>> >>>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Regards
>> >>>
>> >>> W.Dimuthu Upeksha
>> >>> Undergraduate
>> >>> Department of Computer Science And Engineering
>> >>>
>> >>> University of Moratuwa, Sri Lanka
>> >>
>> >>
>> >
>> >
>> > --
>> > Regards
>> >
>> > W.Dimuthu Upeksha
>> > Undergraduate
>> > Department of Computer Science And Engineering
>> >
>> > University of Moratuwa, Sri Lanka
>>
>>
>
>
> --
> Regards
>
> W.Dimuthu Upeksha
> Undergraduate
> Department of Computer Science And Engineering
>
> University of Moratuwa, Sri Lanka
>



-- 
Regards

W.Dimuthu Upeksha
Undergraduate
Department of Computer Science And Engineering

University of Moratuwa, Sri Lanka

Reply via email to