Here is what I came up with :
Note that I'm passing a TIFF document as byte[] and expecting a PDF document as 
byte[]

My question is: Is this correct? Can I remove the formatting stuff in there?

Thank you gurus for sharing your valuable and priceless insight! 

    public byte[] convert(byte[] documentByteArray) {
        
        Document document = new Document();
        try {
                ByteArrayOutputStream output = new ByteArrayOutputStream();
                PdfWriter writer = PdfWriter.getInstance(document, output);
                int pages = 0;
                document.open();
                PdfContentByte cb = writer.getDirectContent();
                RandomAccessFileOrArray ra = null;
                int comps = 0;
                try {
                    ra = new RandomAccessFileOrArray(documentByteArray);
                    comps = TiffImage.getNumberOfPages(ra);
                } catch (Throwable e) {
                    _log.error(e.getMessage());
                    return null;
                }
                for (int c = 0; c < comps; ++c) {
                    try {
                        Image img = TiffImage.getTiffImage(ra, c + 1);
                        if (img != null) {
                            System.out.println("page " + (c + 1));
                            if (img.getScaledWidth() > 500 || 
img.getScaledHeight() > 700) {
                                img.scaleToFit(500, 700);
                            }
                            img.setAbsolutePosition(20, 20);
                            //document.add(new Paragraph(tiff_file.getName() + 
" - page " + (c + 1)));
                            cb.addImage(img);
                            document.newPage();
                            ++pages;
                        }
                    }catch (Throwable e) {
                        _log.error(e.getMessage());
                        return null;
                    }
                }
            
                ra.close();
                document.close();
                byte[] result = output.toByteArray();
                return result;

            } catch (Throwable e) {
                _log.error(e.getMessage());
                return null;
            }
        }
 


Visit Me OnlineUse Internet Explorer..

> Date: Wed, 10 Oct 2007 15:01:04 -0700
> From: [EMAIL PROTECTED]
> To: itext-questions@lists.sourceforge.net
> Subject: Re: [iText-questions] Urgetn help needed with simple question!
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> bleuciel musicien wrote:
> > 
> > 
> > Very simple question:
> >
> > Input     byte[] of tiff image
> > Output    byte[] of PDF
> >
> >
> > Please tell EXACTLY which methods on which classes I have to call to
> > do this.
> 
> 
> Very simple answer: read the fine documentation :)
> 
> Complete answer with EXACT methods: ask for consulting rates...
> 
> Intermediate answer: here are some pointers to get you started, starting
> with the tutorial example and then the classes you'll need to look at to
> adapt the code.
> 
> Tiff example in the tutorial:
> 
> http://itextdocs.lowagie.com/tutorial/objects/images/tiff/index.php#top
> 
> TiffImage API:
> 
> http://itext.ugent.be/library/api/com/lowagie/text/pdf/codec/TiffImage.html
> 
> RandomAccessFileOrArray constructor for byte[] argument:
> 
> http://itext.ugent.be/library/api/com/lowagie/text/pdf/RandomAccessFileOrArray.html#RandomAccessFileOrArray(byte[])
> 
> ByteArrayOutputStream:
> 
> http://java.sun.com/j2se/1.5.0/docs/api/java/io/ByteArrayOutputStream.html
> 
> 
> With those links, you should be able to modify the tutorial example code
> to use a ByteArrayOutputStream for output, create a
> RandomAccessFileOrArray object from the byte input and use the TiffImage
> methods to create the pdf.
> 
> Short of writing the code/assignment myself, that's all I can provide
> for now...
> 
> 
> Xavier
> 
> 
> 
> > Please an accurate answer.
> > 
> > THANKS A LOT FOR YOUR HELP.
> > 
> > Niko.
> > 
> 
> 
> - --
> Xavier Le Vourch
> Brittany Software, Inc.
> <[EMAIL PROTECTED]>
> 
> PGP Key: http://brittanysoftware.com/gpg_key.asc
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (GNU/Linux)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iD8DBQFHDUudA3JYBYlsWUcRAonlAJ0RQZgp38JIna8SADRWu0M1FDy3wgCgpcdN
> xHcC3u8ApAo8ADCAtyFxDHY=
> =FLES
> -----END PGP SIGNATURE-----
> 
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems?  Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
> _______________________________________________
> iText-questions mailing list
> iText-questions@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/itext-questions
> Buy the iText book: http://itext.ugent.be/itext-in-action/

_________________________________________________________________
Help yourself to FREE treats served up daily at the Messenger Café. Stop by 
today.
http://www.cafemessenger.com/info/info_sweetstuff2.html?ocid=TXT_TAGLM_OctWLtagline
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
iText-questions mailing list
iText-questions@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/

Reply via email to