**Requirements**
Develop a java based text extractor api for pdf documents. The most important requirement is performance. All code must be in java. An average 5MB pdf file must be parsed in an average of 5 seconds or less. The extracted text is to be used to building a search index so the resulting text need not be formatted at all. The UTF-8 , ISO-8859-1 (Latin-1) character sets must be supported. All pdf format versions existing to date must be supported. The solution must be "piped", i.e. the extractor must write to a pipe (both java reader and stream supported) as the text is being extracted.
**Suggested Approach** Most open soure solutions first parse the pdf document and store it internally. Then they use the internal representation to extract the text. For text extraction purposes an internal rep. is not needed so the two steps can be merged, which will result in greatere efficiency. Another way to improve performance might be to parse different chunks of the document asynchronously repeicing as results become available, although this will make things very complex.
## Deliverables
Rent A Coder requirements notice: As originally posted, this bid request does not have complete details. Should a dispute arise and this project go into arbitration "as is", the contract's vagueness might cause it to be interpreted against you, even though you were acting in good-faith. So for your protection, if you are interested in this project, please work-out and document the requirements onsite.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
java jdk1.4+