It can't be done in a reliable way without changing the library. I'll get back 
to you next week with some kind of solution.

Paulo 

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On 
> Behalf Of Petter Nyström
> Sent: Thursday, April 27, 2006 12:15 PM
> To: [email protected]
> Subject: RE: [iText-questions] Far cry for help with JPEG in PDF
> 
> On Mon, 17 Apr 2006, Paulo Soares wrote:
> 
> > You shouldn't be messing with PRStream. Create a new 
> PdfStream with the 
> > right filters to replace the old PRStream. Don't forget to 
> kill the old 
> > PRStream with PdfReader.killIndirect().
> 
> I have been pondering this and trying to do things the right 
> way as hinted 
> at by Paulo Soares, but I haven't managed to get it working 
> out. The code 
> I have that works (but requires a hack in the iText library 
> in its full 
> version) looks something like this in a very condensed form:
> 
>      void foo (PRStream image)
>      {
>          File file = new File("someimage.cmyk");
>          FileInputStream stream = new FileInputStream(file);
>          byte[] data = new byte[file.length()];
> 
>          stream.read(data, 0, file.length());
>          image.setData(data);
>      }
> 
> If I am not to mess with the PRStream but instead make a new 
> PdfStream, my 
> problem revolves around how to set up the new PdfStream in a 
> manner so it 
> has all the properties of the old one. I can copy the 
> PdfDictionary values 
> easily enough, but I also need to make sure it has the same 
> positions etc. 
> within the document. Since the one and only thing I wish to 
> do is really 
> to replace the stream data, the suggested solution seems like 
> a lot more 
> work to me. Work that I can't even get right at the moment. 
> But I still 
> want to do this "the right way" and absolutely don't want to 
> resort to 
> hacking the iText library. So I am interested in how to set 
> up this new 
> PdfStream object in such a way that it will completely 
> replace the old 
> one. Answers are appreciated, as usual.
> 
> Regards,
> 
> Petter Nyström
> 
> P.S. I see how a few same people answer dozens of questions 
> on this list 
> every day, and I would just like to say that your efforts are 
> noticed and 
> greatly appreciated! =) D.S.
> 
> >> -----Original Message-----
> >> From: [EMAIL PROTECTED]
> >> [mailto:[EMAIL PROTECTED] On
> >> Behalf Of Petter Nyström
> >> Sent: Monday, April 17, 2006 1:14 PM
> >> To: [email protected]
> >> Subject: Re: [iText-questions] Far cry for help with JPEG in PDF
> >>
> >> It seems my problem is indeed with that setData() uses some sort of
> >> compression filter on the data, which is not desirable when
> >> dealing with
> >> JPEG. I added a simple method setDataRaw() in
> >> com/lowagie/text/pdf/PRStream.java like this:
> >>
> >>      public void setDataRaw (byte[] data)
> >>      {
> >>          this.offset = -1;
> >>          bytes = data;
> >>          setLength(bytes.length);
> >>      }
> >>
> >> And calling this instead of setData() when dealing with 
> JPEG fixes my
> >> problem. What I am asking for now is, I guess, if there are
> >> any official
> >> way of achieving the same effect as I have with my method. (I
> >> see that
> >> this result is also achieved with setData() if the
> >> Document.compression
> >> field is false, but I'm not sure that is the correct way
> >> either.) Because
> >> I don't really want to make my own changes in the iText
> >> library since that
> >> makes upgrading so much more difficult in the future.
> >>
> >> Any word on this?
> >>
> >> Regards,
> >>
> >> Petter Nyström
> >>
> >> On Mon, 17 Apr 2006, Petter Nyström wrote:
> >>
> >>> Good evening list!
> >>>
> >>> This problem might not have anything to do with Itext as
> >> such. It's mostly a
> >>> cry out to see if anyone on this list have an idea for a
> >> solution to my
> >>> problem. I hope that is okay.
> >>>
> >>> My problem then, is this: I extract images from PDF
> >> documents using Itext.
> >>> Sometimes, this is a JPEG/JFIF image. (I treat any image
> >> with a DCTDecode
> >>> filter as a JPEG. Is that incorrect?) I then convert
> >> extracted images into
> >>> TIFF and perform some image processing before they are
> >> turned back into their
> >>> internal PDF format, e.g. JPEG or raw CMYK etc.. The image
> >> format conversions
> >>> are made with the ImageMagick API.
> >>>
> >>> I then proceed to replace the data of the images in the PDF
> >> with the data of
> >>> the images that has gone through conversion and image
> >> processing. For this I
> >>> use the setData() method in the PRStream object of the
> >> images I find in the
> >>> PDF, and a PdfStamper to write a new PDF.
> >>>
> >>> The unfortunate result is that JPEG images in the new PDF
> >> document appear
> >>> garbled, while other image formats I have been working with
> >> come through
> >>> fine.
> >>>
> >>> My premier theory to explain this is that the JPEG image
> >> generated by
> >>> ImageMagick is somehow not compatible with what is standard
> >> within the PDF.
> >>> So while ImageMagick can make sense out of a JPEG come from
> >> a PDF, a PDF
> >>> cannot make sense out of a JPEG come from ImageMagick.
> >>>
> >>> My secondary theory is that there could be some problem
> >> with how I do the
> >>> replacement. Should I have to apply some filters to the
> >> data before I call
> >>> the setData() method?
> >>>
> >>> Obviously I have tried a whole lineup of approaches but
> >> always with the same
> >>> dissapointing result. So this mail is a hope that someone
> >> out there has a
> >>> clue as to what might go wrong and what one might do to
> >> stop it from doing
> >>> so. If you have one such clue, please let me know of it!
> >>>
> >>> Regards,
> >>>
> >>> Petter Nyström
> >>>
> >>>
> >>> -------------------------------------------------------
> >>> This SF.Net email is sponsored by xPML, a groundbreaking
> >> scripting language
> >>> that extends applications into web and mobile media. Attend
> >> the live webcast
> >>> and join the prime developer group breaking into this new
> >> coding territory!
> >>>
> >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&;
> >> dat=121642
> >>> _______________________________________________
> >>> iText-questions mailing list
> >>> [email protected]
> >>> https://lists.sourceforge.net/lists/listinfo/itext-questions
> >>>
> >>
> >>
> >> -------------------------------------------------------
> >> This SF.Net email is sponsored by xPML, a groundbreaking
> >> scripting language
> >> that extends applications into web and mobile media. Attend
> >> the live webcast
> >> and join the prime developer group breaking into this new
> >> coding territory!
> >> http://sel.as-us.falkag.net/sel?cmd=k&kid0944&bid$1720&dat1642
> >> _______________________________________________
> >> iText-questions mailing list
> >> [email protected]
> >> https://lists.sourceforge.net/lists/listinfo/itext-questions
> >>
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by xPML, a groundbreaking 
> scripting language
> > that extends applications into web and mobile media. Attend 
> the live webcast
> > and join the prime developer group breaking into this new 
> coding territory!
> > 
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&;
> dat=121642
> > _______________________________________________
> > iText-questions mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/itext-questions
> >
> 
> 
> -------------------------------------------------------
> Using Tomcat but need to do more? Need to support web 
> services, security?
> Get stuff done quickly with pre-integrated technology to make 
> your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on 
> Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=k&kid0709&bid&3057&dat1642
> _______________________________________________
> iText-questions mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> 


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid0709&bid&3057&dat1642
_______________________________________________
iText-questions mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/itext-questions

Reply via email to