We'd like to have a command-line program to capture screenshots of various websites, including ones containing Flash contents. The program needs to run on a 64-bit Cent OS 5 machine with no physical monitor (only Xvfb is available.)
## Deliverables
2. Overview
2-1. Purpose
We'd like to have a simple program that can quickly capture screenshots, including Flash contents.
2-2. Overview
Given a URL and a file path, the program needs to take a screenshot of the provided URL and save an image file at the file path. The size of the screenshot has to be 1024 x 768.
For example, from the command line the program needs to be executed as:
$ program_name "[login to view URL]" "./files/full/[login to view URL]"
The URL and file path may contain URL-encoded characters such as %82%A0.
2-2-1. Programming Language
There is no restriction for which programming language to use (although we prefer PHP).
2-2-2. Execution Speed
The program needs to generate a screenshot image file within a few seconds.
When the Website contains a Flash content it may take longer.
The program should exit as soon as generating the image file successfully.
2-2-3. Image Format
The program needs to save an image file in PNG.
2-2-4. Character Encoding
The program needs to render Websites in any character encoding supported by common Web browsers.
2-2-4. Error Handling
When a screenshot cannot be taken, the program should terminate without generating an image file. The timeout should occur after 60 seconds.
2-2-5. Configuration
The image size and the timeout need to be configurable either by 1) by command line options or 2) by specifying in the source code, configuration file, etc.
?
2-3. System Requirement
The program needs to run at least on the following environment.
RAM: 256MB
OS: CentOS 5.8 (64-bit)
PHP: 5.2.17
3. Deliverable and Schedule
The program, source code, and the instructions for installation should be turned in.
The copyright holder of the program will be 4plus Inc.
Please propose the shortest possible delivery period.
The project is considered completed when the program is correctly installed / configured on our server.