# PdfPCell, Image und Chunk



## MarDaiBre (24. Okt 2014)

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:


```
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 -_-


----------



## MarDaiBre (26. Okt 2014)

Hallo,

das Problem ist leider immer noch bei mir vorhanden. Hat keiner eine Idee?


----------



## taro (26. Okt 2014)

Chunk (iText, a Free Java-PDF library 5.5.3 API)


> Chunk(Image image, float offsetX, float offsetY)
> Constructs a chunk containing an Image.




float statt int und es sollte klappen


----------



## MarDaiBre (26. Okt 2014)

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


```
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 (26. Okt 2014)

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:


```
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);
		    	}
		    }
```


----------

