List of usage examples for com.itextpdf.text.pdf PdfPCell setBorder
public void setBorder(final int border)
From source file:generatepayslipbyaccz.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// w w w . java2s .c o m * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException { // setting the content type response.setContentType("application/pdf"); try { HttpSession session = request.getSession(); if (session.getAttribute("username") != null) { // Get the text that will be added to the PDF String month = request.getParameter("month"); String year = request.getParameter("year"); String id = request.getParameter("empid"); // System.out.println(id); // String text = request.getParameter("text"); // if (text == null || text.trim().length() == 0) { // text = "You didn't enter any text."; // } //String id="Ultimate01"; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll123", "root", ""); PreparedStatement ps = con.prepareStatement("SELECT * from employee where id=?"); ps.setString(1, id); // ps.setString(2, pass); PreparedStatement ps1 = con .prepareStatement("SELECT * from payslip where employeeid=? and month=? and year=?"); ps1.setString(1, id); ps1.setString(2, month); ps1.setString(3, year); PreparedStatement ps2 = con .prepareStatement("SELECT * from `leave` where employeeid=? and month=? and year=?"); ps2.setString(1, id); ps2.setString(2, month); ps2.setString(3, year); ResultSet rs2 = ps2.executeQuery(); rs2.next(); ResultSet rs = ps.executeQuery(); rs.next(); ResultSet rs1 = ps1.executeQuery(); if (rs1.next() == false) { response.sendRedirect("generatepayslipbyaccz.jsp?id=Payslip of " + month + "/" + year + " is not generated OR Record of this Payslip is not available in our Database"); } // step 1 //System.out.println("sssssssssssssssssss"); Document document = new Document(); // step 2 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); Font font0 = new Font(Font.FontFamily.TIMES_ROMAN, 11); Font font1 = new Font(Font.FontFamily.HELVETICA, 11, Font.BOLD); Font font2 = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD); Font font3 = new Font(Font.FontFamily.HELVETICA, 9, Font.BOLD); Font font4 = new Font(Font.FontFamily.HELVETICA, 10); Font font5 = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD); Font font6 = new Font(Font.FontFamily.HELVETICA, 12); //font1.setColor(BaseColor.WHITE); BaseColor myColor = WebColors.getRGBColor("#F78181"); BaseColor myColor1 = WebColors.getRGBColor("#FAFAFA"); //step 3 document.open(); // step 3.5 PdfPTable table1 = new PdfPTable(3); // 1 columns. PdfPCell cell00 = new PdfPCell(new Paragraph("Payslip\nFEB-2015", font2)); cell00.setBorder(PdfPCell.NO_BORDER); cell00.setPaddingTop(18); PdfPCell cell01 = new PdfPCell(new Paragraph("")); cell01.setBorder(PdfPCell.NO_BORDER); Image image = Image.getInstance("cc.jpg"); PdfPCell cell0 = new PdfPCell(image, true); cell0.setBorder(PdfPCell.NO_BORDER); // cell0.setHorizontalAlignment(Element.ALIGN_RIGHT); //PdfPCell cell1 = new PdfPCell(new Paragraph("Mr. NILESH POPATBHAI LATHIYA")); table1.addCell(cell00); table1.addCell(cell01); table1.addCell(cell0); // table1.addCell(cell1); // table.addCell(cell2); // table.addCell(cell3); table1.setWidthPercentage(100); table1.setSpacingAfter(2f); //table1.setSpacingBefore(20f); //table1.setSpacingAfter(10f); document.add(table1); // table1.setWidthPercentage(100); PdfPTable table2 = new PdfPTable(6); // 3 columns. table2.setWidthPercentage(100); PdfPCell cell11 = new PdfPCell(new Paragraph( rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4) + " " + rs.getString(5), font0)); cell11.setColspan(6); //cell11.setBorder(PdfPCell.NO_BORDER); cell11.setLeading(10f, 0f); cell11.setBorderWidth(1f); cell11.setPadding(4); cell11.setBackgroundColor(myColor1); PdfPCell cell12 = new PdfPCell(new Paragraph("Employee Details", font1)); cell12.setColspan(2); cell12.setBorderWidth(1f); cell12.setLeading(10f, 0f); cell12.setPadding(4); cell12.setBackgroundColor(myColor); PdfPCell cell13 = new PdfPCell(new Paragraph("Payment & Leave Details", font1)); cell13.setColspan(2); cell13.setLeading(10f, 0f); cell13.setPadding(4); cell13.setBorderWidth(1f); cell13.setBackgroundColor(myColor); // cell11.setLeading(15f, 1.5f); PdfPCell cell14 = new PdfPCell(new Paragraph("Location Details", font1)); cell14.setColspan(2); cell14.setLeading(10f, 0f); cell14.setPadding(4); cell14.setBorderWidth(1f); cell14.setBackgroundColor(myColor); // PdfPTable nestedTable1 = new PdfPTable(2); // nestedTable1.addCell(new Paragraph("Emp No.")); // nestedTable1.addCell(new Paragraph("379666")); // cell41.addElement(nestedTable1); table2.addCell(cell11); table2.addCell(cell12); table2.addCell(cell13); table2.addCell(cell14); PdfPCell cell15 = new PdfPCell(new Paragraph("Emp ID.", font3)); //cell15.setLeading(10f, 0f); cell15.setPadding(3); cell15.setBorderWidth(1f); cell15.setBackgroundColor(myColor1); PdfPCell cell16 = new PdfPCell(new Paragraph(rs.getString(1), font4)); // cell16.setLeading(10f, 0f); cell16.setPadding(3); cell16.setBorderWidth(1f); cell16.setBackgroundColor(myColor1); PdfPCell cell17 = new PdfPCell(new Paragraph("Bank Name", font3)); //cell17.setLeading(10f, 0f); cell17.setPadding(3); cell17.setBorderWidth(1f); cell17.setBackgroundColor(myColor1); PdfPCell cell18 = new PdfPCell(new Paragraph(rs.getString(11), font4)); //cell18.setLeading(10f, 0f); cell18.setPadding(3); cell18.setBorderWidth(1f); cell18.setBackgroundColor(myColor1); PdfPCell cell19 = new PdfPCell(new Paragraph("Location", font3)); //cell19.setLeading(10f, 0f); cell19.setPadding(3); cell19.setBorderWidth(1f); cell19.setBackgroundColor(myColor1); PdfPCell cell20 = new PdfPCell(new Paragraph(rs.getString(13), font4)); //cell20.setLeading(10f, 0f); cell20.setPadding(3); cell20.setBorderWidth(1f); cell20.setBackgroundColor(myColor1); table2.addCell(cell15); table2.addCell(cell16); table2.addCell(cell17); table2.addCell(cell18); table2.addCell(cell19); table2.addCell(cell20); PdfPCell cell21 = new PdfPCell(new Paragraph("Dsgn.", font3)); //cell21.setLeading(10f, 0f); cell21.setPadding(3); cell21.setBorderWidth(1f); cell21.setBackgroundColor(myColor1); PdfPCell cell22 = new PdfPCell(new Paragraph(rs.getString(9), font4)); // cell22.setLeading(10f, 0f); cell22.setPadding(3); cell22.setBorderWidth(1f); cell22.setBackgroundColor(myColor1); PdfPCell cell23 = new PdfPCell(new Paragraph("Acc No.", font3)); //cell23.setLeading(10f, 0f); cell23.setPadding(3); cell23.setBorderWidth(1f); cell23.setBackgroundColor(myColor1); int accno = Integer.parseInt(rs.getString(12)); String accno1[] = new String[4]; for (int i = 0; i < 4; i++) { accno1[i] = Integer.toString(accno % 10); accno /= 10; } PdfPCell cell24 = new PdfPCell(new Paragraph( "XXXXXXX" + accno1[3] + "" + accno1[2] + "" + accno1[1] + "" + accno1[0], font4)); //cell24.setLeading(10f, 0f); cell24.setPadding(3); cell24.setBorderWidth(1f); cell24.setBackgroundColor(myColor1); PdfPCell cell25 = new PdfPCell(new Paragraph("Base Br.", font3)); //cell25.setLeading(10f, 0f); cell25.setPadding(3); cell25.setBorderWidth(1f); cell25.setBackgroundColor(myColor1); PdfPCell cell26 = new PdfPCell(new Paragraph("CC - Ahmedabad", font4)); //cell26.setLeading(10f, 0f); cell26.setPadding(3); cell26.setBorderWidth(1f); cell26.setBackgroundColor(myColor1); table2.addCell(cell21); table2.addCell(cell22); table2.addCell(cell23); table2.addCell(cell24); table2.addCell(cell25); table2.addCell(cell26); PdfPCell cell27 = new PdfPCell(new Paragraph("Grade", font3)); //cell27.setLeading(10f, 0f); cell27.setPadding(3); cell27.setBorderWidth(1f); cell27.setBackgroundColor(myColor1); PdfPCell cell28 = new PdfPCell(new Paragraph("C2", font4)); // cell28.setLeading(10f, 0f); cell28.setPadding(3); cell28.setBorderWidth(1f); cell28.setBackgroundColor(myColor1); PdfPCell cell29 = new PdfPCell(new Paragraph("Days paid", font3)); //cell29.setLeading(10f, 0f); cell29.setPadding(3); cell29.setBorderWidth(1f); cell29.setBackgroundColor(myColor1); PdfPCell cell30 = new PdfPCell(new Paragraph(Integer.toString(rs1.getInt(5)), font4)); //cell30.setLeading(10f, 0f); cell30.setPadding(3); cell30.setBorderWidth(1f); cell30.setBackgroundColor(myColor1); PdfPCell cell31 = new PdfPCell(new Paragraph("Depute Br.", font3)); //cell31.setLeading(10f, 0f); cell31.setPadding(3); cell31.setBorderWidth(1f); cell31.setBackgroundColor(myColor1); PdfPCell cell32 = new PdfPCell(new Paragraph("CC - Ahmedabad", font4)); //cell32.setLeading(10f, 0f); cell32.setPadding(3); cell32.setBorderWidth(1f); cell32.setBackgroundColor(myColor1); table2.addCell(cell27); table2.addCell(cell28); table2.addCell(cell29); table2.addCell(cell30); table2.addCell(cell31); table2.addCell(cell32); PdfPCell cell33 = new PdfPCell(new Paragraph("PAN", font3)); //cell33.setLeading(10f, 0f); cell33.setPadding(3); cell33.setBorderWidth(1f); cell33.setBackgroundColor(myColor1); PdfPCell cell34 = new PdfPCell(new Paragraph("XXXXXXX792E", font4)); // cell34.setLeading(10f, 0f); cell34.setPadding(3); cell34.setBorderWidth(1f); cell34.setBackgroundColor(myColor1); PdfPCell cell35 = new PdfPCell(new Paragraph("Leave Balance", font3)); //cell35.setLeading(10f, 0f); cell35.setPadding(3); cell35.setBorderWidth(1f); cell35.setBackgroundColor(myColor1); // PdfPCell cell36 = new PdfPCell(new Paragraph("EL X SL X CL X",font4)); PdfPCell cell36 = new PdfPCell(new Paragraph( "EL " + rs2.getInt(1) + " SL " + rs2.getInt(2) + " CL " + rs2.getInt(3), font4)); //cell36.setLeading(10f, 0f); cell36.setPadding(3); cell36.setBorderWidth(1f); cell36.setBackgroundColor(myColor1); PdfPCell cell37 = new PdfPCell(new Paragraph(" WON/SWON", font3)); //cell37.setLeading(10f, 0f); cell37.setPadding(3); cell37.setBorderWidth(1f); cell37.setBackgroundColor(myColor1); PdfPCell cell38 = new PdfPCell(new Paragraph("2616141", font4)); //cell38.setLeading(10f, 0f); cell38.setPadding(3); cell38.setBorderWidth(1f); cell38.setBackgroundColor(myColor1); table2.addCell(cell33); table2.addCell(cell34); table2.addCell(cell35); table2.addCell(cell36); table2.addCell(cell37); table2.addCell(cell38); table2.setSpacingAfter(12f); document.add(table2); PdfPTable table3 = new PdfPTable(5); // 5 columns. table3.setWidthPercentage(100); PdfPCell cell39 = new PdfPCell(new Paragraph("Earnings", font1)); cell39.setLeading(10f, 0f); cell39.setPadding(4); cell39.setBorderWidth(1f); cell39.setBackgroundColor(myColor); PdfPCell cell40 = new PdfPCell(new Paragraph("Arrears (INR)", font1)); cell40.setLeading(10f, 0f); cell40.setPadding(4); cell40.setBorderWidth(1f); cell40.setBackgroundColor(myColor); PdfPCell cell41 = new PdfPCell(new Paragraph("Current (INR)", font1)); cell41.setLeading(10f, 0f); cell41.setPadding(4); cell41.setBorderWidth(1f); cell41.setBackgroundColor(myColor); PdfPCell cell42 = new PdfPCell(new Paragraph("Deductions", font1)); cell42.setLeading(10f, 0f); cell42.setPadding(4); cell42.setBorderWidth(1f); cell42.setBackgroundColor(myColor); PdfPCell cell43 = new PdfPCell(new Paragraph("Amount (INR)", font1)); cell43.setLeading(10f, 0f); cell43.setPadding(4); cell43.setBorderWidth(1f); cell43.setBackgroundColor(myColor); table3.addCell(cell39); table3.addCell(cell40); table3.addCell(cell41); table3.addCell(cell42); table3.addCell(cell43); String[] sal = new String[10]; sal[0] = "Basic Salary"; sal[1] = "House Rent Allowance"; sal[2] = "Medical Allowance"; sal[3] = "Travelling Allowance"; sal[4] = "Personal Allowance"; sal[5] = "City Allowance"; sal[6] = "Performance Pay"; sal[7] = "Provident Fund"; sal[8] = "Professional Tax"; sal[9] = "Extra Leaves"; Float[] val = new Float[10]; val[0] = rs1.getFloat(4); val[1] = 6000.00f; val[2] = 1000.00f; val[3] = 1000.00f; val[4] = val[0] / 2; val[5] = 1000.00f; val[6] = val[4]; val[7] = val[0] * 12 / 100; val[8] = 0.00f; if ((val[0] + val[4] + val[6]) * 12 > 250000.00f) { val[8] = (val[0] + val[4] + val[6]) / 10; } val[9] = 0.0f; if (rs2.getInt(1) < 0) val[9] -= (rs2.getInt(1) * val[0]) / 30; if (rs2.getInt(2) < 0) val[9] -= rs2.getInt(2) * val[0] / 30; if (rs2.getInt(3) < 0) val[9] -= rs2.getInt(3) * val[0] / 30; for (int i = 0; i < 7; i++) { PdfPCell cell44 = new PdfPCell(new Paragraph(sal[i], font3)); //cell27.setLeading(10f, 0f); cell44.setPadding(3); cell44.setBorderWidth(1f); cell44.setBackgroundColor(myColor1); PdfPCell cell45 = new PdfPCell(new Paragraph("", font4)); // cell45.setLeading(10f, 0f); cell45.setPadding(3); cell45.setBorderWidth(1f); cell45.setBackgroundColor(myColor1); PdfPCell cell46 = new PdfPCell(new Paragraph(val[i].toString(), font3)); //cell46.setLeading(10f, 0f); cell46.setHorizontalAlignment(Element.ALIGN_RIGHT); cell46.setPadding(3); cell46.setBorderWidth(1f); cell46.setBackgroundColor(myColor1); table3.addCell(cell44); table3.addCell(cell45); table3.addCell(cell46); if (i == 0 || i == 1 || i == 2) { PdfPCell cell47 = new PdfPCell(new Paragraph(sal[7 + i], font4)); //cell47.setLeading(10f, 0f); cell47.setPadding(3); cell47.setBorderWidth(1f); cell47.setBackgroundColor(myColor1); table3.addCell(cell47); PdfPCell cell48 = new PdfPCell(new Paragraph(val[i + 7].toString(), font3)); //cell48.setLeading(10f, 0f); cell48.setHorizontalAlignment(Element.ALIGN_RIGHT); cell48.setPadding(3); cell48.setBorderWidth(1f); cell48.setBackgroundColor(myColor1); table3.addCell(cell48); } else { PdfPCell cell47 = new PdfPCell(new Paragraph("", font4)); cell47.setBorder(PdfPCell.NO_BORDER); cell47.setBorderWidthRight(1f); cell47.setColspan(2); table3.addCell(cell47); } } PdfPCell cell48 = new PdfPCell(new Paragraph("", font4)); //cell48.setBorder(PdfPCell.NO_BORDER); cell48.setColspan(3); table3.addCell(cell48); PdfPCell cell49 = new PdfPCell(new Paragraph("", font4)); //cell49.setBorder(PdfPCell.NO_BORDER); cell49.setColspan(2); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); PdfPCell cell50 = new PdfPCell(new Paragraph("Total Earnings (Current + Arrears)", font3)); //cell27.setLeading(10f, 0f); cell50.setColspan(2); cell50.setPadding(3); cell50.setBorderWidth(1f); cell50.setBackgroundColor(myColor1); table3.addCell(cell50); float a = 0.0f; for (int i = 0; i < 7; i++) { a += val[i]; } PdfPCell cell55 = new PdfPCell(new Paragraph(Float.toString(a), font3)); //cell27.setLeading(10f, 0f); cell55.setPadding(3); cell55.setHorizontalAlignment(Element.ALIGN_RIGHT); cell55.setBorderWidth(1f); cell55.setBackgroundColor(myColor1); table3.addCell(cell55); PdfPCell cell51 = new PdfPCell(new Paragraph("Total Deductions", font3)); //cell27.setLeading(10f, 0f); //cell51.setColspan(3); cell51.setPadding(3); cell51.setBorderWidth(1f); cell51.setBackgroundColor(myColor1); table3.addCell(cell51); float b = val[7] + val[8] + val[9]; PdfPCell cell56 = new PdfPCell(new Paragraph(Float.toString(b), font3)); //cell27.setLeading(10f, 0f); //cell56.setColspan(3); cell56.setPadding(3); cell56.setHorizontalAlignment(Element.ALIGN_RIGHT); cell56.setBorderWidth(1f); cell56.setBackgroundColor(myColor1); table3.addCell(cell56); table3.setSpacingAfter(12f); document.add(table3); PdfPTable table4 = new PdfPTable(5); // 2 columns. table4.setWidthPercentage(100); PdfPCell cell54 = new PdfPCell(new Paragraph("", font3)); cell54.setBorder(PdfPCell.NO_BORDER); cell54.setColspan(3); table4.addCell(cell54); PdfPCell cell52 = new PdfPCell(new Paragraph("Net Pay", font5)); cell52.setLeading(10f, 0f); // cell52.setBorder(PdfPCell.ALIGN_CENTER); cell52.setHorizontalAlignment(Element.ALIGN_LEFT); cell52.setVerticalAlignment(Element.ALIGN_CENTER); cell52.setPadding(6f); cell52.setBorderWidth(1f); cell52.setBackgroundColor(myColor); table4.addCell(cell52); PdfPCell cell53 = new PdfPCell(new Paragraph("" + (a - b), font6)); cell53.setLeading(10f, 0f); cell53.setPadding(6f); cell53.setHorizontalAlignment(Element.ALIGN_CENTER); cell53.setVerticalAlignment(Element.ALIGN_CENTER); cell53.setBorderWidth(1f); table4.addCell(cell53); document.add(table4); // step 4 // document.add(new Paragraph(String.format( // "You have submitted the following text using the %s method:%s", // request.getMethod(),uname))); // document.add(new Paragraph(text)); // step 5 document.close(); // setting some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } else { response.sendRedirect("index.jsp?id=Your session may be expired. You have to login first"); } } catch (Exception e) { // throw new IOException(e.getMessage()); System.out.println(e); System.out.println("sssssssssssssssssss"); } }
From source file:generatepayslip.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from w w w.ja va 2 s . co m * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException { // setting the content type response.setContentType("application/pdf"); try { HttpSession session = request.getSession(); if (session.getAttribute("username") != null) { // Get the text that will be added to the PDF String month = request.getParameter("month"); String year = request.getParameter("year"); String id = (String) session.getAttribute("id"); // System.out.println(id); // String text = request.getParameter("text"); // if (text == null || text.trim().length() == 0) { // text = "You didn't enter any text."; // } //String id="Ultimate01"; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll123", "root", ""); PreparedStatement ps = con.prepareStatement("SELECT * from employee where id=?"); ps.setString(1, id); // ps.setString(2, pass); PreparedStatement ps1 = con .prepareStatement("SELECT * from payslip where employeeid=? and month=? and year=?"); ps1.setString(1, id); ps1.setString(2, month); ps1.setString(3, year); // PreparedStatement ps2 = con.prepareStatement("SELECT * from leave "); PreparedStatement ps2 = con .prepareStatement("SELECT * from `leave` where employeeid=? and month=? and year=?"); ps2.setString(1, id); ps2.setString(2, month); ps2.setString(3, year); // ResultSet rs = ps.executeQuery(); rs.next(); ResultSet rs1 = ps1.executeQuery(); ResultSet rs2 = ps2.executeQuery(); rs2.next(); if (rs1.next() == false) { response.sendRedirect("generatepayslip.jsp?id=Payslip of " + month + "/" + year + " is not generated OR Record of this Payslip is not available in our Database"); } // step 1 //System.out.println("sssssssssssssssssss"); Document document = new Document(); // step 2 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); Font font0 = new Font(Font.FontFamily.TIMES_ROMAN, 11); Font font1 = new Font(Font.FontFamily.HELVETICA, 11, Font.BOLD); Font font2 = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD); Font font3 = new Font(Font.FontFamily.HELVETICA, 9, Font.BOLD); Font font4 = new Font(Font.FontFamily.HELVETICA, 10); Font font5 = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD); Font font6 = new Font(Font.FontFamily.HELVETICA, 12); //font1.setColor(BaseColor.WHITE); BaseColor myColor = WebColors.getRGBColor("#F78181"); BaseColor myColor1 = WebColors.getRGBColor("#FAFAFA"); //step 3 document.open(); // step 3.5 PdfPTable table1 = new PdfPTable(3); // 1 columns. PdfPCell cell00 = new PdfPCell(new Paragraph("Payslip\nFEB-2015", font2)); cell00.setBorder(PdfPCell.NO_BORDER); cell00.setPaddingTop(18); PdfPCell cell01 = new PdfPCell(new Paragraph("")); cell01.setBorder(PdfPCell.NO_BORDER); Image image = Image.getInstance("cc.jpg"); PdfPCell cell0 = new PdfPCell(image, true); cell0.setBorder(PdfPCell.NO_BORDER); // cell0.setHorizontalAlignment(Element.ALIGN_RIGHT); //PdfPCell cell1 = new PdfPCell(new Paragraph("Mr. NILESH POPATBHAI LATHIYA")); table1.addCell(cell00); table1.addCell(cell01); table1.addCell(cell0); // table1.addCell(cell1); // table.addCell(cell2); // table.addCell(cell3); table1.setWidthPercentage(100); table1.setSpacingAfter(2f); //table1.setSpacingBefore(20f); //table1.setSpacingAfter(10f); document.add(table1); // table1.setWidthPercentage(100); PdfPTable table2 = new PdfPTable(6); // 3 columns. table2.setWidthPercentage(100); PdfPCell cell11 = new PdfPCell(new Paragraph((String) session.getAttribute("username"), font0)); cell11.setColspan(6); //cell11.setBorder(PdfPCell.NO_BORDER); cell11.setLeading(10f, 0f); cell11.setBorderWidth(1f); cell11.setPadding(4); cell11.setBackgroundColor(myColor1); PdfPCell cell12 = new PdfPCell(new Paragraph("Employee Details", font1)); cell12.setColspan(2); cell12.setBorderWidth(1f); cell12.setLeading(10f, 0f); cell12.setPadding(4); cell12.setBackgroundColor(myColor); PdfPCell cell13 = new PdfPCell(new Paragraph("Payment & Leave Details", font1)); cell13.setColspan(2); cell13.setLeading(10f, 0f); cell13.setPadding(4); cell13.setBorderWidth(1f); cell13.setBackgroundColor(myColor); // cell11.setLeading(15f, 1.5f); PdfPCell cell14 = new PdfPCell(new Paragraph("Location Details", font1)); cell14.setColspan(2); cell14.setLeading(10f, 0f); cell14.setPadding(4); cell14.setBorderWidth(1f); cell14.setBackgroundColor(myColor); // PdfPTable nestedTable1 = new PdfPTable(2); // nestedTable1.addCell(new Paragraph("Emp No.")); // nestedTable1.addCell(new Paragraph("379666")); // cell41.addElement(nestedTable1); table2.addCell(cell11); table2.addCell(cell12); table2.addCell(cell13); table2.addCell(cell14); PdfPCell cell15 = new PdfPCell(new Paragraph("Emp ID.", font3)); //cell15.setLeading(10f, 0f); cell15.setPadding(3); cell15.setBorderWidth(1f); cell15.setBackgroundColor(myColor1); PdfPCell cell16 = new PdfPCell(new Paragraph(rs.getString(1), font4)); // cell16.setLeading(10f, 0f); cell16.setPadding(3); cell16.setBorderWidth(1f); cell16.setBackgroundColor(myColor1); PdfPCell cell17 = new PdfPCell(new Paragraph("Bank Name", font3)); //cell17.setLeading(10f, 0f); cell17.setPadding(3); cell17.setBorderWidth(1f); cell17.setBackgroundColor(myColor1); PdfPCell cell18 = new PdfPCell(new Paragraph(rs.getString(11), font4)); //cell18.setLeading(10f, 0f); cell18.setPadding(3); cell18.setBorderWidth(1f); cell18.setBackgroundColor(myColor1); PdfPCell cell19 = new PdfPCell(new Paragraph("Location", font3)); //cell19.setLeading(10f, 0f); cell19.setPadding(3); cell19.setBorderWidth(1f); cell19.setBackgroundColor(myColor1); PdfPCell cell20 = new PdfPCell(new Paragraph(rs.getString(13), font4)); //cell20.setLeading(10f, 0f); cell20.setPadding(3); cell20.setBorderWidth(1f); cell20.setBackgroundColor(myColor1); table2.addCell(cell15); table2.addCell(cell16); table2.addCell(cell17); table2.addCell(cell18); table2.addCell(cell19); table2.addCell(cell20); PdfPCell cell21 = new PdfPCell(new Paragraph("Dsgn.", font3)); //cell21.setLeading(10f, 0f); cell21.setPadding(3); cell21.setBorderWidth(1f); cell21.setBackgroundColor(myColor1); PdfPCell cell22 = new PdfPCell(new Paragraph(rs.getString(9), font4)); // cell22.setLeading(10f, 0f); cell22.setPadding(3); cell22.setBorderWidth(1f); cell22.setBackgroundColor(myColor1); PdfPCell cell23 = new PdfPCell(new Paragraph("Acc No.", font3)); //cell23.setLeading(10f, 0f); cell23.setPadding(3); cell23.setBorderWidth(1f); cell23.setBackgroundColor(myColor1); int accno = Integer.parseInt(rs.getString(12)); String accno1[] = new String[4]; for (int i = 0; i < 4; i++) { accno1[i] = Integer.toString(accno % 10); accno /= 10; } PdfPCell cell24 = new PdfPCell(new Paragraph( "XXXXXXX" + accno1[3] + "" + accno1[2] + "" + accno1[1] + "" + accno1[0], font4)); //cell24.setLeading(10f, 0f); cell24.setPadding(3); cell24.setBorderWidth(1f); cell24.setBackgroundColor(myColor1); PdfPCell cell25 = new PdfPCell(new Paragraph("Base Br.", font3)); //cell25.setLeading(10f, 0f); cell25.setPadding(3); cell25.setBorderWidth(1f); cell25.setBackgroundColor(myColor1); PdfPCell cell26 = new PdfPCell(new Paragraph("CC - Ahmedabad", font4)); //cell26.setLeading(10f, 0f); cell26.setPadding(3); cell26.setBorderWidth(1f); cell26.setBackgroundColor(myColor1); table2.addCell(cell21); table2.addCell(cell22); table2.addCell(cell23); table2.addCell(cell24); table2.addCell(cell25); table2.addCell(cell26); PdfPCell cell27 = new PdfPCell(new Paragraph("Grade", font3)); //cell27.setLeading(10f, 0f); cell27.setPadding(3); cell27.setBorderWidth(1f); cell27.setBackgroundColor(myColor1); PdfPCell cell28 = new PdfPCell(new Paragraph("C2", font4)); // cell28.setLeading(10f, 0f); cell28.setPadding(3); cell28.setBorderWidth(1f); cell28.setBackgroundColor(myColor1); PdfPCell cell29 = new PdfPCell(new Paragraph("Days paid", font3)); //cell29.setLeading(10f, 0f); cell29.setPadding(3); cell29.setBorderWidth(1f); cell29.setBackgroundColor(myColor1); PdfPCell cell30 = new PdfPCell(new Paragraph(Integer.toString(rs1.getInt(5)), font4)); //cell30.setLeading(10f, 0f); cell30.setPadding(3); cell30.setBorderWidth(1f); cell30.setBackgroundColor(myColor1); PdfPCell cell31 = new PdfPCell(new Paragraph("Depute Br.", font3)); //cell31.setLeading(10f, 0f); cell31.setPadding(3); cell31.setBorderWidth(1f); cell31.setBackgroundColor(myColor1); PdfPCell cell32 = new PdfPCell(new Paragraph("CC - Ahmedabad", font4)); //cell32.setLeading(10f, 0f); cell32.setPadding(3); cell32.setBorderWidth(1f); cell32.setBackgroundColor(myColor1); table2.addCell(cell27); table2.addCell(cell28); table2.addCell(cell29); table2.addCell(cell30); table2.addCell(cell31); table2.addCell(cell32); PdfPCell cell33 = new PdfPCell(new Paragraph("PAN", font3)); //cell33.setLeading(10f, 0f); cell33.setPadding(3); cell33.setBorderWidth(1f); cell33.setBackgroundColor(myColor1); PdfPCell cell34 = new PdfPCell(new Paragraph("XXXXXXX792E", font4)); // cell34.setLeading(10f, 0f); cell34.setPadding(3); cell34.setBorderWidth(1f); cell34.setBackgroundColor(myColor1); PdfPCell cell35 = new PdfPCell(new Paragraph("Leave Balance", font3)); //cell35.setLeading(10f, 0f); cell35.setPadding(3); cell35.setBorderWidth(1f); cell35.setBackgroundColor(myColor1); PdfPCell cell36 = new PdfPCell(new Paragraph( "EL " + rs2.getInt(1) + " SL " + rs2.getInt(2) + " CL " + rs2.getInt(3), font4)); // PdfPCell cell36 = new PdfPCell(new Paragraph("EL "+rs2.getInt(2),font4)); //cell36.setLeading(10f, 0f);rs2.getInt(1) cell36.setPadding(3); cell36.setBorderWidth(1f); cell36.setBackgroundColor(myColor1); PdfPCell cell37 = new PdfPCell(new Paragraph(" WON/SWON", font3)); //cell37.setLeading(10f, 0f); cell37.setPadding(3); cell37.setBorderWidth(1f); cell37.setBackgroundColor(myColor1); PdfPCell cell38 = new PdfPCell(new Paragraph("2616141", font4)); //cell38.setLeading(10f, 0f); cell38.setPadding(3); cell38.setBorderWidth(1f); cell38.setBackgroundColor(myColor1); table2.addCell(cell33); table2.addCell(cell34); table2.addCell(cell35); table2.addCell(cell36); table2.addCell(cell37); table2.addCell(cell38); table2.setSpacingAfter(12f); document.add(table2); PdfPTable table3 = new PdfPTable(5); // 5 columns. table3.setWidthPercentage(100); PdfPCell cell39 = new PdfPCell(new Paragraph("Earnings", font1)); cell39.setLeading(10f, 0f); cell39.setPadding(4); cell39.setBorderWidth(1f); cell39.setBackgroundColor(myColor); PdfPCell cell40 = new PdfPCell(new Paragraph("Arrears (INR)", font1)); cell40.setLeading(10f, 0f); cell40.setPadding(4); cell40.setBorderWidth(1f); cell40.setBackgroundColor(myColor); PdfPCell cell41 = new PdfPCell(new Paragraph("Current (INR)", font1)); cell41.setLeading(10f, 0f); cell41.setPadding(4); cell41.setBorderWidth(1f); cell41.setBackgroundColor(myColor); PdfPCell cell42 = new PdfPCell(new Paragraph("Deductions", font1)); cell42.setLeading(10f, 0f); cell42.setPadding(4); cell42.setBorderWidth(1f); cell42.setBackgroundColor(myColor); PdfPCell cell43 = new PdfPCell(new Paragraph("Amount (INR)", font1)); cell43.setLeading(10f, 0f); cell43.setPadding(4); cell43.setBorderWidth(1f); cell43.setBackgroundColor(myColor); table3.addCell(cell39); table3.addCell(cell40); table3.addCell(cell41); table3.addCell(cell42); table3.addCell(cell43); String[] sal = new String[10]; sal[0] = "Basic Salary"; sal[1] = "House Rent Allowance"; sal[2] = "Medical Allowance"; sal[3] = "Travelling Allowance"; sal[4] = "Personal Allowance"; sal[5] = "City Allowance"; sal[6] = "Performance Pay"; sal[7] = "Provident Fund"; sal[8] = "Professional Tax"; sal[9] = "Extra Leaves"; Float[] val = new Float[10]; val[0] = rs1.getFloat(4); val[1] = 6000.00f; val[2] = 1000.00f; val[3] = 1000.00f; val[4] = val[0] / 2; val[5] = 1000.00f; val[6] = val[4]; val[7] = val[0] * 12 / 100; val[8] = 0.00f; if ((val[0] + val[4] + val[6]) * 12 > 250000.00f) { val[8] = (val[0] + val[4] + val[6]) / 10; } val[9] = 0.0f; if (rs2.getInt(1) < 0) val[9] -= (rs2.getInt(1) * val[0]) / 30; if (rs2.getInt(2) < 0) val[9] -= rs2.getInt(2) * val[0] / 30; if (rs2.getInt(3) < 0) val[9] -= rs2.getInt(3) * val[0] / 30; for (int i = 0; i < 7; i++) { PdfPCell cell44 = new PdfPCell(new Paragraph(sal[i], font3)); //cell27.setLeading(10f, 0f); cell44.setPadding(3); cell44.setBorderWidth(1f); cell44.setBackgroundColor(myColor1); PdfPCell cell45 = new PdfPCell(new Paragraph("", font4)); // cell45.setLeading(10f, 0f); cell45.setPadding(3); cell45.setBorderWidth(1f); cell45.setBackgroundColor(myColor1); PdfPCell cell46 = new PdfPCell(new Paragraph(val[i].toString(), font3)); //cell46.setLeading(10f, 0f); cell46.setHorizontalAlignment(Element.ALIGN_RIGHT); cell46.setPadding(3); cell46.setBorderWidth(1f); cell46.setBackgroundColor(myColor1); table3.addCell(cell44); table3.addCell(cell45); table3.addCell(cell46); if (i == 0 || i == 1 || i == 2) { PdfPCell cell47 = new PdfPCell(new Paragraph(sal[7 + i], font4)); //cell47.setLeading(10f, 0f); cell47.setPadding(3); cell47.setBorderWidth(1f); cell47.setBackgroundColor(myColor1); table3.addCell(cell47); PdfPCell cell48 = new PdfPCell(new Paragraph(val[i + 7].toString(), font3)); //cell48.setLeading(10f, 0f); cell48.setHorizontalAlignment(Element.ALIGN_RIGHT); cell48.setPadding(3); cell48.setBorderWidth(1f); cell48.setBackgroundColor(myColor1); table3.addCell(cell48); } else { PdfPCell cell47 = new PdfPCell(new Paragraph("", font4)); cell47.setBorder(PdfPCell.NO_BORDER); cell47.setBorderWidthRight(1f); cell47.setColspan(2); table3.addCell(cell47); } } PdfPCell cell48 = new PdfPCell(new Paragraph("", font4)); //cell48.setBorder(PdfPCell.NO_BORDER); cell48.setColspan(3); table3.addCell(cell48); PdfPCell cell49 = new PdfPCell(new Paragraph("", font4)); //cell49.setBorder(PdfPCell.NO_BORDER); cell49.setColspan(2); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); PdfPCell cell50 = new PdfPCell(new Paragraph("Total Earnings (Current + Arrears)", font3)); //cell27.setLeading(10f, 0f); cell50.setColspan(2); cell50.setPadding(3); cell50.setBorderWidth(1f); cell50.setBackgroundColor(myColor1); table3.addCell(cell50); float a = 0.0f; for (int i = 0; i < 7; i++) { a += val[i]; } PdfPCell cell55 = new PdfPCell(new Paragraph(Float.toString(a), font3)); //cell27.setLeading(10f, 0f); cell55.setPadding(3); cell55.setHorizontalAlignment(Element.ALIGN_RIGHT); cell55.setBorderWidth(1f); cell55.setBackgroundColor(myColor1); table3.addCell(cell55); PdfPCell cell51 = new PdfPCell(new Paragraph("Total Deductions", font3)); //cell27.setLeading(10f, 0f); //cell51.setColspan(3); cell51.setPadding(3); cell51.setBorderWidth(1f); cell51.setBackgroundColor(myColor1); table3.addCell(cell51); float b = val[7] + val[8] + val[9]; PdfPCell cell56 = new PdfPCell(new Paragraph(Float.toString(b), font3)); //cell27.setLeading(10f, 0f); //cell56.setColspan(3); cell56.setPadding(3); cell56.setHorizontalAlignment(Element.ALIGN_RIGHT); cell56.setBorderWidth(1f); cell56.setBackgroundColor(myColor1); table3.addCell(cell56); table3.setSpacingAfter(12f); document.add(table3); PdfPTable table4 = new PdfPTable(5); // 2 columns. table4.setWidthPercentage(100); PdfPCell cell54 = new PdfPCell(new Paragraph("", font3)); cell54.setBorder(PdfPCell.NO_BORDER); cell54.setColspan(3); table4.addCell(cell54); PdfPCell cell52 = new PdfPCell(new Paragraph("Net Pay", font5)); cell52.setLeading(10f, 0f); // cell52.setBorder(PdfPCell.ALIGN_CENTER); cell52.setHorizontalAlignment(Element.ALIGN_LEFT); cell52.setVerticalAlignment(Element.ALIGN_CENTER); cell52.setPadding(6f); cell52.setBorderWidth(1f); cell52.setBackgroundColor(myColor); table4.addCell(cell52); PdfPCell cell53 = new PdfPCell(new Paragraph("" + (a - b), font6)); cell53.setLeading(10f, 0f); cell53.setPadding(6f); cell53.setHorizontalAlignment(Element.ALIGN_CENTER); cell53.setVerticalAlignment(Element.ALIGN_CENTER); cell53.setBorderWidth(1f); table4.addCell(cell53); document.add(table4); // step 4 // document.add(new Paragraph(String.format( // "You have submitted the following text using the %s method:%s", // request.getMethod(),uname))); // document.add(new Paragraph(text)); // step 5 document.close(); // setting some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } else { response.sendRedirect("index.jsp?id=Your session may be expired. You have to login first"); } } catch (Exception e) { // throw new IOException(e.getMessage()); System.out.println(e); System.out.println("sssssssssssssssssss"); } }
From source file:generatereportbyaccz.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*w ww. ja va 2s .co m*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, ClassNotFoundException { // setting the content type response.setContentType("application/pdf"); try { HttpSession session = request.getSession(); if (session.getAttribute("username") != null) { // Get the text that will be added to the PDF String month = request.getParameter("month"); String year = request.getParameter("year"); //String id=request.getParameter("empid"); // System.out.println(id); // String text = request.getParameter("text"); // if (text == null || text.trim().length() == 0) { // text = "You didn't enter any text."; // } //String id="Ultimate01"; Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/payroll123", "root", ""); PreparedStatement ps = con .prepareStatement("SELECT SUM(basicsalary) as sum1 FROM payslip where month=? and year=?"); ps.setString(1, month); ps.setString(2, year); System.out.println("hey1"); PreparedStatement ps1 = con.prepareStatement( "SELECT COUNT(DISTINCT employeeid) as emps FROM payslip where month=? and year=?"); ps1.setString(1, month); ps1.setString(2, year); System.out.println("hey1"); ResultSet rs = ps.executeQuery(); //System.out.println(rs.getInt(1)); rs.next(); // System.out.println(rs.getInt("sum1")); ResultSet rs1 = ps1.executeQuery(); rs1.next(); if (rs.getFloat("sum1") == 0.0 && rs1.getFloat("emps") == 0.0) { response.sendRedirect("generatereportbyaccz.jsp?id=Report of " + month + "/" + year + " is not generated OR Record of this Report is not available in our Database"); } // step 1 Float[] val = new Float[9]; val[0] = rs.getFloat("sum1"); val[1] = 6000.00f * rs1.getFloat("emps"); val[2] = 1000.00f * rs1.getFloat("emps"); val[3] = 1000.00f * rs1.getFloat("emps"); val[4] = val[0] / 2; val[5] = 1000.00f * rs1.getFloat("emps"); val[6] = val[4]; val[7] = val[0] * 12 / 100; val[8] = 0.00f; if ((val[0] + val[4] + val[6]) * 12 > 250000.00f) { val[8] = (val[0] + val[4] + val[6]) / 10; } //System.out.println("sssssssssssssssssss"); Document document = new Document(); // step 2 ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); Font font0 = new Font(Font.FontFamily.TIMES_ROMAN, 11); Font font1 = new Font(Font.FontFamily.HELVETICA, 11, Font.BOLD); Font font2 = new Font(Font.FontFamily.HELVETICA, 18, Font.BOLD); Font font3 = new Font(Font.FontFamily.HELVETICA, 9, Font.BOLD); Font font4 = new Font(Font.FontFamily.HELVETICA, 10); Font font5 = new Font(Font.FontFamily.HELVETICA, 12, Font.BOLD); Font font6 = new Font(Font.FontFamily.HELVETICA, 12); //font1.setColor(BaseColor.WHITE); BaseColor myColor = WebColors.getRGBColor("#F78181"); BaseColor myColor1 = WebColors.getRGBColor("#FAFAFA"); //step 3 document.open(); // step 3.5 PdfPTable table1 = new PdfPTable(3); // 1 columns. // table1.setWidthPercentage(75); PdfPCell cell00 = new PdfPCell(new Paragraph("Monthly Payroll Summary\nFEB-2015", font2)); cell00.setBorder(PdfPCell.NO_BORDER); cell00.setPaddingTop(18); cell00.setColspan(2); Image image = Image.getInstance("cc.jpg"); PdfPCell cell0 = new PdfPCell(image, true); cell0.setBorder(PdfPCell.NO_BORDER); // cell0.setHorizontalAlignment(Element.ALIGN_RIGHT); //PdfPCell cell1 = new PdfPCell(new Paragraph("Mr. NILESH POPATBHAI LATHIYA")); table1.addCell(cell00); // table1.addCell(cell0); table1.addCell(cell0); // table1.addCell(cell1); // table.addCell(cell2); // table.addCell(cell3); table1.setWidthPercentage(100); table1.setSpacingAfter(8f); //table1.setSpacingBefore(20f); //table1.setSpacingAfter(10f); document.add(table1); // table1.setWidthPercentage(100); PdfPTable table21 = new PdfPTable(2); // 3 columns. table21.setWidthPercentage(100); PdfPCell cell151 = new PdfPCell(new Paragraph("Total Number of Employees", font3)); //cell15.setLeading(10f, 0f); cell151.setPadding(3); cell151.setBorderWidth(1f); cell151.setBackgroundColor(myColor1); PdfPCell cell161 = new PdfPCell(new Paragraph(Integer.toString(rs1.getInt("emps")), font4)); // cell16.setLeading(10f, 0f); cell161.setPadding(3); cell161.setBorderWidth(1f); cell161.setBackgroundColor(myColor1); table21.addCell(cell151); table21.addCell(cell161); table21.setSpacingAfter(12f); document.add(table21); PdfPTable table2 = new PdfPTable(2); // 3 columns. table2.setWidthPercentage(100); PdfPCell cell15 = new PdfPCell(new Paragraph("Total Basic Salary", font3)); //cell15.setLeading(10f, 0f); cell15.setPadding(3); cell15.setBorderWidth(1f); cell15.setBackgroundColor(myColor1); PdfPCell cell16 = new PdfPCell(new Paragraph(Float.toString(val[0]), font4)); // cell16.setLeading(10f, 0f); cell16.setPadding(3); cell16.setBorderWidth(1f); cell16.setBackgroundColor(myColor1); PdfPCell cell17 = new PdfPCell(new Paragraph("Total House Rent Allowance", font3)); //cell17.setLeading(10f, 0f); cell17.setPadding(3); cell17.setBorderWidth(1f); cell17.setBackgroundColor(myColor1); PdfPCell cell18 = new PdfPCell(new Paragraph(Float.toString(val[1]), font4)); //cell18.setLeading(10f, 0f); cell18.setPadding(3); cell18.setBorderWidth(1f); cell18.setBackgroundColor(myColor1); PdfPCell cell19 = new PdfPCell(new Paragraph("Total Medical Allowance", font3)); //cell19.setLeading(10f, 0f); cell19.setPadding(3); cell19.setBorderWidth(1f); cell19.setBackgroundColor(myColor1); PdfPCell cell20 = new PdfPCell(new Paragraph(Float.toString(val[2]), font4)); //cell20.setLeading(10f, 0f); cell20.setPadding(3); cell20.setBorderWidth(1f); cell20.setBackgroundColor(myColor1); table2.addCell(cell15); table2.addCell(cell16); table2.addCell(cell17); table2.addCell(cell18); table2.addCell(cell19); table2.addCell(cell20); PdfPCell cell21 = new PdfPCell(new Paragraph("Total Travelling Allowance", font3)); //cell21.setLeading(10f, 0f); cell21.setPadding(3); cell21.setBorderWidth(1f); cell21.setBackgroundColor(myColor1); PdfPCell cell22 = new PdfPCell(new Paragraph(Float.toString(val[3]), font4)); // cell22.setLeading(10f, 0f); cell22.setPadding(3); cell22.setBorderWidth(1f); cell22.setBackgroundColor(myColor1); PdfPCell cell23 = new PdfPCell(new Paragraph("Total Personal Allowance", font3)); //cell23.setLeading(10f, 0f); cell23.setPadding(3); cell23.setBorderWidth(1f); cell23.setBackgroundColor(myColor1); PdfPCell cell24 = new PdfPCell(new Paragraph(Float.toString(val[4]), font4)); //cell24.setLeading(10f, 0f); cell24.setPadding(3); cell24.setBorderWidth(1f); cell24.setBackgroundColor(myColor1); PdfPCell cell25 = new PdfPCell(new Paragraph("Total City Allowance", font3)); //cell25.setLeading(10f, 0f); cell25.setPadding(3); cell25.setBorderWidth(1f); cell25.setBackgroundColor(myColor1); PdfPCell cell26 = new PdfPCell(new Paragraph(Float.toString(val[5]), font4)); //cell26.setLeading(10f, 0f); cell26.setPadding(3); cell26.setBorderWidth(1f); cell26.setBackgroundColor(myColor1); table2.addCell(cell21); table2.addCell(cell22); table2.addCell(cell23); table2.addCell(cell24); table2.addCell(cell25); table2.addCell(cell26); PdfPCell cell27 = new PdfPCell(new Paragraph("Total Performance Pay", font3)); //cell27.setLeading(10f, 0f); cell27.setPadding(3); cell27.setBorderWidth(1f); cell27.setBackgroundColor(myColor1); PdfPCell cell28 = new PdfPCell(new Paragraph(Float.toString(val[6]), font4)); // cell28.setLeading(10f, 0f); cell28.setPadding(3); cell28.setBorderWidth(1f); cell28.setBackgroundColor(myColor1); table2.addCell(cell27); table2.addCell(cell28); table2.setSpacingAfter(12f); document.add(table2); PdfPTable table3 = new PdfPTable(2); // 3 columns. table3.setWidthPercentage(100); PdfPCell cell271 = new PdfPCell(new Paragraph("Final Total amount paid by company", font3)); //cell27.setLeading(10f, 0f); cell271.setPadding(3); cell271.setBorderWidth(1f); cell271.setBackgroundColor(myColor1); PdfPCell cell281 = new PdfPCell(new Paragraph(Float.toString(val[6]), font4)); // cell28.setLeading(10f, 0f); cell281.setPadding(3); cell281.setBorderWidth(1f); cell281.setBackgroundColor(myColor1); PdfPCell cell29 = new PdfPCell(new Paragraph("Total Provident Fund Collected", font3)); //cell29.setLeading(10f, 0f); cell29.setPadding(3); cell29.setBorderWidth(1f); cell29.setBackgroundColor(myColor1); PdfPCell cell30 = new PdfPCell(new Paragraph(Float.toString(val[7]), font4)); //cell30.setLeading(10f, 0f); cell30.setPadding(3); cell30.setBorderWidth(1f); cell30.setBackgroundColor(myColor1); PdfPCell cell31 = new PdfPCell(new Paragraph("Total Professional Tax Collected", font3)); //cell31.setLeading(10f, 0f); cell31.setPadding(3); cell31.setBorderWidth(1f); cell31.setBackgroundColor(myColor1); PdfPCell cell32 = new PdfPCell(new Paragraph(Float.toString(val[8]), font4)); //cell32.setLeading(10f, 0f); cell32.setPadding(3); cell32.setBorderWidth(1f); cell32.setBackgroundColor(myColor1); table3.addCell(cell271); table3.addCell(cell281); table3.addCell(cell29); table3.addCell(cell30); table3.addCell(cell31); table3.addCell(cell32); table3.setSpacingAfter(12f); document.add(table3); /* PdfPCell cell33 = new PdfPCell(new Paragraph("PAN",font3)); //cell33.setLeading(10f, 0f); cell33.setPadding(3); cell33.setBorderWidth(1f); cell33.setBackgroundColor(myColor1); PdfPCell cell34 = new PdfPCell(new Paragraph("XXXXXXX792E",font4)); // cell34.setLeading(10f, 0f); cell34.setPadding(3); cell34.setBorderWidth(1f); cell34.setBackgroundColor(myColor1); PdfPCell cell35 = new PdfPCell(new Paragraph("Leave Balance",font3)); //cell35.setLeading(10f, 0f); cell35.setPadding(3); cell35.setBorderWidth(1f); cell35.setBackgroundColor(myColor1); PdfPCell cell36 = new PdfPCell(new Paragraph("EL X SL X CL X",font4)); //cell36.setLeading(10f, 0f); cell36.setPadding(3); cell36.setBorderWidth(1f); cell36.setBackgroundColor(myColor1); PdfPCell cell37 = new PdfPCell(new Paragraph(" WON/SWON",font3)); //cell37.setLeading(10f, 0f); cell37.setPadding(3); cell37.setBorderWidth(1f); cell37.setBackgroundColor(myColor1); PdfPCell cell38 = new PdfPCell(new Paragraph("2616141",font4)); //cell38.setLeading(10f, 0f); cell38.setPadding(3); cell38.setBorderWidth(1f); cell38.setBackgroundColor(myColor1); table2.addCell(cell33); table2.addCell(cell34); table2.addCell(cell35); table2.addCell(cell36); table2.addCell(cell37); table2.addCell(cell38); */ /* PdfPTable table3 = new PdfPTable(5); // 5 columns. table3.setWidthPercentage(100); PdfPCell cell39 = new PdfPCell(new Paragraph("Earnings",font1)); cell39.setLeading(10f, 0f); cell39.setPadding(4); cell39.setBorderWidth(1f); cell39.setBackgroundColor(myColor); PdfPCell cell40 = new PdfPCell(new Paragraph("Arrears (INR)",font1)); cell40.setLeading(10f, 0f); cell40.setPadding(4); cell40.setBorderWidth(1f); cell40.setBackgroundColor(myColor); PdfPCell cell41 = new PdfPCell(new Paragraph("Current (INR)",font1)); cell41.setLeading(10f, 0f); cell41.setPadding(4); cell41.setBorderWidth(1f); cell41.setBackgroundColor(myColor); PdfPCell cell42 = new PdfPCell(new Paragraph("Deductions",font1)); cell42.setLeading(10f, 0f); cell42.setPadding(4); cell42.setBorderWidth(1f); cell42.setBackgroundColor(myColor); PdfPCell cell43 = new PdfPCell(new Paragraph("Amount (INR)",font1)); cell43.setLeading(10f, 0f); cell43.setPadding(4); cell43.setBorderWidth(1f); cell43.setBackgroundColor(myColor); table3.addCell(cell39); table3.addCell(cell40); table3.addCell(cell41); table3.addCell(cell42); table3.addCell(cell43); String[] sal = new String[9]; sal[0]="Basic Salary"; sal[1]="House Rent Allowance"; sal[2]="Medical Allowance"; sal[3]="Travelling Allowance"; sal[4]="Personal Allowance"; sal[5]="City Allowance"; sal[6]="Performance Pay"; sal[7]="Provident Fund"; sal[8]="Professional Tax"; Float[] val = new Float[9]; val[0]=rs1.getFloat(4); val[1]=6000.00f; val[2]=1000.00f; val[3]=1000.00f; val[4]=val[0]/2; val[5]=1000.00f; val[6]=val[4]; val[7]=val[0]*12/100; val[8]=0.00f; if((val[0]+val[4]+val[6])*12>250000.00f) { val[8]=(val[0]+val[4]+val[6])/10; } for(int i=0;i<7;i++) { PdfPCell cell44 = new PdfPCell(new Paragraph(sal[i],font3)); //cell27.setLeading(10f, 0f); cell44.setPadding(3); cell44.setBorderWidth(1f); cell44.setBackgroundColor(myColor1); PdfPCell cell45 = new PdfPCell(new Paragraph("",font4)); // cell45.setLeading(10f, 0f); cell45.setPadding(3); cell45.setBorderWidth(1f); cell45.setBackgroundColor(myColor1); PdfPCell cell46 = new PdfPCell(new Paragraph(val[i].toString(),font3)); //cell46.setLeading(10f, 0f); cell46.setHorizontalAlignment(Element.ALIGN_RIGHT); cell46.setPadding(3); cell46.setBorderWidth(1f); cell46.setBackgroundColor(myColor1); table3.addCell(cell44); table3.addCell(cell45); table3.addCell(cell46); if(i==0 || i==1) { PdfPCell cell47 = new PdfPCell(new Paragraph(sal[7+i],font4)); //cell47.setLeading(10f, 0f); cell47.setPadding(3); cell47.setBorderWidth(1f); cell47.setBackgroundColor(myColor1); table3.addCell(cell47); PdfPCell cell48 = new PdfPCell(new Paragraph(val[i+7].toString(),font3)); //cell48.setLeading(10f, 0f); cell48.setHorizontalAlignment(Element.ALIGN_RIGHT); cell48.setPadding(3); cell48.setBorderWidth(1f); cell48.setBackgroundColor(myColor1); table3.addCell(cell48); } else { PdfPCell cell47 = new PdfPCell(new Paragraph("",font4)); cell47.setBorder(PdfPCell.NO_BORDER); cell47.setBorderWidthRight (1f); cell47.setColspan(2); table3.addCell(cell47); } } PdfPCell cell48 = new PdfPCell(new Paragraph("",font4)); //cell48.setBorder(PdfPCell.NO_BORDER); cell48.setColspan(3); table3.addCell(cell48); PdfPCell cell49 = new PdfPCell(new Paragraph("",font4)); //cell49.setBorder(PdfPCell.NO_BORDER); cell49.setColspan(2); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); table3.addCell(cell48); table3.addCell(cell49); PdfPCell cell50 = new PdfPCell(new Paragraph("Total Earnings (Current + Arrears)",font3)); //cell27.setLeading(10f, 0f); cell50.setColspan(2); cell50.setPadding(3); cell50.setBorderWidth(1f); cell50.setBackgroundColor(myColor1); table3.addCell(cell50); float a = 0.0f; for(int i=0;i<7;i++) {a+=val[i];} PdfPCell cell55 = new PdfPCell(new Paragraph(Float.toString(a),font3)); //cell27.setLeading(10f, 0f); cell55.setPadding(3); cell55.setHorizontalAlignment(Element.ALIGN_RIGHT); cell55.setBorderWidth(1f); cell55.setBackgroundColor(myColor1); table3.addCell(cell55); PdfPCell cell51 = new PdfPCell(new Paragraph("Total Deductions",font3)); //cell27.setLeading(10f, 0f); //cell51.setColspan(3); cell51.setPadding(3); cell51.setBorderWidth(1f); cell51.setBackgroundColor(myColor1); table3.addCell(cell51); float b = val[7]+val[8]; PdfPCell cell56 = new PdfPCell(new Paragraph(Float.toString(b),font3)); //cell27.setLeading(10f, 0f); //cell56.setColspan(3); cell56.setPadding(3); cell56.setHorizontalAlignment(Element.ALIGN_RIGHT); cell56.setBorderWidth(1f); cell56.setBackgroundColor(myColor1); table3.addCell(cell56); table3.setSpacingAfter(12f); document.add(table3); PdfPTable table4 = new PdfPTable(5); // 2 columns. table4.setWidthPercentage(100); PdfPCell cell54 = new PdfPCell(new Paragraph("",font3)); cell54.setBorder(PdfPCell.NO_BORDER); cell54.setColspan(3); table4.addCell(cell54); PdfPCell cell52 = new PdfPCell(new Paragraph("Net Pay",font5)); cell52.setLeading(10f, 0f); // cell52.setBorder(PdfPCell.ALIGN_CENTER); cell52.setHorizontalAlignment(Element.ALIGN_LEFT); cell52.setVerticalAlignment(Element.ALIGN_CENTER); cell52.setPadding(6f); cell52.setBorderWidth(1f); cell52.setBackgroundColor(myColor); table4.addCell(cell52); PdfPCell cell53 = new PdfPCell(new Paragraph(""+(a-b),font6)); cell53.setLeading(10f, 0f); cell53.setPadding(6f); cell53.setHorizontalAlignment(Element.ALIGN_CENTER); cell53.setVerticalAlignment(Element.ALIGN_CENTER); cell53.setBorderWidth(1f); table4.addCell(cell53); document.add(table4); */ // step 4 // document.add(new Paragraph(String.format( // "You have submitted the following text using the %s method:%s", // request.getMethod(),uname))); // document.add(new Paragraph(text)); // step 5 document.close(); // setting some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); // the contentlength response.setContentLength(baos.size()); // write ByteArrayOutputStream to the ServletOutputStream OutputStream os = response.getOutputStream(); baos.writeTo(os); os.flush(); os.close(); } else { response.sendRedirect("index.jsp?id=Your session may be expired. You have to login first"); } } catch (Exception e) { // throw new IOException(e.getMessage()); System.out.println(e); System.out.println("sssssssssssssssssss"); } }
From source file:AppPackage.printPDF.java
public void printNow(String id, String name, String dateRange, String underLate, String workedHours, String totalHours, String dateNow, String fDate, String lDate, String type, String empTypeRate, int lastRId, double salary) { this.id = id; this.name = name; this.dateRange = dateRange; this.underLate = underLate; this.workedHours = workedHours; this.totalHours = totalHours; this.dateNow = dateNow; this.fDate = fDate; this.lDate = lDate; this.type = type; this.empTypeRate = empTypeRate; this.lastRId = lastRId; this.salary = salary; try {//from w w w . j a va 2s .co m Document document = new Document(); Connection conn = null; Statement st = null; conn = dbC.getConnection(); st = conn.createStatement(); String query = "SELECT * FROM schedule WHERE empId ='" + id + "'"; ResultSet rs = st.executeQuery(query); PdfWriter.getInstance(document, new FileOutputStream("reports/Report-" + reportCount + "." + lastRId + "-" + id + ".pdf")); document.open(); document.setPageSize(PageSize.LETTER); document.setMargins(0f, 0f, 0f, 0f); Image image = Image.getInstance("Resources/DTRHeaderTwo.png"); document.add(image); PdfPTable ICTable = new PdfPTable(5); ICTable.setWidthPercentage(100); ICTable.getDefaultCell().setBorder(0); //create a cell object PdfPCell ICTableCell; Phrase ICBlank = new Phrase(); Phrase ICharge = new Phrase(); Phrase ICBlanko = new Phrase(); Phrase ICBlankx = new Phrase(); Phrase IChargex = new Phrase(); ICBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); ICTable.addCell(ICBlank); ICharge.add(new Chunk("_____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC))); ICTable.addCell(ICharge); ICBlanko.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); ICTable.addCell(ICBlanko); ICBlankx.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); ICTable.addCell(ICBlankx); IChargex.add(new Chunk("____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC))); ICTable.addCell(IChargex); ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); ICTableCell.setBorder(PdfPCell.NO_BORDER); ICTable.addCell(ICTableCell); ICTableCell = new PdfPCell( new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); ICTableCell.setBorder(PdfPCell.NO_BORDER); ICTable.addCell(ICTableCell); ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); ICTableCell.setBorder(PdfPCell.NO_BORDER); ICTable.addCell(ICTableCell); ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); ICTableCell.setBorder(PdfPCell.NO_BORDER); ICTable.addCell(ICTableCell); ICTableCell = new PdfPCell( new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); ICTableCell.setBorder(PdfPCell.NO_BORDER); ICTable.addCell(ICTableCell); PdfPTable dateRecTable = new PdfPTable(5); dateRecTable.setWidthPercentage(100); dateRecTable.getDefaultCell().setBorder(0); //create a cell object PdfPCell dateRecTableCell; Phrase dRDate = new Phrase(); Phrase dRNo = new Phrase(); Phrase dRBlank = new Phrase(); Phrase dRDatex = new Phrase(); Phrase dRNox = new Phrase(); dRDate.add( new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); dateRecTable.addCell(dRDate); dRNo.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); dateRecTable.addCell(dRNo); dRBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); dateRecTable.addCell(dRBlank); dRDatex.add( new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); dateRecTable.addCell(dRDatex); dRNox.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC))); dateRecTable.addCell(dRNox); PdfPTable InfoTable = new PdfPTable(5); InfoTable.setWidthPercentage(100); InfoTable.getDefaultCell().setBorder(0); //create a cell object PdfPCell InfoTableCell; Phrase infoId = new Phrase(); Phrase infoType = new Phrase(); Phrase infoBlank = new Phrase(); Phrase infoIdx = new Phrase(); Phrase infoTypex = new Phrase(); infoId.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTable.addCell(infoId); infoType.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTable.addCell(infoType); infoBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTable.addCell(infoBlank); infoIdx.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTable.addCell(infoIdx); infoTypex.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTable.addCell(infoTypex); InfoTableCell = new PdfPCell( new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell( new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell( new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell( new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); InfoTableCell.setBorder(PdfPCell.NO_BORDER); InfoTable.addCell(InfoTableCell); PdfPTable SchedTable = new PdfPTable(17); SchedTable.setWidthPercentage(100); SchedTable.getDefaultCell().setBorder(0); //create a cell object PdfPCell SchedTableCell; Phrase phraseDayS = new Phrase(); Phrase phraseAMTotal = new Phrase(); Phrase phraseAMStart = new Phrase(); Phrase phraseAMEnd = new Phrase(); Phrase phrasePMTotal = new Phrase(); Phrase phrasePMStart = new Phrase(); Phrase phrasePMEnd = new Phrase(); Phrase phraseTotalTime = new Phrase(); Phrase phraseBlankS = new Phrase(); Phrase phraseDaySx = new Phrase(); Phrase phraseAMTotalx = new Phrase(); Phrase phraseAMStartx = new Phrase(); Phrase phraseAMEndx = new Phrase(); Phrase phrasePMTotalx = new Phrase(); Phrase phrasePMStartx = new Phrase(); Phrase phrasePMEndx = new Phrase(); Phrase phraseTotalTimex = new Phrase(); phraseDayS.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseDayS); phraseAMStart.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMStart); phraseAMEnd.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMEnd); phraseAMTotal.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMTotal); phrasePMStart.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMStart); phrasePMEnd.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMEnd); phrasePMTotal.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMTotal); phraseTotalTime.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseTotalTime); phraseBlankS.add(new Chunk(" ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseBlankS); phraseDaySx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseDaySx); phraseAMStartx.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMStartx); phraseAMEndx.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMEndx); phraseAMTotalx.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseAMTotalx); phrasePMStartx.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMStartx); phrasePMEndx.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMEndx); phrasePMTotalx.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phrasePMTotalx); phraseTotalTimex.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); SchedTable.addCell(phraseTotalTimex); while (rs.next()) { SimpleDateFormat readingFormat = new SimpleDateFormat("HH:mm:ss"); SimpleDateFormat outputFormat = new SimpleDateFormat("hh:mm a"); String dayxxx = rs.getString("day"); String amStartxx = rs.getString("amStart"); String amEndxx = rs.getString("amEnd"); String pmStartxx = rs.getString("pmStart"); String pmEndxx = rs.getString("pmEnd"); String amTotalxx = rs.getString("amTotal"); String pmTotalxx = rs.getString("pmTotal"); String totalHoursxx = rs.getString("totalTime"); String blank = " "; String amStart = null; String amEnd = null; String amTotal = null; String pmStart = null; String pmEnd = null; String pmTotal = null; String totalHoursx = null; Date dayx = new SimpleDateFormat("EEEE").parse(dayxxx); SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE"); String day = sdfxxx.format(dayx); System.out.println(day + " day"); try { Date amStartTxx = readingFormat.parse(amStartxx); amStart = outputFormat.format(amStartTxx); if (amStart.equals("12:00 AM")) { amStart = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date amEndTx = readingFormat.parse(amEndxx); amEnd = outputFormat.format(amEndTx); if (amEnd.equals("12:00 AM")) { amEnd = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date amTotalTx = readingFormat.parse(amTotalxx); amTotal = outputFormat.format(amTotalTx); if (amTotal.equals("12:00 AM")) { amTotal = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date pmStartTxx = readingFormat.parse(pmStartxx); pmStart = outputFormat.format(pmStartTxx); if (pmStart.equals("12:00 AM")) { pmStart = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date pmEndTxx = readingFormat.parse(pmEndxx); pmEnd = outputFormat.format(pmEndTxx); if (pmEnd.equals("12:00 AM")) { pmEnd = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date pmTotalTxx = readingFormat.parse(pmTotalxx); pmTotal = outputFormat.format(pmTotalTxx); if (pmTotal.equals("12:00 AM")) { pmTotal = "00:00"; } } catch (Exception e) { e.printStackTrace(); } try { Date totalHoursxT = readingFormat.parse(totalHoursxx); totalHoursx = outputFormat.format(totalHoursxT); if (totalHoursx.equals("12:00 AM")) { totalHoursx = "00:00"; } } catch (Exception e) { e.printStackTrace(); } System.out.println(day); System.out.println(amStart); System.out.println(amEnd); System.out.println(amTotal); System.out.println(pmStart); System.out.println(pmEnd); System.out.println(pmTotal); System.out.println(totalHoursx); SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell(new Phrase(blank)); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); SchedTableCell = new PdfPCell( new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); SchedTableCell.setBorder(PdfPCell.NO_BORDER); SchedTable.addCell(SchedTableCell); } PdfPTable DTRTable = new PdfPTable(17); DTRTable.setWidthPercentage(100); DTRTable.getDefaultCell().setBorder(0); //create a cell object PdfPCell DTRTableCell; Phrase phraseDay = new Phrase(); Phrase phraseDate = new Phrase(); Phrase phraseAMIn = new Phrase(); Phrase phraseAMOut = new Phrase(); Phrase phrasePMIn = new Phrase(); Phrase phrasePMOut = new Phrase(); Phrase phraseHours = new Phrase(); Phrase phraseUTL = new Phrase(); Phrase phraseBlank = new Phrase(); Phrase phraseDayx = new Phrase(); Phrase phraseDatex = new Phrase(); Phrase phraseAMInx = new Phrase(); Phrase phraseAMOutx = new Phrase(); Phrase phrasePMInx = new Phrase(); Phrase phrasePMOutx = new Phrase(); Phrase phraseHoursx = new Phrase(); Phrase phraseUTLx = new Phrase(); phraseDay.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseDay); phraseDate.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseDate); phraseAMIn.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseAMIn); phraseAMOut.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseAMOut); phrasePMIn.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phrasePMIn); phrasePMOut.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phrasePMOut); phraseHours.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseHours); phraseUTL.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseUTL); phraseBlank.add(new Chunk(" ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseBlank); phraseDayx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseDayx); phraseDatex.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseDatex); phraseAMInx.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseAMInx); phraseAMOutx.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseAMOutx); phrasePMInx.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phrasePMInx); phrasePMOutx.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phrasePMOutx); phraseHoursx.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseHoursx); phraseUTLx.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD))); DTRTable.addCell(phraseUTLx); try { Connection connx = null; Statement stx = null; connx = dbC.getConnection(); stx = connx.createStatement(); String queryx = "SELECT timeinout.day, timeinout.date, schedule.totalTime, schedule.amTotal, " + "schedule.amStart, timeinout.amTimeIn, schedule.amEnd, timeinout.amTimeOut, " + "schedule.pmTotal, schedule.pmStart, timeinout.pmTimeIn, schedule.pmEnd, " + "timeinout.pmTimeOut FROM timeinout LEFT JOIN " + "(schedule) ON (schedule.empId = timeinout.empId AND timeinout.day = schedule.day) WHERE " + "timeinout.empId ='" + id + "' AND schedule.empId = '" + id + "' AND date(`Date`) >= '" + fDate + "' " + "AND date(`Date`) <= '" + lDate + "'"; ResultSet rsx = stx.executeQuery(queryx); while (rsx.next()) { String day = rsx.getString("timeinout.day"); String date = rsx.getString("timeinout.date"); String amStartDB = rsx.getString("schedule.amStart"); String amIn = rsx.getString("timeinout.amTimeIn"); String amEndDB = rsx.getString("schedule.amEnd"); String amOut = rsx.getString("timeinout.amTimeOut"); String pmStartDB = rsx.getString("schedule.pmStart"); String pmIn = rsx.getString("timeinout.pmTimeIn"); String pmEndDB = rsx.getString("schedule.pmEnd"); String pmOut = rsx.getString("timeinout.pmTimeOut"); String totTime = rsx.getString("schedule.totalTime"); String wHours; String blank = " "; String dayx = rsx.getString("timeinout.day"); String datex = rsx.getString("timeinout.date"); // String amStartDBx = rsx.getString("schedule.amStart"); // String amInx = rsx.getString("timeinout.amTimeIn"); // String amEndDBx = rsx.getString("schedule.amEnd"); // String amOutx = rsx.getString("timeinout.amTimeOut"); // String pmStartDBx = rsx.getString("schedule.pmStart"); // String pmInx = rsx.getString("timeinout.pmTimeIn"); // String pmEndDBx = rsx.getString("schedule.pmEnd"); String pmOutx = rsx.getString("timeinout.pmTimeOut"); String totalAM = rsx.getString("schedule.amTotal"); String totalPM = rsx.getString("schedule.pmTotal"); String totTimex = rsx.getString("schedule.totalTime"); String wHoursx; parser.setTimeZone(TimeZone.getTimeZone("UTC")); if (!amEndDB.equals("00:00:00") && !amOut.equals("00:00:00")) { Start = parser.parse(amEndDB); In = parser.parse(amOut); if (Start.after(In)) { amOutDiff = tDiff.timeDiff(amOut, amEndDB); amOutDiffT = parser.parse(amOutDiff); amOutDiffTotal += amOutDiffT.getTime(); } else { amOutDiff = "00:00:00"; } } else { amOutDiff = totalAM; amOutDiffT = parser.parse(amOutDiff); amOutDiffTotal += amOutDiffT.getTime(); } Start = parser.parse(amStartDB); In = parser.parse(amIn); if (Start.after(In)) { amInDiff = "00:00:00"; } else if (amOutDiff.equals(totalAM)) { amInDiff = "00:00:00"; } else { amInDiff = tDiff.timeDiff(amStartDB, amIn); amInDiffT = parser.parse(amInDiff); amInDiffTotal += amInDiffT.getTime(); } if (!pmEndDB.equals("00:00:00") && !pmOut.equals("00:00:00")) { Start = parser.parse(pmEndDB); In = parser.parse(pmOut); if (Start.after(In)) { pmOutDiff = tDiff.timeDiff(pmOut, pmEndDB); pmOutDiffT = parser.parse(pmOutDiff); pmOutDiffTotal += pmOutDiffT.getTime(); } else { pmOutDiff = "00:00:00"; } } else { pmOutDiff = totalPM; pmOutDiffT = parser.parse(pmOutDiff); pmOutDiffTotal += pmOutDiffT.getTime(); } Start = parser.parse(pmStartDB); In = parser.parse(pmIn); if (Start.after(In)) { pmInDiff = "00:00:00"; } else if (pmOutDiff.equals(totalPM)) { pmInDiff = "00:00:00"; } else { pmInDiff = tDiff.timeDiff(pmStartDB, pmIn); pmInDiffT = parser.parse(pmInDiff); pmInDiffTotal += pmInDiffT.getTime(); } Date totH = parser.parse(totTimex); long totHTotal = 0; totHTotal += totH.getTime(); Date amInDiffx = parser.parse(amInDiff); Date amOutDiffx = parser.parse(amOutDiff); Date pmInDiffx = parser.parse(pmInDiff); Date pmOutDiffx = parser.parse(pmOutDiff); long workedHoursxxx = amInDiffx.getTime() + amOutDiffx.getTime() + pmInDiffx.getTime() + pmOutDiffx.getTime(); long hoursx = workedHoursxxx / 3600000; long minutesx = (workedHoursxxx % 3600000) / 60000; wHours = String.format("%02d:%02d", hoursx, minutesx); wHoursx = String.format("%02d:%02d", hoursx, minutesx); Date dayxxx = new SimpleDateFormat("EEEE").parse(day); SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE"); String newDayxx = sdfxxx.format(dayxxx); System.out.println(newDayxx); DTRTableCell = new PdfPCell( new Phrase(newDayxx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); Date datexx = new SimpleDateFormat("yyyy-MM-dd").parse(date); SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy"); String newDate = sdf.format(datexx); System.out.println(newDate); DTRTableCell = new PdfPCell( new Phrase(newDate, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(amIn); DTRTableCell = new PdfPCell( new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(amOut); DTRTableCell = new PdfPCell( new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(pmIn); DTRTableCell = new PdfPCell( new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(pmOut); DTRTableCell = new PdfPCell( new Phrase(pmOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(totTime); DTRTableCell = new PdfPCell( new Phrase(totTime, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(wHours); DTRTableCell = new PdfPCell( new Phrase(wHours, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(blank); DTRTableCell = new PdfPCell(new Phrase(blank)); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); Date dayxx = new SimpleDateFormat("EEEE").parse(dayx); SimpleDateFormat sdfxx = new SimpleDateFormat("EEE"); String newDayx = sdfxx.format(dayxx); System.out.println(newDayx); DTRTableCell = new PdfPCell( new Phrase(newDayx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); Date datexxx = new SimpleDateFormat("yyyy-MM-dd").parse(datex); SimpleDateFormat sdfx = new SimpleDateFormat("dd-MM-yy"); String newDatex = sdfx.format(datexxx); System.out.println(newDatex); DTRTableCell = new PdfPCell( new Phrase(newDatex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(amIn); DTRTableCell = new PdfPCell( new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(amOut); DTRTableCell = new PdfPCell( new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(pmIn); DTRTableCell = new PdfPCell( new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(pmOutx); DTRTableCell = new PdfPCell( new Phrase(pmOutx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(totTimex); DTRTableCell = new PdfPCell( new Phrase(totTimex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); System.out.println(wHoursx); DTRTableCell = new PdfPCell( new Phrase(wHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL))); DTRTableCell.setBorder(PdfPCell.NO_BORDER); DTRTable.addCell(DTRTableCell); } } catch (Exception e) { JOptionPane.showMessageDialog(null, e); } document.add(dateRecTable); document.add(InfoTable); document.add(new Paragraph( "----------------------------------------------------------------------- ----------------------------------------------------------------------", FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK))); document.add(new Paragraph( " Schedule Schedule\n", FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK))); document.add(SchedTable); document.add(new Paragraph( "----------------------------------------------------------------------- ----------------------------------------------------------------------", FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK))); document.add(new Paragraph( " Dailty Time Record Dailty Time Record\n", FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK))); document.add(DTRTable); document.add(ICTable); try { conn = dbC.getConnection(); PreparedStatement stmtx = conn.prepareStatement("INSERT INTO released" + "(empId, firstDate, lastDate, totalHours, lateUnderTime, workedHours, fileName, salary) VALUES (?,?,?,?,?,?,?,?)"); stmtx.setString(1, id); stmtx.setString(2, fDate); stmtx.setString(3, lDate); stmtx.setString(4, totalHours); stmtx.setString(5, workedHours); stmtx.setString(6, totalHours); stmtx.setString(7, "Report-" + reportCount + "." + lastRId + "-" + id + ".pdf"); stmtx.setString(8, salary + ""); stmtx.executeUpdate(); } catch (SQLException se) { //Handle errors for JDBC se.printStackTrace(); } catch (Exception e) { //Handle errors for Class.forName e.printStackTrace(); } finally { //finally block used to close resources try { if (stmt != null) conn.close(); } catch (SQLException se) { } // do nothing try { if (conn != null) conn.close(); } catch (SQLException se) { se.printStackTrace(); } //end finally try } //end try document.close(); } catch (DocumentException | IOException | SQLException e) { JOptionPane.showMessageDialog(null, e); } catch (ParseException ex) { Logger.getLogger(printPDF.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:bd.gov.forms.web.FormBuilder.java
License:Open Source License
@RequestMapping(value = "/individualpdf", method = RequestMethod.GET) public String individualpdf(@RequestParam(value = "formId", required = true) String formId, @RequestParam(value = "entryId", required = true) String entryId, ModelMap model, HttpServletResponse response) throws IOException { byte[] fileContent = formDao.getTemplateContent(formId); Form form = formDao.getFormWithFields(formId); form.setEntryId(entryId);/*from w ww. j a v a2 s. c o m*/ form = formDao.getEntry(form); String report = ""; Document document = new Document(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if (fileContent != null) { report = new String(fileContent, "UTF8"); for (Field field : form.getFields()) { if (fieldTypeIsNotOfFileOrNoteOrSection(field)) { report = report.replaceAll("#" + field.getColName() + ":label#", field.getLabel()); report = report.replaceAll("#" + field.getColName() + ":value#", field.getStrVal()); } } } else { // step 2 try { response.reset(); response.setContentType("application/pdf"); response.setHeader("Content-disposition", "inline; filename=test.pdf"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setHeader("Pragma", "No-cache"); PdfWriter writer = PdfWriter.getInstance(document, baos); // step 3 document.open(); PdfPCell space; space = new PdfPCell(); space.setBorder(Rectangle.NO_BORDER); space.setColspan(2); space.setFixedHeight(8); PdfPTable table = new PdfPTable(2); PdfPCell cell; report += "<table cellspacing='0' cellpadding='0' style='border:1px solid #aaa;width:98%;'>"; for (Field field : form.getFields()) { if (fieldTypeIsNotOfFileOrNoteOrSection(field)) { report += field.getLabel(); report += field.getStrVal(); table.setWidths(new int[] { 1, 2 }); table.addCell(field.getLabel()); //cell = new PdfPCell(); //cell.setCellEvent(new TextFields(1)); table.addCell(field.getStrVal()); } } document.add(table); document.close(); ServletOutputStream out = response.getOutputStream(); baos.writeTo(out); out.flush(); } catch (Exception ex) { System.out.println("Could not print reasone::" + ex.toString()); } } return null; }
From source file:bd.gov.forms.web.FormBuilder.java
License:Open Source License
@RequestMapping(value = "/pdfExport", method = RequestMethod.GET) public String pdfExport(@RequestParam(value = "formId", required = true) String formId, @RequestParam(value = "page", required = false) Integer page, @RequestParam(value = "colName", required = false) String colName, @RequestParam(value = "colVal", required = false) String colVal, @RequestParam(value = "sortCol", required = false) String sortCol, @RequestParam(value = "sortDir", required = false) String sortDir, ModelMap model, HttpServletResponse response, HttpServletRequest request) throws IOException { Document document = new Document(); ByteArrayOutputStream baos = new ByteArrayOutputStream(); // step 2//from w w w .j a v a 2 s . c o m try { response.reset(); response.setContentType("application/pdf"); response.setHeader("Content-disposition", "inline; filename=test.pdf"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setHeader("Pragma", "No-cache"); PdfWriter writer = PdfWriter.getInstance(document, baos); // step 3 document.open(); Form form = null; //System.out.println("The form id is 1:"+formId); if (formId != null) { form = formDao.getFormWithFields(formId); } if (form != null) { if (form.getStatus() != 2) {//2-active, 3-deactive model.put("doneMessage", "msg.access.denied"); model.put("doneMsgType", "failed"); return "redirect:done.htm"; } initForm(form); } List<Field> fieldList = form.getFields(); if (fieldList.isEmpty()) { System.out.println("The list size is zero"); } PdfPCell space; space = new PdfPCell(); space.setBorder(Rectangle.NO_BORDER); space.setColspan(2); space.setFixedHeight(8); PdfPTable table = new PdfPTable(2); PdfPCell cell; //PdfPCell cell; table.setWidths(new int[] { 1, 2 }); int i = 0; for (Field f : fieldList) { if ("text".equals(f.getType())) { table.addCell(f.getLabel()); cell = new PdfPCell(); cell.setCellEvent(new TextFields(1, i)); table.addCell(cell); } else if ("textarea".equals(f.getType())) { table.addCell(f.getLabel()); cell = new PdfPCell(); cell.setCellEvent(new TextFields(1, i)); cell.setFixedHeight(60); table.addCell(cell); } else if ("select".equals(f.getType())) { table.addCell(f.getType()); cell = new PdfPCell(); cell.setCellEvent(new ChoiceFields(3, f.getList().toArray())); table.addCell(cell); //table.addCell(space); System.out.println("ajsdhd"); } i++; } /* for(Field f : fieldList) { if( "radio".equals(f.getType()) ) { System.out.println("List "+f.getList()+" Oppt"+f.getOptions()+ " df"+f.getColName()); writer = PdfWriter.getInstance(document, new FileOutputStream("TextFieldForm.pdf")); //writer.addJavaScript(Utilities.readFileToString("")); // add the radio buttons PdfContentByte canvas = writer.getDirectContent(); Font font = new Font(FontFamily.HELVETICA, 14); Rectangle rect; PdfFormField field; PdfFormField radiogroup = PdfFormField.createRadioButton(writer, true); radiogroup.setFieldName("language"); RadioCheckField radio; for (int i = 0; i < 2; i++) { rect = new Rectangle(40, 806 - i * 40, 60, 788 - i * 40); radio = new RadioCheckField(writer, rect, null, f.getLabel()); radio.setBorderColor(GrayColor.GRAYBLACK); radio.setBackgroundColor(GrayColor.GRAYWHITE); radio.setCheckType(RadioCheckField.TYPE_CIRCLE); field = radio.getRadioField(); radiogroup.addKid(field); writer.addAnnotation(field); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, new Phrase(f.getLabel(), font), 70, 790 - i * 40, 0); } //table.addCell(f.getLabel()); //cell = new PdfPCell(); //document.add(radiogroup); //writer.addAnnotation(radiogroup); } } */ // Add submit button PushbuttonField submitBtn = new PushbuttonField(writer, new Rectangle(400, 700, 370, 670), "submitPOST"); //submitBtn.setBackgroundColor(Color.GRAY); submitBtn.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED); submitBtn.setText("Submit"); submitBtn.setOptions(PushbuttonField.VISIBLE_BUT_DOES_NOT_PRINT); PdfFormField submitField = submitBtn.getField(); submitField.setAction( PdfAction.createSubmitForm("http://localhost:8084/GovForm-07-02/formBuilder/pdfresponse.htm", null, PdfAction.SUBMIT_HTML_FORMAT)); writer.addAnnotation(submitField); document.add(table); System.out.println("Pdf creation successful"); document.close(); ServletOutputStream out = response.getOutputStream(); baos.writeTo(out); out.flush(); } catch (Exception ex) { System.out.println("Could not print reasone::" + ex.toString()); } //////////////////////////////////////// email part//////////////////////////// //email functionalities // Recipient's email ID needs to be mentioned. String to = "tanviranik@gmail.com"; // Sender's email ID needs to be mentioned String from = "tanvir_cse@yahoo.com"; // Assuming you are sending email from localhost String host = "localhost"; // Get system properties Properties properties = System.getProperties(); // Setup mail server properties.setProperty("mail.smtp.host", host); // Get the default Session object. Session session = Session.getDefaultInstance(properties); try { // Create a default MimeMessage object. MimeMessage message = new MimeMessage(session); // Set From: header field of the header. message.setFrom(new InternetAddress(from)); // Set To: header field of the header. message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // Set Subject: header field message.setSubject("This is the Subject Line!"); // Now set the actual message message.setText("This is actual message"); // Send message Transport.send(message); System.out.println("Sent message successfully...."); } catch (MessagingException mex) { mex.printStackTrace(); } //////////////////////////////////////// email part//////////////////////////// return null; }
From source file:be.kcbj.placemat.Placemat.java
License:Open Source License
private PdfPCell generateCell(Sponsor sponsor, float cellHeight) throws IOException, BadElementException { int numLines = 0; Paragraph p = new Paragraph(); if (sponsor.image != null) { Image image = Image.getInstance(SponsorManager.getImageUrl(sponsor.image)); if (sponsor.imageWidth != 0) { image.scaleToFit(sponsor.imageWidth, 1000); } else if (sponsor.imageHeight != 0) { image.scaleToFit(1000, sponsor.imageHeight); }//from w w w.ja v a 2 s .c om Chunk imageChunk = new Chunk(image, 0, 0, true); p.add(imageChunk); } if (sponsor.twoColumns) { StringBuilder sb = new StringBuilder(); if (sponsor.name != null) { sb.append(sponsor.name); } if (sponsor.name2 != null) { if (sb.length() > 0) { sb.append(" - "); } sb.append(sponsor.name2); } if (sponsor.address != null) { if (sb.length() > 0) { sb.append(" - "); } sb.append(sponsor.address); } if (sponsor.address2 != null) { if (sb.length() > 0) { sb.append(" - "); } sb.append(sponsor.address2); } p.add(Chunk.NEWLINE); p.add(new Chunk(sb.toString(), new Font(Font.FontFamily.HELVETICA, 8, Font.NORMAL))); numLines++; } else { if (sponsor.twoRows && sponsor.image != null) { p.add(Chunk.NEWLINE); } if (sponsor.name != null) { p.add(generateFittedChunk(sponsor.name, Font.BOLD)); numLines++; } if (sponsor.name2 != null) { p.add(Chunk.NEWLINE); p.add(generateFittedChunk(sponsor.name2, Font.BOLD)); numLines++; } if (sponsor.address != null) { p.add(new Chunk("\n\n", new Font(Font.FontFamily.HELVETICA, 2, Font.NORMAL))); p.add(new Chunk(sponsor.address, new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); numLines++; } if (sponsor.address2 != null) { p.add(Chunk.NEWLINE); p.add(new Chunk(sponsor.address2, new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL))); numLines++; } } p.setPaddingTop(0); p.setSpacingBefore(0); p.setAlignment(Element.ALIGN_CENTER); p.setMultipliedLeading(numLines <= 3 ? 1.3f : 1.1f); PdfPCell cell = new PdfPCell(); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setFixedHeight(cellHeight); if (sponsor.twoColumns) { cell.setColspan(2); } if (sponsor.twoRows) { cell.setRowspan(2); if (sponsor.image == null) { p.setMultipliedLeading(p.getMultipliedLeading() * 1.5f); } } cell.setBorder(PdfPCell.NO_BORDER); cell.setCellEvent(CELL_EVENT); cell.setPaddingBottom(4); cell.addElement(p); if (sponsor.isTodo()) { cell.setBackgroundColor(BaseColor.ORANGE); } return cell; }
From source file:be.rheynaerde.poolsheets.AbstractPoolSheet.java
License:Open Source License
protected void buildTitle(Document document) throws DocumentException { //the title is placed in a one-column table of width 100% PdfPTable table = new PdfPTable(1); table.setHorizontalAlignment(PdfPTable.ALIGN_CENTER); table.setWidthPercentage(100f);//from ww w .j a v a2 s.co m //one row for the title PdfPCell cell = new PdfPCell(new Phrase(configuration.getTitle(), configuration.getTitleFont())); cell.setBorder(Rectangle.NO_BORDER); cell.setPaddingBottom(10f); table.addCell(cell); //one row for the subtitle cell = new PdfPCell(new Phrase(configuration.getSubtitle(), configuration.getSubtitleFont())); cell.setBorder(Rectangle.NO_BORDER); cell.setBorder(Rectangle.TOP); table.addCell(cell); //make sure that there is some spacing between the title and the scores //20f just seems to work allright, but maybe something more configurable //would be better. table.setSpacingAfter(20f); document.add(table); }
From source file:be.rheynaerde.poolsheets.AbstractPoolSheet.java
License:Open Source License
protected void buildBoutOrder(Document document) throws DocumentException { PdfPTable table = new PdfPTable(configuration.getBoutOrderColumns()); BoutOrder mo = configuration.getBoutOrder(); if (mo.getNrOfBouts() == 0) return;// w w w. j a va2 s .c o m int rows = mo.getNrOfBouts() / configuration.getBoutOrderColumns(); if (mo.getNrOfBouts() % configuration.getBoutOrderColumns() != 0) rows++; int shortComing = (rows - (mo.getNrOfBouts() % rows)) % rows; for (int i = 0; i < rows - shortComing; i++) { for (int j = 0; j < configuration.getBoutOrderColumns(); j++) { int boutNumber = j * rows + i; table.addCell(getBoutCell(mo, boutNumber)); } for (int j = 0; j < configuration.getBoutOrderSpacing(); j++) { for (int k = 0; k < configuration.getBoutOrderColumns(); k++) { PdfPCell spacing = new PdfPCell(); spacing.setBorder(Rectangle.NO_BORDER); spacing.setFixedHeight(configuration.getSquareCellSize()); table.addCell(spacing); } } } for (int i = rows - shortComing; i < rows; i++) { for (int j = 0; j < configuration.getBoutOrderColumns() - 1; j++) { int boutNumber = j * rows + i; table.addCell(getBoutCell(mo, boutNumber)); } PdfPCell cell = new PdfPCell(); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); for (int j = 0; j < configuration.getBoutOrderSpacing(); j++) { for (int k = 0; k < configuration.getBoutOrderColumns(); k++) { PdfPCell spacing = new PdfPCell(); spacing.setBorder(Rectangle.NO_BORDER); spacing.setFixedHeight(configuration.getSquareCellSize()); table.addCell(spacing); } } } table.setSpacingBefore(20f); document.add(table); }
From source file:be.rheynaerde.poolsheets.AbstractPoolSheet.java
License:Open Source License
protected PdfPCell getBoutCell(BoutOrder mo, int boutNumber) { PdfPCell cell = new PdfPCell(); int firstPlayerOfBout = mo.getFirstPlayerOfBout(boutNumber); int secondPlayerOfBout = mo.getSecondPlayerOfBout(boutNumber); cell.addElement(getBout(Integer.toString(firstPlayerOfBout), Integer.toString(secondPlayerOfBout))); cell.setBorder(Rectangle.NO_BORDER); return cell;//from w w w . j av a 2 s. c o m }