I had manually modified that PDF just to see if it makes any difference.
If you want this kind of functionality, it has to be fixed in Java code
first. If you want to give this a try, the place to fix this is:
org.apache.fop.render.pdf.ImageRenderedAdapter.populateXObjectDictionary(PDFDictionary)
There, a check has to be implemented to see if all palette entries are
plain grayscale values (red, green and blue all the same) in which case
/DeviceGray can be specified instead of /DeviceRGB. And of course, the
palette entries need to be 8bit rather than 24bits then. I guess that
code could use some additional love for handling bitmaps which have
lookup tables in formats other than RGB (if that ever happens).

Otherwise, your option is to file a Bugzilla entry so this doesn't get
forgotten:
https://issues.apache.org/bugzilla/enter_bug.cgi?product=Fop

On 26.04.2010 22:12:37 Isidora wrote:
> Hi,
> 
> the program I used to obtain the info on the PDFs was ImageMagick-6.2.8
> and this is the command I used: "identify -verbose <image_name>"
> I did not see differences in the PDFs neither printing them nor on
> screen. I only saw the problem after sending it through the fax system
> these images are supposed to be sent.
> 
> The file you sent me looks OK after sending it through the fax system
> used to deliver this type of image. So, it solved the problem.  Is
> there any way I could make this change to the ColorSpace from the XSL-FO
> document?  If so, where could I find info to do this? I copied below
> the code snippet generating the FO output just in case you needed to see it.  
> 
> 
> THANK YOU!!!
> 
>  StringBuffer content = new StringBuffer("");
>        content.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
>        content.append("<fo:root font-family=\"Times Roman\" 
> font-size=\"20pt\" text-align=\"center\" 
> xmlns:fo=\"http://www.w3.org/1999/XSL/Format\";>\n");
>        content.append("  <fo:layout-master-set>\n");
>        content.append("    <fo:simple-page-master master-name=\"page\" 
> margin-top=\"60pt\" margin-bottom=\"40pt\" margin-left=\"20pt\" 
> margin-right=\"20pt\" page-width=\"8.5in\" page-height=\"11.0in\">\n");
>        content.append("      <fo:region-body 
> background-color=\"rgb(255,255,255)\" margin-left=\"10pt\" 
> margin-right=\"10pt\" margin-top=\"10pt\" margin-bottom=\"10pt\"/>\n");
>        content.append("    </fo:simple-page-master>\n");
>        content.append("  </fo:layout-master-set>\n");
>        content.append("  <fo:page-sequence master-reference=\"page\">\n");
>        content.append("    <fo:flow flow-name=\"xsl-region-body\">\n");
>        content.append("      <fo:block>\n");   
>        content.append("       <fo:external-graphic src=\"file:" + fname+ 
> "\"/>\n");
>        content.append("      </fo:block>\n");
>        content.append("    </fo:flow>\n");
>        content.append("  </fo:page-sequence>\n");
>        content.append("</fo:root>\n");
> 
> 
> ---------- Original Message ----------
> From: Jeremias Maerki <[email protected]>
> To: [email protected]
> Subject: Re: FOP 0.95 GIF=> PDF question
> Date: Mon, 26 Apr 2010 14:02:13 +0200
> 
> Thanks for the sample image. Let's see what we get:
> 
> FOP 0.20.5:
> 6 0 obj
> <</Type /XObject
> /Subtype /Image
> /Name /Im1
> /Length 49754
> /Width 630
> /Height 801
> /BitsPerComponent 8
> /ColorSpace /DeviceRGB
> /Filter [ /ASCII85Decode /FlateDecode ]
> >>
> 
> FOP 0.95:
> 10 0 obj
> <<
>   /Name /Im1
>   /Type /XObject
>   /Length 13 0 R
>   /Filter /FlateDecode
>   /Subtype /Image
>   /Width 630
>   /Height 801
>   /BitsPerComponent 1
>   /ColorSpace [/Indexed /DeviceRGB 1 <FFFFFF000000>]
> >>
> [..]
> 13 0 obj
> 18296
> endobj
> 
> 
> So, with FOP 0.20.5 the bi-level image got converted to 24bit RGB,
> whereas in FOP 0.95 the image remains 1-bit. The PDF from 0.95 is also
> half as big because of that.
> 
> Visually, I can't see a difference on screen and with two different PDF
> viewers.
> 
> I wonder why some program would report "colorspace:gray" for the 0.20.5
> PDF since it's actually using DeviceRGB. We could, in case of bi-level
> images, actually use DeviceGray instead of DeviceRGB but I don't think
> that would solve any problem, since the color lookup table is already
> clearly specifying black and white.
> 
> In the end, it's unclear to me what problem you're actually seeing. Is
> that seen only on a printed or faxed page or already on screen in
> Acrobat?
> 
> I've attached a manipulated PDF where I did the following change:
> From:
> /ColorSpace [/Indexed /DeviceRGB 1 <FFFFFF000000>]
> to:
> /ColorSpace [/Indexed /DeviceGray 1 <FF00>       ]
> 
> Can you check if that changes anything?
> 
> On 23.04.2010 21:42:14 Isidora wrote:
> > I attached one sample of the black and white GIF. Thanks
> > 
> > 
> > ---------- Original Message ----------
> > From: Jeremias Maerki <[email protected]>
> > To: [email protected]
> > Subject: Re: FOP 0.95 GIF=> PDF question
> > Date: Fri, 23 Apr 2010 15:51:19 +0200
> > 
> > Do you have a sample GIF file I could reproduce that with? Thanks.
> > 
> > On 20.04.2010 23:02:43 Isidora wrote:
> > > Hi,
> > > 
> > > I have used FOP-0.20.5 to convert B&W GIF images to PDF. The PDF images 
> > > are sent via fax afterwards.
> > > When tested FOP-0.95 I found out that the faxed PDF images had dotted 
> > > areas that were white on the versions of the same graphic obtained with 
> > > 0.20.5.
> > > I noticed colorspace:gray in the PDF obtained with FOP-0.20.5 while it is 
> > > RGB for the PDF obtained with FOP-0.95.
> > > 
> > > Could dotted areas noted in the faxed graphics be caused by this 
> > > differene in color space?
> > > If so, is there any way to create PDF with colorspace=gray using FOP-0.95?
> > > 
> > > Thanks
> > > 
> 
> 
> 
> Jeremias Maerki
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]




Jeremias Maerki


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to