Good morning folks:

This thought actually came up when I was using Enfocus PitStop plugin for
Acrobat. Enfocus had some nice feature which you can select an image
object and change the color space to some ICC Profile. I had a look at the
actual PDF data. It seems that PitStop simply add the colorspace into page
resources dictionary, ie. /ColorSpace <</CS0 [/ICCBased 4 0 R]>> and then
changed the image xobject colorspace dictionary entry to point to the ICC
Profile object in PDF document.

What I am not quite sure is whether PitStop do a reencoding of the image
data. I mean actually convert the image pixel colors according to the
Profile.

Assuming PitStop leaves the converting process to Acrobat Viewer.

This reminds me how iText can handle ICC Profile on Image objects.

        Image im = new Image(String fn);
        im.applyICC(String ICCfilename);

In the iText PDF engine, all we have to do is create a PdfICCBased object
which extends the PdfStream, insert that to page resource dictionary,
change the image colorspace dictionary to indirect reference to
PdfICCBased object.

It is pretty easy to find out how many components in ICC
Profile: java.awt.color.ICC_Profile(String
filename).getNumComponents(). That will be enough for PdfICCBased stream
object.

Of course these are all based on the assumption that actual image pixels
not changed.

Anyone can give me some idea how PitStop apply the ICC Profile to image
xobject in Acrobat? Paulo, Leaonard?


-- 
With regards

Phillip Pan
-----------



-------------------------------------------------------
In remembrance
www.osdn.com/911/
_______________________________________________
iText-questions mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to