To create PDF file we need iText 5 jar. Download iText Jars from iText Website or Maven Repository
RectangleInCell.java
Output
Reference : iText Website
Maven Dependency
com.itextpdf itextpdf 5.5.11
RectangleInCell.java
package com.javatutorialcorner.itextpdf;
import com.itextpdf.text.BaseColor;
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.PdfContentByte;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfTemplate;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class RectangleInCell {
public static final String DEST = "C:/JTC/RectangleInCell.pdf";
public static void main(String[] args) throws IOException,
DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new RectangleInCell().createPdf(DEST);
}
public void createPdf(String dest) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
document.add(new Paragraph("Option 1:"));
PdfPTable table = new PdfPTable(3);
table.addCell("A rectangle:");
PdfTemplate template = writer.getDirectContent().createTemplate(120, 80);
template.setColorFill(BaseColor.RED);
template.rectangle(0, 0, 120, 80);
template.fill();
writer.releaseTemplate(template);
table.addCell(Image.getInstance(template));
table.addCell("The rectangle is scaled to fit inside the cell, you see a padding.");
document.add(table);
document.add(new Paragraph("Option 2:"));
table = new PdfPTable(3);
table.addCell("A rectangle:");
PdfPCell cell = new PdfPCell(Image.getInstance(template));
table.addCell(cell);
table.addCell("The rectangle keeps its original size, but can overlap other cells in the same row.");
document.add(table);
document.add(new Paragraph("Option 3:"));
table = new PdfPTable(3);
table.addCell("A rectangle:");
cell = new PdfPCell(Image.getInstance(template), true);
table.addCell(cell);
table.addCell("The rectangle is scaled to fit inside the cell, no padding.");
document.add(table);
PdfContentByte cb = writer.getDirectContent();
cb.moveTo(228, 810);
cb.lineTo(338, 810);
cb.stroke();
document.close();
}
}
Output
Reference : iText Website




0 comments:
Post a Comment