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