HTTP-server for converting PDF to PDF/A-2


We need are a service that receives PDF files through HTTP request, converts the PDF file to PDF/A-2, validates the correctness of the created PDF/A-2 and then sends the converted PDF/A-2 file back to the caller of the request.

Detailed task breakdown

1. Authentication of clients by 2-legged Oauth 2 protocol. Obtaining of request and access tokens through url of type: https://server/oauth/authorize.

2. SSL termination can be done in web server (nginx, apache) or in the service itself.

3. PUT/POST https://server/convert/callback_url + (/error?)

a. This method takes url parameter for the callback function that must be called at the end of the conversion process.

b. Entire body of the request is treated as contents of the file, therefore providing a Content-Length header set to the size of the uploaded file is required so that the server can verify that it has received the entire file contents.

4. Conversion can be done via any open source third-party library. As of now, the best option might be to use Ghostscript. We do not specify how to run the library, ie, it is allowed to run any command line tool through command such as „exec“. However, it is required that multiple(hundreds+) of requests could be performed simultaneously.

5. Validation of the converted PDF file must be performed using a PDF/A-2 compatible validator, such as 3-Heights™ PDF Validator.

6. Error handling. If converter or validator indicates any critical errors, the service must call the callback url with error appended to it and send the human-readable error messages as request body in a JSON format {„error“: [message1, message2]}.

7. If conversion and validation succeed, the service must call the unique callback url and send back the converted file in a similar way as the file was originally sent to the service:

a. Set the Content-Length header to the length of the file

b. Send the converted file as a request body.

8. Environment. The service will be ideally run on a debian squeeze distribution. However, if there are significent arguments for using some other platform, it can be discussed and even Windows is not completely ruled out.

9. Programming language. We do not restrict how the service should be made. It is only required that no single conversion (of a badly malformed pdf) can take down entire service. This means the service must be reliable and secure, but any http server development software can be used (Java, Node.js, Ruby, etc).

Skills: PDF

See more: web server development, web programming in java pdf, web for programming java, web development with node.js, web 2.0 programming language, use of node.js, unique service web development, tool for programming, the ruby programming language pdf, the ruby programming language, the java programming language pdf, the c++ programming language pdf, the c programming language pdf, the best web programming language, ruby programming pdf, ruby programming language pdf, ruby programming language, programming ruby pdf, programming ruby 1.9 & 2.0, programming ruby, programming pdf, programming language ruby, programming language c++ pdf, programming in ruby, programming in java pdf

About the Employer:
( 0 reviews ) Tallinn, Estonia

Project ID: #2586599

2 freelancers are bidding on average €205 for this job


Could you kindly send a sample page with your required instruction and references. I have added my [url removed, login to view] you

€250 EUR in 21 days
(0 Reviews)

Hi, I have big experience in Node.js highload web-development. By your favor I will show you in two days working application. Update: look in private message, I have almost done app for you.

€160 EUR in 2 days
(0 Reviews)