This code snippet will guide you to how to Generate the PDF report
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.util.Date; import java.text.SimpleDateFormat; import java.util.HashMap; import java.util.Set; import java.util.ArrayList; import java.util.Map; import java.util.Iterator; import com.lowagie.text.BadElementException; import com.lowagie.text.Cell; import com.lowagie.text.Chunk; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.HeaderFooter; import com.lowagie.text.PageSize; import com.lowagie.text.Paragraph; import com.lowagie.text.Phrase; import com.lowagie.text.Rectangle; import com.lowagie.text.Section; import com.lowagie.text.Table; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfEncryptor; import com.lowagie.text.pdf.PdfPCell; import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.Image; import com.lowagie.text.pdf.codec.GifImage; import com.lowagie.text.pdf.RandomAccessFileOrArray; import com.lowagie.text.pdf.codec.TiffImage; import com.lowagie.text.pdf.codec.GifImage; import com.lowagie.text.Font; import com.lowagie.text.FontFactory; import java.awt.Color; import java.awt.Graphics; import com.lowagie.text.Image; public class Health { HashMap resultSet=null; ServerHealthCheck serverHealthStatus = new ServerHealthCheck(); public static String dateTime=""; boolean emailsend=false; Date date=new Date(); private boolean add; String filename; public static String fileNamev; Rectangle pageSize = new Rectangle(400,400); Document document = new Document (pageSize); public Health() throws IOException { try { SimpleDateFormat sdf = new SimpleDateFormat("dd_MMM_yy_HH_mm_ss"); //System.out.print(sdf); dateTime = sdf.format(date).toString(); // System.out.print(dateTime); filename = dateTime + ".pdf"; // System.out.print(filename); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("MorningHealthcheck/SUPPORT_ATT/" + filename)); } catch (FileNotFoundException e) { System.out.print("Filenot found"); } catch (DocumentException e) { System.out.print("Document not found"); } catch (Exception e) { e.printStackTrace(); } //System.out.println("Started creating PDF File " + filename); try { document.open(); document.addTitle("MDIS MorningHealthCheck"); document.addSubject("PDF Generated by the Automated Health Check"); document.addKeywords("MorningHealthCheck MDIS"); document.addCreator("MDISPSS"); document.addAuthor("Rajashekar D"); Image image = Image.getInstance("Images/MDIS.jpg"); image.setAlignment(Image.LEFT); image.scaleAbsoluteHeight(20); image.scaleAbsoluteWidth(2); image.scalePercent(60, 60); document.add(image); } catch (Exception e1) { System.out.print("EXception in Adding the Image"); } try { resultSet = serverHealthStatus.connect(); Set set = resultSet.entrySet(); Iterator iterator = set.iterator(); while (iterator.hasNext()) { Map.Entry map = (Map.Entry) iterator.next(); String key = (String) map.getKey(); document.add(new Paragraph("\n")); document.add(new Paragraph("THE BELOW ARE IN " + key, FontFactory.getFont(FontFactory.COURIER, 12, Font.BOLD, Color.GREEN))); HashMap val = (HashMap) map.getValue(); Set set1 = val.entrySet(); Iterator iterator1 = set1.iterator(); while (iterator1.hasNext()) { Map.Entry map1 = (Map.Entry) iterator1.next(); String Key = (String) map1.getKey(); document.add(new Paragraph("\n")); document.add(new Paragraph(Key, FontFactory.getFont( FontFactory.COURIER, 10, Font.BOLD, new Color(0, 0, 255)))); document.add(new Paragraph("\n")); ArrayList value = (ArrayList) map1.getValue(); Iterator ite = value.iterator(); while (ite.hasNext()) { String line = (String) ite.next(); Paragraph p = new Paragraph(line, FontFactory.getFont( FontFactory.COURIER, 7, Font.NORMAL, Color.WHITE)); PdfPTable table = new PdfPTable(1); PdfPCell cell = new PdfPCell(p); cell.setHorizontalAlignment(200); cell.setBackgroundColor(Color.darkGray); cell.setBorder(1); cell.setBorderColor(Color.white); cell.setColspan(2); table.addCell(cell); document.add(table); } } } emailsend = true; } catch (Exception e) { System.out.print("null value"); emailsend = false; }finally{ if(document!=null) document.close(); } try { PdfEncryptor.encrypt(new PdfReader( "MorningHealthcheck/SUPPORT_ATT/" + filename), new FileOutputStream("MorningHealthcheck/SUPPORT_ATT/2" + filename), true, "mdis", "", PdfWriter.ALLOW_PRINTING | PdfWriter.ALLOW_COPY); File tempFile = new File("MorningHealthcheck/SUPPORT_ATT/" + filename); tempFile.delete(); File tempFile2 = new File("MorningHealthcheck/SUPPORT_ATT/2"+ filename); tempFile2.renameTo(tempFile); // System.out.println("File " + filename+ " has been protected with the password"); fileNamev = filename; emailsend = true; } catch (DocumentException e) { //System.out.print("Document not found"); emailsend = false; } if (emailsend = true) { EmailSend send = new EmailSend(); } else { System.out.print("There is an problem and Exceptions in the Document Preparing"); } System.out.print("You are here exit from the sentrion mail handler"); } public static void main(String args []) throws IOException { Health a=new Health(); System.out.print("Your out of the box"); //System.exit(0); } }