728x90 AdSpace

Wednesday, 28 June 2017

iText 5 - Create PDF table with multiple Images in table cell

To create PDF file we need iText 5 jar. Download iText Jars from iText Website or Maven Repository

Maven Dependency



	com.itextpdf
	itextpdf
	5.5.11

MultipleImagesInCell.java
package com.javatutorialcorner.itextpdf;

import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class MultipleImagesInCell {
 
	public static final String DEST = "C:/JTC/MultipleImagesInTable.pdf";
    public static final String IMG1 = "C:/JTC/brasil.png";
    public static final String IMG2 = "C:/JTC/dog.bmp";
    public static final String IMG3 = "C:/JTC/fox.bmp";
 
    public static void main(String[] args) throws IOException,
            DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new MultipleImagesInCell().createPdf(DEST);
    }
 
    public void createPdf(String dest) throws IOException, DocumentException {
        Image img1 = Image.getInstance(IMG1);
        Image img2 = Image.getInstance(IMG2);
        Image img3 = Image.getInstance(IMG3);
        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(dest));
        document.open();
        PdfPTable table = new PdfPTable(1);
        table.setWidthPercentage(50);
        table.addCell("Different images, one after the other vertically:");
        PdfPCell cell = new PdfPCell();
        cell.addElement(img1);
        cell.addElement(img2);
        cell.addElement(img3);
        table.addCell(cell);
        document.add(table);
        document.newPage();
        table = new PdfPTable(1);
        table.addCell("Different images, one after the other vertically, but scaled:");
        cell = new PdfPCell();
        img1.setWidthPercentage(20);
        cell.addElement(img1);
        img2.setWidthPercentage(20);
        cell.addElement(img2);
        img3.setWidthPercentage(20);
        cell.addElement(img3);
        table.addCell(cell);
        table.addCell("Different images, one after the other horizontally:");
        Paragraph p = new Paragraph();
        img1.scalePercent(30);
        p.add(new Chunk(img1, 0, 0, true));
        p.add(new Chunk(img2, 0, 0, true));
        p.add(new Chunk(img3, 0, 0, true));
        cell = new PdfPCell();
        cell.addElement(p);
        table.addCell(cell);
        table.addCell("Text and images (mixed):");
        p = new Paragraph("The quick brown ");
        p.add(new Chunk(img3, 0, 0, true));
        p.add(" jumps over the lazy ");
        p.add(new Chunk(img2, 0, 0, true));
        cell = new PdfPCell();
        cell.addElement(p);
        table.addCell(cell);
        document.add(table);
        document.close();
    }
}

Output
Reference : iText Website
Annamalai Thangaraj

Annamalai is working as Technical Lead in Leading Telecom company with 5+ years experience in Identity and Access Management , Telecom and Networks, BigData, Java, Spring, Struts, Hibernate, AngularJS, and Enterprise Web Application Development.

Website: Java Tutorials Corner

Shop and help us

Flipkart Offer Snapdeal offer Amazon.in offer Amazon.com offer
  • Blogger Comments
  • Facebook Comments
  • Disqus Comments

0 comments:

Post a Comment

Item Reviewed: iText 5 - Create PDF table with multiple Images in table cell Rating: 5 Reviewed By: Annamalai Thangaraj