This example demonstrate how to add an image into a cell in iText. One way to set image into cell’s content is by creating an instance of com.itextpdf.text.pdf.PdfPCell
and pass an image object (com.itextpdf.text.Image
) in the constructor parameter. The constructor also accept a boolean
value whether the image will be fitted into the cell or not.
package org.kodejava.itextpdf;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.util.Objects;
public class TableImageDemo {
public static void main(String[] args) {
Document doc = new Document();
try {
PdfWriter.getInstance(doc, new FileOutputStream("TableImage.pdf"));
doc.open();
// Creates a table
PdfPTable table = new PdfPTable(3);
PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1"));
// Creates an image and set it as cell's content
URL resource = TableImageDemo.class.getResource("/java.png");
Image image = Image.getInstance(Objects.requireNonNull(resource));
PdfPCell cell2 = new PdfPCell(image, false);
cell2.setPadding(10);
PdfPCell cell3 = new PdfPCell(new Phrase("Cell 3"));
// Add cells to table
table.addCell(cell1);
table.addCell(cell2);
table.addCell(cell3);
doc.add(table);
} catch (DocumentException | IOException e) {
e.printStackTrace();
} finally {
doc.close();
}
}
}
Maven Dependencies
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023