PdfPCell, Image und Chunk

MarDaiBre

Aktives Mitglied
Hallo,

ich möchte meiner PDF-Erstellung über iText 5.5.3 (funktioniert) einer Zelle ein Image hinzufügen. Im Netz habe ich dazu erfahren, dass man dies mit Chunks macht und diese dann der Zelle zuordnet. Leider funktioniert die Zuweisung von Images zu Chunks bei mir nicht, scheinbar aber bei allen anderen Beispielprogrammen im Netz. Hier mal mein Code:

Java:
if(tab.getModel().getValueAt(j, i) != null)
{
		ImageIcon ic = (ImageIcon) tab.getModel().getValueAt(j, i);
		java.awt.Image img = ic.getImage();
		    				    		
		Chunk chunk = new Chunk(img, 0, 0);	// FEHLER
		c1 = new PdfPCell(new Phrase(chunk));
		    				    				    		
		if(j%2 == 0)
		 c1.setBackgroundColor(new BaseColor(193, 207, 231));
		    		
		table.addCell(c1);
}

Angeblich gibt es den Constructor Chunk(Image, int, int) nicht, jedoch habe ich dies so mehrfach im Netz gefunden. Hat jemand ne Idee, wo das Problem beim Programm ist?

**** EDIT ****
Sorry, ist in der falschen Kategorie gelandet -_-
 
Zuletzt bearbeitet:

MarDaiBre

Aktives Mitglied
Hi,
danke für deinen Hinweis. Leider besteht das gleiche Problem auch mit float :-(

Java:
for(int i = 0; i < col; i++)
{		    	
		if(tab.getModel().getValueAt(j, i) != null)
		{
		 ImageIcon ic = (ImageIcon) tab.getModel().getValueAt(j, i);
		 java.awt.Image img = ic.getImage();
		    				    		
		 float x = 0;
		 float y = 0;
		    		
		 Chunk chunk = new Chunk(img, x, y, true);
		    		
		 c1 = new PdfPCell(new Phrase(chunk));
		    				    				    		
		 if(j%2 == 0)
		 c1.setBackgroundColor(new BaseColor(193, 207, 231));
		    		
		 table.addCell(c1);
		}
}

Nun heißt es: Constructor Chunk(Mage, float, float, boolean) is undefined.
 

MarDaiBre

Aktives Mitglied
GELÖST:

Chunk hat ein com.itext.Image erwartet, aber ich habe ein java.awt.Image geliefert. Habe das Image nun umgewandelt und nun geht es:

Java:
for(int i = 0; i < col; i++)
		    {		    	
		    	if(tab.getModel().getValueAt(j, i) != null)
		    	{
		    		ImageIcon ic = (ImageIcon) tab.getModel().getValueAt(j, i);
		    		java.awt.Image img = ic.getImage();
		    		
		    		Image img2 = Image.getInstance(img, Color.black);
		    		
		    		Chunk chunk = new Chunk(img2, 0, 0, true);
		    		
		    		c1 = new PdfPCell(new Phrase(chunk));
		    				    				    		
		    		if(j%2 == 0)
		    			c1.setBackgroundColor(new BaseColor(193, 207, 231));
		    		
		    		table.addCell(c1);
		    	}
		    }
 

Ähnliche Java Themen


Oben