By Date: <-- -->
By Thread: <-- -->

loading images



Hi

Thanks for replying back. Sorry if I am making it confusing, I thought I was
very explicit.

We have all the images in our webapps (I was UI for this in my last
e-mails). The webapps are deployed as independent war files. Our iText PDF
report code(the middle tier) is in jar files (deployed separately). The
webapps (or UI code) calls the middle tier iText code (in jar file) passing
all necessary information. As I stated before with previous approach we have
to load images in our Jar file and use classloader to load them for iText
code.

The reason that solution is undesirable, because we have some 50 customers,
and we don't want to package 50 images in webapp and the same 50 images in
jar file. We rather have them reside in webapp (in war file), and have it
load the appropriate customer image, and pass that image to iText code one
customer at a time.

That's why I asked the question that if there was a call like
Image.getInstance(File fileObject) that takes an image file as parameter
(that we pass from webapp to jared code), we can achieve this  ..

It looks like from Paul and Bruno e-mail that there isn't any api. The
alternatives are to load the image in webapp:

 as Java.awt.Image and pass this Image object to itext jarred code as param.

OR
Load the image in a byte[] array and pass the byte array to
Image.getInstance(byte[]).

After looking at JAVA API DOCS it does not look like that pretty -- as Image
is an abstract class - I was able to do the following:

public java.awt.Image loadImage(String fileName) 
	throws IOException {
		Toolkit toolkit = Toolkit.getDefaultToolkit();
		return toolkit.getImage(fileName);
	}

And calling this as: 
        com.logie.text.Image myGif=
Image.getInstance(loadImage("./webapp/finium/shared/images/vblogowhite.gif",
null);
        document.add(myGif);


Am I clear and if this is what you're suggesting?

Thanks
Arif


-----Original Message-----
From: itext-questions-bounces (at) lists.sourceforge.net
[mailto:itext-questions-bounces (at) lists.sourceforge.net] On Behalf Of Bruno
Lowagie
Sent: Saturday, February 03, 2007 4:58 AM
To: Post all your questions about iText here
Subject: Re: [iText-questions] loading images

Arif Abbasi wrote:
> The problem with the above approach is that we have to package those 
> images in our jar file, which is not desirable.

OK, I thought this was your original requirement,
the fact that you are now saying this in not desirable
confused me.

> We want to avoid this 
> (exploded is not an option either).

The word 'exploded' also confuses me. What does it mean?

> Since number and type of images can change depending upon reports and 
> customers, we want to load images in UI

In UI? Do you mean User Interface?
How do I have to interpret this?
Are you showing the images in an AWT or Swing object?

> and pass to iText code (in jar) 
> file as a File object as a parameter - like a file object and then 
> create image out of it.

The iText Image object can deal with images in all
kinds of forms, including java.awt.Image and byte[].

> This would have advantage of not jarring the images in the jar file 
> (they could reside in their place in webapps)

In their place in webapps is very vague.
I have no idea what you mean by this.
Are we still talking about undesired jars?

> as well as allowing users 
> to load different images for different stuff.

How would they do that? With a FileSelector object?
You are not being clear at all.

> I looked at iText api for 
> images and there is no method like:
> Image.getInstance (File file).

I don't think your understanding of class java.io.File is correct.

> A method like Image.getInstance (File fileObject) could prevent all the 
> above, since UI will load image as file and pass to back-end code the
file.

I think you are basing your conclusion on wrong assumptions.

> The back-end iText code can either do
> 
> Image img = Image.getInstance(File file) and do
> 
> Document.add(img)
> 
> There is Image.getInstance(String filename) and Image.getInstance(URL 
> url) in API, but they would require class loader to load the images as 
> well as packaging them in the jar file
> 
> We want to load the images as file from UI and pass to back-end as file 
> object and then want to use something like
> 
> Image.getInstance (File file) to create images.
> 
> Kindly tell me if its possible and if there is a sample?

I agree with Paulo. Your question isn't going anywhere.
You have me all confused; probably because I fail to
what this has to do with iText and because you have
some serious misconceptions about webapps.
br,
Bruno

-------------------------------------------------------------------------
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&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions (at) lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/


-------------------------------------------------------------------------
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&kid=120709&bid=263057&dat=121642
_______________________________________________
iText-questions mailing list
iText-questions (at) lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/itext-questions
Buy the iText book: http://itext.ugent.be/itext-in-action/