Closed

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

Overview

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, [url removed, login to view], Ruby, etc).

Skills: PDF

See more: web server development, web programming java pdf, web programming java, unique service web development, tool programming, ruby programming pdf, ruby programming language pdf, ruby programming language, programming ruby pdf, programming language ruby, programming ruby, programming java pdf, source programming, open source programming language, node programming language, node web development, node development, js for, java web development pdf, java server programming, java programming pdf, java programming language pdf, java programming web development, java open source programming, java language web development

About the Employer:
( 0 reviews ) Tallinn, Estonia

Project ID: #2586599

2 freelancers are bidding on average €205 for this job

deepeme

Could you kindly send a sample page with your required instruction and references. I have added my bid.thank you

€250 EUR in 21 days
(0 Reviews)
0.0
estliberitas

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)
0.0