Compress static images in a PDF file

Completed Posted Oct 15, 2012 Paid on delivery
Completed Paid on delivery

We want to be able to open a PDF file, show images that are inside it, and give user the possibility to manipulate these images, in order to create a smaller PDF file.

When an application user selects an existing PDF file, application should show all images within PDF file (one image each time) and show image content and respective metadata.

User should be able to change image properties (type, compression, color encoding, color depth, ...). New images should be copied to a new PDF file, keeping same visual aspect, position and apparent dimensions. In "advanced / additional information" section, there is a high level algorithm.

The main goal is to reduce PDF file size, by compressing images that are inside PDF file.

In our company we use "Delphi XE 2 Architect", so project should be done using any one of available versions of "Delphi XE 2".

For image manipulation, should be used ImageEn library ([url removed, login to view]). Please download trial version to work in this project.

For PDF manipulation, should be used QuickPDFLibrary ([url removed, login to view]). Please download trial version to work in this project.

## Deliverables

A high level algorithm could be as below:

- User select an existing PDF file

- Application open PDF file and creates a new temporary PDF file (if old file is "[url removed, login to view]", new PDF file could be "[url removed, login to view]", in the same folder)

- Application copies contents page by page from old PDF file to the new PDF file, until find static images inside it (could exist more then one image in a single page...)

- Application shows image content (image by image) and respective image meta-data:

- type (JPG, BMP, PNG, TIFF, multipage TIFF, single frame GIF)

- image size in bytes (compressed and uncompressed)

- compression ratio, if applicable (ex: JPG)

- resolution

- image height

- image width

- color encoding (black and witch, gray scale, color)

- color depth (8 bits, 16 bits, 24 bits, 32 bits,...)

- User can then manipulate the image (with preview), by:

- Changing type

- Changing compression ratio (if applicable)

- Changing resolution

- Changing color encoding

- Changing color depth

- After each change, new compressed image size should be computed, in order to inform user the image size gain (in bytes and in percentage)

- The new changed image is copied to the new PDF file, in the same place, in order to new PDF to have the same general aspect of old PDF file.

- After transverse all pages and images, show general file size gain.

Notes:

- All others objects inside original PDF files (except images) should be simple copied from old PDF files to new PDF file.

- The new PDF file should be visually equal to old one, with all images keeping the same visual aspect, position and visual dimensions.

Software Architecture Windows Desktop

Project ID: #2671205

About the project

4 proposals Remote project Active Oct 30, 2012

Awarded to:

DebasisB

See private message.

$1200 USD in 20 days
(143 Reviews)
7.0

4 freelancers are bidding on average $1018 for this job

satvainfotech

See private message.

$1020 USD in 20 days
(11 Reviews)
5.0
su8z3r0

See private message.

$850 USD in 20 days
(3 Reviews)
3.3
aabsystechno

See private message.

$1000.45 USD in 20 days
(1 Review)
0.0