Petr Slaby created PDFBOX-2971:
----------------------------------
Summary: CalGray white rendered as cyan
Key: PDFBOX-2971
URL: https://issues.apache.org/jira/browse/PDFBOX-2971
Project: PDFBox
Issue Type: Bug
Affects Versions: 2.0.0
Reporter: Petr Slaby
Priority: Minor
The attached PDF uses CalGray colors. When converted to a jpeg using
PdfToImage, there is a cyan rectangle visible. Acrobat shows the same rectangle
as white.
The PDF uses a CalGray having white point (0.9505, 1, 1.089). The color value
after applying gamma is 1.0, i.e. white was intended. The class PDCalGray
multiplies the value by the white point to get X, Y, Z and sends it to the java
built-in CIEXYZ profile to convert it into sRGB. I believe the problem is that
the white point of CIEXYZ in java is (0.9642, 1.0000, 0.8249) and we need to
adapt the white point before sending the values to it. There are several
methods to do that, but the easiest one is a simple scaling. In our case it
would meant to multiply the color value by the CIEXYZ white point instead of
the white point given in the CalGray.
I would not like to pretend that I am an expert in this area. I found the
information in the internet and in the java sources of ColorSpace and
ICC_ColorSpace and this is how I interpret it. An insight of someone who really
understands the color management stuff would be appreciated. But my main point
is that the result looks different compared to what is shown in Acrobat.
The PDF originally comes from a customer and contains text above the
rectangles. I have removed the texts.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]