<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <%@page import="com.csc.library.utility.DHMConvert" %>
    <%@page import="java.util.ArrayList" %>
    <%@page import="java.util.Iterator" %>
    <%@page import="java.util.Vector" %>
    <%@page import="java.util.*" %>
    <%@page import="com.csc.library.report.ReportUDF" %>
    <%@page import="javax.servlet.jsp.jstl.sql.Result" %>
    <%@page import="java.io.FileOutputStream" %>
    <%@page import="java.io.OutputStream" %>
    <%@page import="java.io.ByteArrayOutputStream" %>
    <%@page import="java.net.URLDecoder" %>
    <%@page import="java.text.DecimalFormat" %>
    <%@page import="java.net.URLEncoder" %>
    <%@page import="java.util.HashMap" %>
    <%@page import="java.text.SimpleDateFormat" %>
    <%@page import="java.util.Locale" %>
    <%@page import="java.util.Date" %>
    <%@page import="java.util.GregorianCalendar" %>
    <%@page import="com.csc.library.database.DataSet" %>
    <%@page import="com.csc.library.session.InitialInquiry" %>
    <%@page import="com.csc.library.session.InitialRecord" %>
    <%@page import="com.csc.library.session.DbInquiry" %>
    <%@page import="com.csc.library.session.DbRecord" %>
    <%@page import="com.csc.library.entry.HelpEntry" %>
    <%@page import="com.itextpdf.text.*" %>
    <%@page import="com.itextpdf.text.pdf.*" %>
    <%@page import="java.io.ByteArrayOutputStream" %>
    <%@page import="com.csc.library.session.InitialEnvironment" %>
    <%@page import="java.io.File" %>
    <%@page import="org.json.JSONArray" %>
    <%@page import="org.json.JSONObject" %>
    <%@page import="com.csc.library.utilities.*" %>
    <%@ page import="com.csc.library.databean.Simmcandidatewithgson" %>
    <%@ page import="com.csc.library.database.MyHashMap" %>
    <%@ page import="com.csc.library.utilities.gsonmapping.*" %>
    <jsp:useBean id="CandidatePrint_DHAS" class="com.csc.library.system.Task" scope="page"/>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8"/>
    <title>Report</title>
    </head>
    <body>

    <%
        CandidatePrint_DHAS.setChannel(request, response);
    HelpEntry screen = (HelpEntry) CandidatePrint_DHAS.process("HelpEntry", "MCANDIDATEHELP");
    CheckNull chk = new CheckNull();


    String filter = "APPLICANTID = '" + chk.chkNullString(request.getParameter("appid")) + "'";
    screen.setMaxLine(1);
    screen.inq.setFilter(filter);
    screen.process();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();//72
    Document document = new Document(PageSize.A4, 20, 20, 20, 20);// Left,Right,Top,Down
    float[] sizeColumn = new float[]{};

    //   PdfWriter.getInstance(document, baos);
    PdfWriter writer = PdfWriter.getInstance(document, baos);
    // add header and footer

    document.open();
    document.addTitle("Document Title");

  // Setting Fonts
   BaseFont bfWithFontAWesome = BaseFont.createFont(application.getRealPath("FONTS/FontAwesome.otf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    BaseFont bf = BaseFont.createFont(application.getRealPath("FONTS/Cordia.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
    BaseFont bfHead = BaseFont.createFont(application.getRealPath("FONTS/Cordia.ttf"), BaseFont.IDENTITY_H, BaseFont.EMBEDDED, true);
    Font font = new Font(bf, 11);
    Font fontTopic = new Font(bfHead, 20, Font.BOLD);
    Font fontHead = new Font(bfHead, 13, Font.BOLD);
    Font fontHeadWhiteColor = new Font(bfHead, 11, Font.BOLD, new BaseColor(255, 255, 255));
    //fontHead.setStyle(Font.BOLD);
    Font fontContent = new Font(bfHead, 11);
    Font fontBoldContent = new Font(bfHead, 11, Font.BOLD);
    Font font20B = new Font(bfHead, 20, Font.BOLD);
    Font font14N = new Font(bf, 14);
    Font font14B = new Font(bf, 14, Font.BOLD);
    Font font12N = new Font(bf, 12);
    Font font12B = new Font(bf, 12, Font.BOLD);
    Font fontAwesome = new Font(bfWithFontAWesome, 10);

    // set vlign middle
    Phrase content = new Phrase("Blah blah blah", font);
    Float fontSize = content.getFont().getSize();
    Float capHeight = content.getFont().getBaseFont().getFontDescriptor(BaseFont.CAPHEIGHT, fontSize);

    boolean hasData = false;
    if (screen.getInquiry().recCount() > 0) {
      hasData = true;
      screen.nextRec();
      screen.referLangOn();
      DbInquiry dbinq = null;
      int i = 0;
      
      Simmcandidatewithgson simmcandidatewithgson = (Simmcandidatewithgson) screen.inq.getCurrentDbRecord();
       //----------------------------mprefix------------------------------------

        String prefixTdesc = "";
        String prefixEdesc = "";

        DbInquiry inqmprefix = new InitialInquiry(screen.getUProfile()).getDbInquiry("mprefix");
        inqmprefix.setFilter("prefixid = '" + simmcandidatewithgson.mcandidatePersonal.prefixid + "'");
        inqmprefix.refresh();
        while (inqmprefix.next()) {
            prefixTdesc = inqmprefix.getString("tdesc");
            prefixEdesc = inqmprefix.getString("edesc");
        }

        //----------------------------END mprefix------------------------------------
        DecimalFormat DFO = new DecimalFormat("#,###,###.##");
        //----------------------------SET DATA Family------------------------------------
        MyHashMap familybackground = new MyHashMap();
        String[] masterrelations = {"01", "02", "03" ,"99"};
        String occupationDesc = "";
        String prefixTdesc_family = "";
        String line = "";
        int childtotal = 0;
        int relativetotal = 0;
        for (String relatationkey : masterrelations) {
            familybackground.put("prefix" + relatationkey, "");
            familybackground.put("fname" + relatationkey, "");
            familybackground.put("lname" + relatationkey, "");
            familybackground.put("age" + relatationkey, "");
            familybackground.put("occupation" + relatationkey, "");
            familybackground.put("position" + relatationkey, "");
            familybackground.put("status" + relatationkey, "");
            familybackground.put("workplace" + relatationkey, "");
            familybackground.put("phone" + relatationkey, "");
        }

        familybackground.putToSum("prefixallchild", "");
        familybackground.putToSum("nameallchild", "");
        familybackground.putToSum("ageallchild", "");
        familybackground.putToSum("occupationallchild", "");
        familybackground.putToSum("positionallchild", "");
        familybackground.putToSum("statusallchild", "");
        familybackground.putToSum("workplaceandphoneallchild", "");
        //set blank data in ประวัติทั่วไป พี่น้อง 5 บรรทัด
        for (int num = 0 ; num < 5 ;num++){
          familybackground.put("nameSiblings "+num, "");
          familybackground.put("ageSiblings "+num, "");
          familybackground.put("relationSiblings "+num, "00");  
          familybackground.put("occupationSiblings "+num, "");
          familybackground.put("positionSiblings "+num, "");
          familybackground.put("workplaceSiblings "+num, "");
          familybackground.put("phoneSiblings "+num, "");          
        }
        //Use For Count older,littel brother and ister
        familybackground.putToSum("relation05" , 0);
        familybackground.putToSum("relation06" , 0);
        familybackground.putToSum("relation07" , 0);
        familybackground.putToSum("relation08" , 0);

        DbInquiry inqoccupation = new InitialInquiry(screen.getUProfile()).getDbInquiry("moccupation");
        DbInquiry inqmprefix_family = new InitialInquiry(screen.getUProfile()).getDbInquiry("mprefix");

        String prefixallchild = "";
        String nameallchild = "";
        String ageallchild = "";
        String occupationallchild = "";
        String positionallchild = "";
        String statusallchild = "";
        String workplaceandphoneallchild = "";

        String nameSiblings  = "";
        String ageSiblings  = "";
        String occupationSiblings  = "";
        String positionSiblings  = "";
        String workplaceSiblings  = "";
        String phoneSiblings  = "";

        for (McandidateFamily.Family family : simmcandidatewithgson.mcandidateFamily.family) {
            inqoccupation.setFilter("occid = '" + family.occupation+ "'");
            inqoccupation.refresh();
            inqmprefix_family.setFilter("prefixid = '" + family.prefixid + "'");
            inqmprefix_family.refresh();
            while (inqoccupation.next()) {
                occupationDesc = inqoccupation.getString("tdesc");
            }
            while (inqmprefix_family.next()) {
                prefixTdesc_family = inqmprefix_family.getString("tdesc");
            }
            familybackground.put("prefix" + family.relation,prefixTdesc_family);
            familybackground.put("fname" + family.relation, family.fname);
            familybackground.put("lname" + family.relation, family.lname);
            familybackground.put("age" + family.relation, family.age);
            familybackground.put("occupation" + family.relation, occupationDesc);
            familybackground.put("position" + family.relation, family.position);
            familybackground.put("status" + family.relation, family.status);
            familybackground.put("workplace" + family.relation, family.workplace);
            familybackground.put("phone" + family.relation, family.phone);


            if ("09,10,11,12,".indexOf(family.relation) > -1) {
                if (childtotal > 0) {
                    line = System.lineSeparator();
                }
                prefixallchild += line + prefixTdesc_family;
                nameallchild += line + family.fname + " " + family.lname;
                ageallchild += line + family.age;
                occupationallchild += line + occupationDesc;
                positionallchild += line + family.position;
                statusallchild += line + family.status;
                workplaceandphoneallchild += line + family.workplace + " " + family.phone;
                childtotal++;
            }
            if ("05,06,07,08,".indexOf(family.relation) > -1) {
                if (relativetotal > 0) {
                    line = System.lineSeparator();
                }

                familybackground.putToSum("relation" + family.relation, 1); // Count All Siblings

                familybackground.put("relationSiblings" + relativetotal, family.relation);
                familybackground.put("nameSiblings "+relativetotal, prefixTdesc_family+" "+family.fname + " " + family.lname );
                familybackground.put("ageSiblings "+relativetotal, family.age );
                familybackground.put("relationSiblings "+relativetotal, family.relation);  
                familybackground.put("occupationSiblings "+relativetotal, occupationDesc );
                familybackground.put("positionSiblings "+relativetotal, family.position );
                familybackground.put("workplaceSiblings "+relativetotal, family.workplace );
                familybackground.put("phoneSiblings "+relativetotal, family.phone );
                relativetotal++;
            }
        }
        familybackground.putToSum("prefixallchild",prefixallchild);
        familybackground.putToSum("nameallchild", nameallchild);
        familybackground.putToSum("ageallchild", ageallchild);
        familybackground.putToSum("occupationallchild", occupationallchild);
        familybackground.putToSum("positionallchild", positionallchild);
        familybackground.putToSum("statusallchild", line + statusallchild);
        familybackground.putToSum("workplaceandphoneallchild", workplaceandphoneallchild);
        //----------------------------END Family------------------------------------
        //----------------------------SETDATA REFERENCE ------------------------------------
      MyHashMap personreference = new MyHashMap();
      int roundreference = 0;

      for (int referencekey = 0; referencekey <= 5; referencekey++){
        personreference.put("name" + referencekey, "");
        personreference.put("jobtitle" + referencekey, "");
        personreference.put("companyname" + referencekey, "");
        personreference.put("phone" + referencekey, "");
        personreference.put("relations" + referencekey, "");
        personreference.put("address" + referencekey, "");
        

      }
      for (McandidateFamily.Reference reference : simmcandidatewithgson.mcandidateFamily.reference) {
        personreference.put("name" + roundreference, chk.chkNullString(reference.name," "));
        personreference.put("jobtitle" + roundreference, chk.chkNullString(reference.jobtitle," "));
        personreference.put("companyname" + roundreference, chk.chkNullString(reference.companyname," "));
        personreference.put("phone" + roundreference, chk.chkNullString(reference.phone," "));
        personreference.put("relations" + roundreference, chk.chkNullString(reference.relations," "));
        personreference.put("address" + roundreference, chk.chkNullString(reference.address," "));
        roundreference++;
      }
      //----------------------------END REFERENCE-----------------------------------------
      
        //----------------------------SET Children------------------------------------
        String sons = simmcandidatewithgson.mcandidatePersonal.children.sons.equals(null) || simmcandidatewithgson.mcandidatePersonal.children.sons.equals("")?
        "0":simmcandidatewithgson.mcandidatePersonal.children.sons;
        String daughters = simmcandidatewithgson.mcandidatePersonal.children.daughters.equals(null) || simmcandidatewithgson.mcandidatePersonal.children.daughters.equals("")?
        "0":  simmcandidatewithgson.mcandidatePersonal.children.daughters;
        int children = Integer.valueOf(sons)+Integer.valueOf(daughters);
        //----------------------------END Children------------------------------------
        //----------------------------SETDATA OTHER ------------------------------------
        MyHashMap companyReference = new MyHashMap();
        String mprefixdesc = "";
        int roundComReference = 0;
        for (int referencekey = 0; referencekey <= 5; referencekey++){   
         // companyReference.put("prefix" + referencekey, "");
          companyReference.put("fullname" + referencekey, "");
         // companyReference.put("lname" + referencekey, "");
          companyReference.put("position" + referencekey, "");
          //companyReference.put("relation" + referencekey, "");
          //companyReference.put("dept" + referencekey, "");
          //companyReference.put("major" + referencekey, "");
        }


        for (McandidateOther.Referee_group referee_group : simmcandidatewithgson.mcandidateOther.referee_group) {
          DbInquiry inqmprefixcom = new InitialInquiry(screen.getUProfile()).getDbInquiry("mprefix");
          inqmprefixcom.setFilter("prefixid = '" + referee_group.prefix + "'");
          inqmprefixcom.refresh();
          while (inqmprefixcom.next()) {
            mprefixdesc = inqmprefixcom.getString("tdesc");
          }
          companyReference.put("fullname" + roundComReference, mprefixdesc + chk.chkNullString(referee_group.name," ")+"   "+chk.chkNullString(referee_group.lname," "));
          companyReference.put("position" + roundComReference, chk.chkNullString(referee_group.position," "));
          roundComReference++;
        }
        //----------------------------END OTHER-----------------------------------------
        //----------------------------END OTHER-----------------------------------------
         //----------------------------SETDATA EDUCATION------------------------------------
        MyHashMap educationbackground = new MyHashMap();
        String[] masterdegree = {"L001","L002","L003","L004","L005","L006","L007","L008","L009","L010","L011","L012","L013","L014","L015", "L016","L017"};
        String degreeDesc = "";
        String  EduV = ""; //Education Vocabulary
        for (String degreekey : masterdegree) {

            if("L009,L010,L006,L007,L008,L004".indexOf(degreekey) > -1){
               if("L006,L009,L010".indexOf(degreekey) > -1){
                EduV = "M6";
               }else if("L004,L007,L008".indexOf(degreekey) > -1){
                 EduV = "M3";
               }
              educationbackground.put("name" + EduV, "");
              educationbackground.put("from" + EduV, "");
              educationbackground.put("to" + EduV, "");
              educationbackground.put("degree" + EduV, "");
              educationbackground.put("major" + EduV, "");
              educationbackground.put("fac" + EduV, "");
              educationbackground.put("gpa" + EduV, "");
            }else{
              educationbackground.put("name" + degreekey, "");
              educationbackground.put("from" + degreekey, "");
              educationbackground.put("to" + degreekey, "");
              educationbackground.put("degree" + degreekey, "");
              educationbackground.put("major" + degreekey, "");
              educationbackground.put("fac" + degreekey, "");
              educationbackground.put("gpa" + degreekey, "");
           }
            
        }
        DbInquiry inqdegree = new InitialInquiry(screen.getUProfile()).getDbInquiry("mdegree");
        for (McandidateEducation.Education education : simmcandidatewithgson.mcandidateEducation.education) {    
            inqdegree.setFilter("degreeid = '" + education.degreetype + "'");
            inqdegree.refresh();
            while (inqdegree.next()) {
                degreeDesc = inqdegree.getString("tdesc");
            }
            if("L009,L010,L006,L007,L008,L004".indexOf(education.degreetype) > -1){
               if("L006,L009,L010".indexOf(education.degreetype) > -1){
                  EduV = "M6";
               }else if("L004,L007,L008".indexOf(education.degreetype) > -1){
                  EduV = "M3";
               }
            }else{
              EduV = education.degreetype ;
            }
            if (education.university.universitylist == null) {
                educationbackground.put("name" + EduV, education.university.searchtext);
            } else {
                educationbackground.put("name" + EduV, education.university.universitylist.name.tha);
            }
            educationbackground.put("from" + EduV, education.yearstart);
            educationbackground.put("to" + EduV, education.yearend);
            educationbackground.put("degree" + EduV, degreeDesc);
            if (education.major.majorlist == null) {
                educationbackground.put("major" + EduV, education.major.searchtext);
            } else {
                educationbackground.put("major" + EduV, education.major.majorlist.name.tha);
            }
            if (education.fac.searchtext != null) {
                educationbackground.put("fac" + EduV, education.fac.searchtext);
            } else {
                educationbackground.put("fac" + EduV, education.fac.facultylist.facultydesc.tha);
            }
            educationbackground.put("gpa" + EduV, education.gpa);
        }

        //----------------------------SETDATA CONTACT ------------------------------------
        StringBuilder sb = new StringBuilder();
        sb.append(simmcandidatewithgson.mcandidateContact.home.addr);
        if (!simmcandidatewithgson.mcandidateContact.home.moo.equalsIgnoreCase("-")) {
            sb.append(" หมู่ " + simmcandidatewithgson.mcandidateContact.home.moo);
        }
        sb.append("เลขที่ " + simmcandidatewithgson.mcandidateContact.home.addr);
        sb.append(" ต. " + simmcandidatewithgson.mcandidateContact.home.district);
        sb.append(" อ. " + simmcandidatewithgson.mcandidateContact.home.zipcode.disname.tha);
        sb.append(" จ. " + simmcandidatewithgson.mcandidateContact.home.zipcode.proname.tha);
        sb.append("    " + simmcandidatewithgson.mcandidateContact.home.zipcode.zipid);

        StringBuilder sc = new StringBuilder();
        sc.append(simmcandidatewithgson.mcandidateContact.current.addr);
        if (!simmcandidatewithgson.mcandidateContact.current.moo.equalsIgnoreCase("-")) {
            sc.append(" หมู่ " + simmcandidatewithgson.mcandidateContact.current.moo);
        }
        sc.append(" เลขที่ " + simmcandidatewithgson.mcandidateContact.current.addr);
        sc.append(" ถนน " + simmcandidatewithgson.mcandidateContact.current.road);
        sc.append(" ต. " + simmcandidatewithgson.mcandidateContact.current.district);
        sc.append(" อ. " + simmcandidatewithgson.mcandidateContact.current.zipcode.disname.tha);
        sc.append(" จ. " + simmcandidatewithgson.mcandidateContact.current.zipcode.proname.tha);
        sc.append("    " + simmcandidatewithgson.mcandidateContact.current.zipcode.zipid);
        //----------------------------END CONTACT------------------------------------

        //----------------------------SETDATA JOPEXP------------------------------------
        MyHashMap jobexp = new MyHashMap();
        int roundjobexp = 0;

        for (int jobexpkey = 0; jobexpkey <= 10; jobexpkey++){
            jobexp.put("companyname_job" + jobexpkey, "");
            jobexp.put("start" + jobexpkey, "");
            jobexp.put("end" + jobexpkey, "");
            jobexp.put("title" + jobexpkey, "");
            jobexp.put("natureBusiness" + jobexpkey, "");
            jobexp.put("description" + jobexpkey, "");
            jobexp.put("salary" + jobexpkey, "");
            jobexp.put("endingsalary" + jobexpkey, "");
            jobexp.put("reason" + jobexpkey, "");
            jobexp.put("addr" + jobexpkey, "");
            jobexp.put("village" + jobexpkey, "");
            jobexp.put("floor" + jobexpkey, "");
            jobexp.put("soi" + jobexpkey, "");
            jobexp.put("moo" + jobexpkey, "");
            jobexp.put("road" + jobexpkey, "");
            jobexp.put("district" + jobexpkey, "");
            jobexp.put("disname" + jobexpkey, "");
            jobexp.put("proname" + jobexpkey, "");
            jobexp.put("zipid" + jobexpkey, "");
            jobexp.put("phoneJob" + jobexpkey, "");
        }
         for (McandidateJobExp.Job job : simmcandidatewithgson.mcandidateJobExp.job) {
            jobexp.put("companyname_job" + roundjobexp, job.companyname);
            jobexp.put("start" + roundjobexp,new CscCalendar(job.start.toString().substring(0,10)).getDDMMYYYY());
            jobexp.put("end" + roundjobexp, new CscCalendar(job.end.toString().substring(0,10)).getDDMMYYYY());
            jobexp.put("title" + roundjobexp, job.title);
            jobexp.put("natureBusiness" + roundjobexp, job.natureBusiness);
            jobexp.put("description" + roundjobexp, job.description);
            jobexp.put("salary" + roundjobexp, job.endingsalary.equals("")?"-": DFO.format(Integer.valueOf( job.salary.toString().replaceAll(",",""))));
            jobexp.put("endingsalary" + roundjobexp,job.endingsalary.equals("")?"-": DFO.format(Integer.valueOf( job.endingsalary.toString().replaceAll(",",""))));
            jobexp.put("reason" + roundjobexp, job.reason);
            jobexp.put("addr" + roundjobexp, job.addr);
            jobexp.put("village" + roundjobexp, job.village);
            jobexp.put("floor" + roundjobexp, job.floor);
            jobexp.put("soi" + roundjobexp, job.soi);
            jobexp.put("moo" + roundjobexp, job.moo);
            jobexp.put("road" + roundjobexp, job.road);
            jobexp.put("district" + roundjobexp, job.district);
            jobexp.put("disname_job" + roundjobexp, job.zipcode.disname.tha);
            jobexp.put("proname_job" + roundjobexp, job.zipcode.proname.tha);
            jobexp.put("zipid" + roundjobexp, job.zipcode.zipid);
            jobexp.put("phoneJob" + roundjobexp, job.phone);
            roundjobexp++;
        }
        //----------------------------END JOPEXP------------------------------------
        //----------------------------SETDATA Training------------------------------------
        MyHashMap trainingHM = new MyHashMap();
        int roundtraining = 0;
        String startDay ="";
        String endDay ="";
        for (int round = 0; round < 6; round++){
            trainingHM.put("name" + round, "");
            trainingHM.put("by" + round, "");
            trainingHM.put("year" + round, "");
            trainingHM.put("countday" + round, "");
        }

        for (McandidateJobExp.Training training : simmcandidatewithgson.mcandidateJobExp.training) {
          startDay = new CscCalendar(training.start.toString().substring(0,10)).getYYYYMMDD();
          endDay = new CscCalendar(training.end.toString().substring(0,10)).getYYYYMMDD();
          int Countday = new CscCalendar(startDay).countDay(endDay);
            trainingHM.putToSum("name" + roundtraining, training.name);
            trainingHM.putToSum("by" + roundtraining, training.by);
            trainingHM.putToSum("year" + roundtraining,new CscCalendar(training.start.toString().substring(0,4)).getThaiYYYY());
            trainingHM.putToSum("countday" + roundtraining,String.valueOf(Countday) + " วัน");
            roundtraining++;
        }
        //----------------------------END Training------------------------------------
        //----------------------------nationality------------------------------------

        String nationalityDesc = "";

        DbInquiry inqMnationality = new InitialInquiry(screen.getUProfile()).getDbInquiry("Mnationality");
        inqMnationality.setFilter("nationalityid = '" + simmcandidatewithgson.mcandidatePersonal.nationalityid + "'");
        inqMnationality.refresh();
        while (inqMnationality.next()) {
            nationalityDesc = inqMnationality.getString("tdesc");
        }

        //----------------------------END nationality------------------------------------

        //------------------------------------age------------------------------------
        String age_memployee = "";

        CscCalendar startDate = new CscCalendar(simmcandidatewithgson.mcandidatePersonal.birthdate.substring(0,10));
        CscCalendar endDate = new CscCalendar();
        CountAge count = new CountAge(screen.getUProfile().get("lang"));
        age_memployee=count.getCountAges(startDate,endDate,true);

        //------------------------------------end age------------------------------------

        //----------------------------nationa------------------------------------

        String nationaDesc = "";

        DbInquiry inqmnational = new InitialInquiry(screen.getUProfile()).getDbInquiry("mnational");
        inqmnational.setFilter("nationalid = '" + simmcandidatewithgson.mcandidatePersonal.nationalityid + "'");
        inqmnational.refresh();
        while (inqmnational.next()) {
            nationaDesc = inqmnational.getString("tdesc");
        }

        //----------------------------END nationa------------------------------------

        // ----------------------------religion------------------------------------

        String religionDesc = "";

        DbInquiry inqmreligion = new InitialInquiry(screen.getUProfile()).getDbInquiry("mreligion");
        inqmreligion.setFilter("religionid = '"+simmcandidatewithgson.mcandidatePersonal.religionid+"'");
        inqmreligion.refresh();
        while(inqmreligion.next()){
            religionDesc = inqmreligion.getString("tdesc");
        }

        //----------------------------END religion------------------------------------
        //----------------------------SETDATA Skill ------------------------------------
        MyHashMap hmlangskill = new MyHashMap();
        MyHashMap masterskilllevel = new MyHashMap();
        String[] id = {"EN", "CH", "JP", "TH"};
        String skillnameDesc ="";
        String skilllevelDesc ="";
        int langskillloop = 0;
        for (String initlangskill : id) {
            hmlangskill.put("skillname"+initlangskill,"");
            hmlangskill.put("id"+initlangskill,"XX");
            hmlangskill.put("reading"+initlangskill,"");
            hmlangskill.put("write"+initlangskill,"");
            hmlangskill.put("speak"+initlangskill,"");
            hmlangskill.put("listen"+initlangskill,"");
        }
        for(int initlangskill = 0; initlangskill <= 5; initlangskill++){
            hmlangskill.put("skillname"+initlangskill,"");
            hmlangskill.put("id"+initlangskill,"");
            hmlangskill.put("reading"+initlangskill,"");
            hmlangskill.put("write"+initlangskill,"");
            hmlangskill.put("speak"+initlangskill,"");
            hmlangskill.put("listen"+initlangskill,"");
        }

        DbInquiry inqskilllevel = new InitialInquiry(screen.getUProfile()).getDbInquiry("mskilllevel");
        inqskilllevel.refresh();
        while(inqskilllevel.next()) {
            masterskilllevel.put(inqskilllevel.getString("skilllevelid"),inqskilllevel.getString("skilllevelid"));
        }
        //DbInquiry inqlangskill = new InitialInquiry(screen.getUProfile()).getDbInquiry("mlanguage");
        for (McandidateSkill.Langskill langskill : simmcandidatewithgson.mcandidateSkill.langskill) {

            hmlangskill.put("skillname"+langskill.langskilllist.id, langskill.langskilllist.name.tha);
            hmlangskill.put("id"+langskill.langskilllist.id, langskill.langskilllist.id);
            hmlangskill.put("reading"+langskill.langskilllist.id,masterskilllevel.get(langskill.skill.reading));
            hmlangskill.put("write"+langskill.langskilllist.id,masterskilllevel.get(langskill.skill.write));
            hmlangskill.put("speak"+langskill.langskilllist.id,masterskilllevel.get(langskill.skill.speak));
            hmlangskill.put("listen"+langskill.langskilllist.id,masterskilllevel.get(langskill.skill.listen));

            if(!(("CH,EN").indexOf(langskill.langskilllist.id) > -1)){
              hmlangskill.put("skillname"+langskillloop, langskill.langskilllist.name.tha);
              hmlangskill.put("id"+langskill.langskilllist.id, langskill.langskilllist.id);
              hmlangskill.put("reading"+langskillloop,masterskilllevel.get(langskill.skill.reading));
              hmlangskill.put("write"+langskillloop,masterskilllevel.get(langskill.skill.write));
              hmlangskill.put("speak"+langskillloop,masterskilllevel.get(langskill.skill.speak));
              hmlangskill.put("listen"+langskillloop,masterskilllevel.get(langskill.skill.listen));
              langskillloop++;
            }
        }
        //----------------------------End Skill ----------------------------------------
         //----------------------------SETDATA Activity ------------------------------------
        MyHashMap hmactivity = new MyHashMap();
        int activityloop = 0;
        String degreeDesc2 ="";
        for(int init = 0; init < 1; init++){
            hmactivity.put("name"+init,"");
            hmactivity.put("degreetype"+init,"");
            hmactivity.put("role"+init,"");
            hmactivity.put("roledesc"+init,"");
            hmactivity.put("start"+init,"");
            hmactivity.put("end"+init,"");
        }

        DbInquiry inqdegree2 = new InitialInquiry(screen.getUProfile()).getDbInquiry("mdegree");

        //DbInquiry inqlangskill = new InitialInquiry(screen.getUProfile()).getDbInquiry("mlanguage");
        for (McandidateSkill.Activity activity : simmcandidatewithgson.mcandidateSkill.activity) {
          inqdegree2.setFilter("degreeid = '" + activity.degreetype + "'");
          inqdegree2.refresh();
          while (inqdegree2.next()) {
            degreeDesc2 = inqdegree2.getString("tdesc");
          }
            hmactivity.put("name"+activityloop,activity.name);
            hmactivity.put("degreetype"+activityloop,degreeDesc2);
            hmactivity.put("role"+activityloop,activity.role);
            hmactivity.put("roledesc"+activityloop,activity.roledesc);
            hmactivity.put("start"+activityloop,activity.start);
            hmactivity.put("end"+activityloop,activity.end);
            activityloop++;
            
        }
      //----------------------------End Activity ----------------------------------------
      //----------------------------Set Hobbies ----------------------------------------
        String hobbies = "";
        String[] array = new String[simmcandidatewithgson.mcandidateSkill.hobbies.size()];
        int index = 0;
        for (Object value : simmcandidatewithgson.mcandidateSkill.hobbies) {
          if(index != 0){
            hobbies += ",";
          }
          hobbies += (String) value;
          index++;
        }
      //----------------------------End Hobbies ----------------------------------------
      //----------------------------Set Sport ----------------------------------------
        String sport = "";
        array = new String[simmcandidatewithgson.mcandidateSkill.sport.size()];
        index = 0;
        for (Object value : simmcandidatewithgson.mcandidateSkill.sport) {
          if(index != 0){
            sport += ",";
          }
          sport += (String) value;
          index++;
        }
      //----------------------------End Sport ----------------------------------------
      //----------------------------Set Expertise ----------------------------------------
        String expertise = "";
        array = new String[simmcandidatewithgson.mcandidateSkill.expertise.size()];
        index = 0;
        for (Object value : simmcandidatewithgson.mcandidateSkill.expertise) {
          if(index != 0){
            expertise += ",";
          }
          expertise += (String) value;
          index++;
        }
       //----------------------------End Expertise ----------------------------------------

    
    try {
      CscCalendar calendar = new CscCalendar();
      GregorianCalendar gc = new GregorianCalendar();
      boolean langthai = screen.getUProfile().get("lang").equalsIgnoreCase("THA");
      String reportname = "", printdate = "", printby = "", refer = "RTA2007";
      String reportname_label = "", printdate_label = "", prdate = "", refer_label = "";
      if (langthai) {
      reportname_label = "รายงาน :";
      reportname = "รายงานข้อมูลพนักงาน";
      printdate_label = "วันที่พิมพ์ :";
      prdate = calendar.getDDMMYYYY();
      printdate = "วัน" + calendar.getLongThiDOW() + "ที่ " + calendar.getDate() + " " + calendar.getThaiLongMonth() + " พ.ศ. " + calendar.getThaiYYYY() + " " + calendar.getHHMM() + " น.";
      printby = screen.getUProfile().get("tfullname");
      refer_label = "อ้างอิง #";
      } else {
      reportname_label = "Report Name :";
      reportname = "Personal Report";
      printdate_label = "Print Date :";
      printby = screen.getUProfile().get("efullname");
      refer_label = "Ref #";
    }
   
    // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      PdfPTable detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      PdfPCell cellDetail;
      Image img = null;
      setPaddingTop(0.5f);
      setPaddingLeft(0.0f);
      setPaddingRight(0.0f);


      detail.addCell(getCellData("FR-710-007 / Revision No. : 01", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData("Effective Date : 12/05/09", font12N, "NO", "RIGHT", "TOP", 0, 0));
      setPaddingTop(30.5f);

      detail.addCell(getCellData("ใบสมัครงาน", font20B, "NO", "CENTER", "TOP", 0, 0));
      setPaddingTop(10.5f);
      detail.addCell(getCellData("รหัสใบสมัคร"+".....................", font12N, "NO", "RIGHT", "TOP", 0, 0));
      setPaddingTop(0.5f);
      detail.addCell(getCellData("วันที่รับสมัคร"+".....................", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData("แหล่งที่ทราบข่าว"+".....................", font12N, "NO", "RIGHT", "TOP", 0, 0));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{15.0f,15.0f,70.0f};
      detail = new PdfPTable(3);
      detail.setWidthPercentage(90);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(4.5f);
      detail.addCell(getCellData("ผู้ผลิต และผู้แทนจำหน่าย เครื่องเขียน กระดาษ วัสดุอุปกรณ์สำนักงาน และช่างเขียน", font14B, "NO", "LEFT", "TOP", 3, 0));
      detail.addCell(getCellData("สำนักงานสุรวงศ์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("เลขที่ 210", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ถ.สุรวงศ์ บางรัก กรุงเทพฯ 10500 โทร. 0-2237-0500 โทรสาร 0-2236-9703", font12N, "NO", "LEFT", "TOP", 0, 0));

      detail.addCell(getCellData("โรงงานนวนคร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("เลขที่ 101/27", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("นิคมอุตสาหกรรม นวนคร โครงการ 1 ต.คลองหนึ่ง อ.คลองหลวง จ.ปทุมธานี 12120 โทร. 0-2529-4747", font12N, "NO", "LEFT", "TOP", 0, 0));

      detail.addCell(getCellData("โรงงานโรจนะ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("เลขที่ 21/11 หมูที่9", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("สวนอุตสาหกรรมโรจนะ ต.านหาม อ.อุทัย จ.พระนครศรีอยุธยา 13210 โทร. 035-746-500-18", font12N, "NO", "LEFT", "TOP", 0, 0));

      detail.addCell(getCellData("DC2(โรงงาน 2 เดิม)", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("เลขที่ 60/67", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("นิคมอุตสาหกรรม นวนคร โครงการ 2 ต.คลองหนึ่ง อ.คลองหลวง จ.ปทุมธานี 12120 โทร. 0-2529-1732", font12N, "NO", "LEFT", "TOP", 0, 0));

      detail.addCell(getCellData("ศูนย์คลังสินค้าและบริการ เลขที่ 94 หมู่ที่ 15 ต.บางพลีใหญ่ อ.บางพลี จ.สมุทรปราการ 10540 โทร. 0-2750-1540", font12N, "NO", "LEFT", "TOP", 3, 0));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,90.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("คำแนะนำ  :", font14N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ขอให้ผู้สมัครอ่านและทำความเข้าใจข้อความแต่ละข้ออย่างละเอียดก่อนที่จะกรอกข้อความใดๆ ลงไปในช่องว่างนั้นๆ หากปรากฏว่าผู้สมัครปกปิดความจริง", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("หรือมีเจตนาแจ้งข้อความเท็จจริง จะส่งผลให้ผู้สมัครหมดสิทธิ์ได้รับพิจารณาเข้าทำงานกับบริษัทฯ หรืออาจถูกเลิกจ้างในภายหลัง โดยไม่จ่ายค่าชดเชยใดๆทั้งสิ้น", font12N, "NO", "LEFT", "TOP", 2, 0));
      detail.addCell(getCellData(" ", font14N, "NO", "LEFT", "TOP", 2, 0));
      setPaddingBottom(0.5f);
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{25.0f,30.0f,15.0f,15.0f,20.0f,26.25f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ตำแหน่งที่สมัคร", font14B, "", "CENTER", "MIDDLE", 3, 0,false,true));
      detail.addCell(getCellData("เงินเดือนที่ต้องการ", font14B, "", "CENTER", "TOP", 2, 0,false,true));
      //IMAGE
      img = Image.getInstance(getImagePath("RECRUIT_UPLOAD-dir","PICTURE/",simmcandidatewithgson.mcandidatePersonal.imgname,"DEFAULTPERSON.jpg"));
      cellDetail = new PdfPCell(img, false);
      img.scaleAbsolute(90f, 100f);
      cellDetail.setHorizontalAlignment(Element.ALIGN_CENTER);
      cellDetail.setVerticalAlignment (Element.ALIGN_MIDDLE);
      cellDetail.setColspan(1);
      cellDetail.setRowspan(7);
      detail.addCell(cellDetail);
      detail.addCell(getCellData("1."+screen.getString("MJOBCODE", "TDESC"), font14N, "", "LEFT", "TOP", 3, 0));
      detail.addCell(getCellData(DFO.format(Integer.valueOf(screen.getString("SALARY_EXPECT"))).toString()+"  บาท", font14N, "", "RIGHT", "TOP", 2, 0));
      detail.addCell(getCellData(" ", font14N, "", "LEFT", "TOP", 3, 0));
      detail.addCell(getCellData(" ", font14N, "", "RIGHT", "TOP", 2, 0));

      detail.addCell(getCellData("ประวัติส่วนตัว", font14N, "", "CENTER", "TOP", 5, 0,false,true));

      setPaddingTop(2.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(2.5f);

      String prefix  = simmcandidatewithgson.mcandidatePersonal.prefixid;
      Chunk Chu4 = new Chunk("ชื่อ-สกุล (",font12N); 
      Chunk Chu0 = new Chunk("/",font12N);
      Chunk Chu1 = new Chunk("นาย",font12N);
      Chunk Chu2 = new Chunk("นาง",font12N);
      Chunk Chu3 = new Chunk("น.ส.)",font12N);
      if(prefix.equalsIgnoreCase("01")){
        Chu1.setUnderline(0.1f, -2f);
      }else if(prefix.equalsIgnoreCase("02")){
        Chu2.setUnderline(0.1f, -2f);
      }else if(prefix.equalsIgnoreCase("03")){
        Chu3.setUnderline(0.1f, -2f);
      }
      content = new Phrase();
      content.add(Chu4);
      content.add(Chu1);
      content.add(Chu0);
      content.add(Chu2);
      content.add(Chu0);
      content.add(Chu3);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.fname.tha, font14N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("นามสกุล", font14N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.lname.tha, font14N, "R_BOTTOM_DOT", "LEFT", "TOP", 2, 0));

      Chu4 = new Chunk("Name (",font12N); 
      Chu0 = new Chunk("/",font12N);
      Chu1 = new Chunk("Mr.",font12N);
      Chu2 = new Chunk("Mrs.",font12N);
      Chu3 = new Chunk("Ms.)",font12N);
      if(prefix.equalsIgnoreCase("01")){
        Chu1.setUnderline(0.1f, -2f);
      } else if(prefix.equalsIgnoreCase("02")){
        Chu2.setUnderline(0.1f, -2f);
      }else if(prefix.equalsIgnoreCase("03")){
        Chu3.setUnderline(0.1f, -2f);
      }
      content = new Phrase();
      content.add(Chu4);
      content.add(Chu1);
      content.add(Chu0);
      content.add(Chu2);
      content.add(Chu0);
      content.add(Chu3);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.fname.eng, font14N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("SURNAME", font14N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.lname.eng, font14N, "R_BOTTOM_DOT", "LEFT", "TOP", 2, 0));
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.0f);
      detail.addCell(getCellData(" ", font14N, "NO", "CENTER", "TOP", 5, 0));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{20.0f,20.0f,20.0f,20.0f,20.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("วัน / เดือน / ปีที่เกิด", font14B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("อายุ", font14B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สัญชาติ", font14B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ส่วนสูง", font14B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("น้ำหนัก", font14B, "", "CENTER", "TOP", 0, 0));
 
      detail.addCell(getCellData(new CscCalendar(simmcandidatewithgson.mcandidatePersonal.birthdate.substring(0, 10)).getThaiDDMMYYYY().replaceAll("-","/"), font14N, "", "CENTER", "TOP", 1, 1,true,false));
      detail.addCell(getCellData(age_memployee.substring(0,2), font14N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(nationalityDesc, font14N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.height, font14N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.weight, font14N, "", "CENTER", "TOP", 0, 0));
      setPaddingBottom(0.5f);
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{20.0f,10.0f,10.0f,10.0f,10.0f,10.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("บัตรประจำตัวประชาชนเลขที่", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidatePersonal.identification.iden_number, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("วันที่ออกบัตร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(new CscCalendar(simmcandidatewithgson.mcandidatePersonal.identification.pinstart.substring(0, 10)).getDDMMYYYY(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("วันที่หมดอายุ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(new CscCalendar(simmcandidatewithgson.mcandidatePersonal.identification.pinend.substring(0, 10)).getDDMMYYYY(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      document.add(detail);
      // --------------- new line -----------------
      String military_status = simmcandidatewithgson.mcandidatePersonal.military.status;
      sizeColumn = new float[]{13.0f,5.0f,17.0f,2.0f,10.0f,2.0f,12.0f,2.0f,10.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("เลขประจำตัวผู้เสียภาษี", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(" ", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("(เฉพาะเพศชาย) สถานภาพทางทหาร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(military_status.equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ผ่านการเกณฑ์ทหาร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(military_status.equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ยังไม่ผ่านการเกณฑ์ทหาร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(military_status.equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ได้รับการยกเว้น / รด.", font12N, "NO", "LEFT", "TOP", 0, 0));
      document.add(detail);
      // --------------- new line -----------------
      String sso_hospital = simmcandidatewithgson.mcandidatePersonal.sso.hospital;
      sizeColumn = new float[]{15.0f,20.0f,6.0f,7.0f,6.0f,7.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ชื่อโรงพยาบาลที่ระบุในบัตรรับรองสิทธิ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(sso_hospital, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("วันที่ออกบัตร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(new CscCalendar(simmcandidatewithgson.mcandidatePersonal.sso.pinstart.substring(0, 10)).getThaiDDMMYYYY(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("วันที่หมดอายุ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(new CscCalendar(simmcandidatewithgson.mcandidatePersonal.sso.pinend.substring(0, 10)).getThaiDDMMYYYY(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
       detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "TOP", 6, 0));
      setPaddingBottom(0.5f);
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การติดต่อกับผู้สมัครงาน", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{15.0f,35.0f,10.0f,40.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ที่อยู่ปัจจุบัน", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData(sb.toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 3, 0));
      detail.addCell(getCellData("โทรศัพท์บ้าน", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.current.number, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData("โทรศัพท์มือถือ", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.phone, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData("ที่อยู่ตามทะเบียนบ้าน", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData(sc.toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 3, 0));
      detail.addCell(getCellData("โทรศัพท์", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.home.number, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 3, 0));
      detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      
      setPaddingBottom(0.5f);
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("บุคคลที่บริษัทฯ สามารถติดต่อ กรณีฉุกเฉิน", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);
      // --------------- new line -----------------
      String emergencyContact = simmcandidatewithgson.mcandidateContact.emergencyContact.address;
      sizeColumn = new float[]{10.0f,20.0f,10.0f,10.0f,10.0f,10.0f,10.0f,10.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("1.ชื่อ-สกุล", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.emergencyContact.name, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ความสัมพันธ์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.emergencyContact.relations, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("อาชีพ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("../../..", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("โทรศัพท์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.emergencyContact.phone, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ที่อยู่/ติดต่อ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateContact.emergencyContact.address, font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 7, 0));

      detail.addCell(getCellData("2.ชื่อ-สกุล", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ความสัมพันธ์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("../../..", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("อาชีพ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("../../..", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("โทรศัพท์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("../../..", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ที่อยู่/ติดต่อ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("../../..", font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 7, 0));
      setPaddingBottom(0.5f);
      document.add(detail);

      // PAGE 2
      document.newPage();
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ประวัติทั่วไป", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);

      // --------------- new line -----------------
      String birthorder = simmcandidatewithgson.mcandidatePersonal.birthorder;
      sizeColumn = new float[]{8.5f,3.0f,3.0f,6.5f,3.0f,6.0f,3.0f,3.0f,6.0f,3.0f,3.0f,6.0f,3.0f,3.0f,6.0f,3.0f,3.0f};
      detail = new PdfPTable(17);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("พี่น้องรวมทั้งหมด", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(String.valueOf(relativetotal+1), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ท่านเป็นคนที่", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(birthorder, font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("พี่ชาย", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(familybackground.get("relation05").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("พี่สาว", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(familybackground.get("relation07").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("น้องชาย", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(familybackground.get("relation06").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("น้องสาว", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(familybackground.get("relation08").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      setPaddingTop(0.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "MIDDLE", 17, 0));


      document.add(detail);
      // --------------- new line -----------------
      String brosis = "";
      sizeColumn = new float[]{10.0f,20.0f,5.0f,15.0f,15.0f,10.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ลำดับ", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ชื่อสกุล", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("อายุ", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("อาชีพ / ตำแหน่ง", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สถานที่ทำงาน / ติดต่อ", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("โทรศัพท์", font12B, "", "CENTER", "TOP", 0, 0));

      detail.addCell(getCellData("บิดา", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("prefix01").toString()+" "+familybackground.get("fname01").toString() + "   " + familybackground.get("lname01").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("age01").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("occupation01").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("workplace01").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("phone01").toString(), font12N, "", "CENTER", "TOP", 0, 0));

      detail.addCell(getCellData("มารดา", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("prefix02").toString()+" "+familybackground.get("fname02").toString() + "   " + familybackground.get("lname02").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("age02").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("occupation02").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("workplace02").toString(), font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("phone02").toString(), font12N, "", "CENTER", "TOP", 0, 0));

      for(int num=0;num<5;num++){ 
      //detail.addCell(getCellData("[]พี่ []น้อง", font12N, "", "CENTER", "TOP", 0, 0));
      brosis = familybackground.get("relationSiblings "+num).toString();
      Chu0 = new Chunk("05,07".indexOf(brosis) > -1? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" พี่   ",font12N);
      Chu2 = new Chunk("06,08".indexOf(brosis) > -1? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu3 = new Chunk(" น้อง",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      content.add(Chu2);
      content.add(Chu3);
      detail.addCell(getCellData2( content, "", "CENTER", "MIDDLE",  1,  1) );
     // detail.addCell(getCellData(brosis, font12N, "NO", "CENTER", "MIDDLE", 1, 0));
      detail.addCell(getCellData(familybackground.get("nameSiblings "+num).toString(), font12N, "", "CENTER", "MIDDLE", 1, 0));
      detail.addCell(getCellData(familybackground.get("ageSiblings "+num).toString(), font12N, "", "CENTER", "MIDDLE", 1, 0));
      detail.addCell(getCellData(familybackground.get("occupationSiblings "+num).toString(), font12N, "", "CENTER", "MIDDLE", 1, 0));
      detail.addCell(getCellData(familybackground.get("workplaceSiblings "+num).toString(), font12N, "", "CENTER", "MIDDLE", 1, 0));
      detail.addCell(getCellData(familybackground.get("phoneSiblings "+num).toString(), font12N, "", "CENTER", "MIDDLE", 1, 0));
      }
      setPaddingBottom(0.5f);
      document.add(detail);
      // --------------- new line -----------------
      String personal_status = simmcandidatewithgson.mcandidatePersonal.status;
      sizeColumn = new float[]{15.0f,10.0f,15.0f,15.0f,10.0f,10.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("สถานภาพสมรส", font14B, "NO", "LEFT", "TOP", 0, 0));

      Chu0 = new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" โสด",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(personal_status.equalsIgnoreCase("M")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" สมรส(จดทะเบียน)",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );     
      Chu0 = new Chunk(personal_status.equalsIgnoreCase("E")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" สมรส(ไม่จดทะเบียน)",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) ); Chu0 = new Chunk(personal_status.equalsIgnoreCase("M")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu0 = new Chunk(personal_status.equalsIgnoreCase("W")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" หม้าย",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) ); 
      Chu0 = new Chunk(personal_status.equalsIgnoreCase("D")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" หย่า",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) ); 
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,20.0f,5.0f,3.0f,5.0f,15.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ชื่อสามี / ภรรยา", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("prefix03").toString()+" "+familybackground.get("fname03").toString() + "   " + familybackground.get("lname03").toString(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("อายุ", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("age03").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ปี  อาชีพ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("occupation03").toString(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("สถานที่ทำงาน / ที่ติดต่อ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("workplace03").toString(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 3, 0));
      detail.addCell(getCellData("โทรศัพท์", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(familybackground.get("phone03").toString(), font12N, "R_BOTTOM_DOT", "LEFT", "TOP", 0, 0));
      setPaddingBottom(0.5f);
      document.add(detail);
      // --------------- new line -----------------

      sizeColumn = new float[]{6.0f,5.0f,3.0f,5.0f,5.0f,3.0f,5.0f,5.0f,30.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.0f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("จำนวนบุตร", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(String.valueOf(children), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ศึกษา", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ไม่ศึกษา", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คน", font12N, "NO", "LEFT", "TOP", 0, 0));
      setPaddingBottom(0.5f);
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "TOP", 0, 0));
      setPaddingTop(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ประวัติการศึกษา", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{8.0f,15.0f,8.0f,8.0f,15.0f,20.0f,5.0f};
      detail = new PdfPTable(7);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("ระดับวุฒิ", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สถาบันการศึกษา", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("จากเดือน/ปี", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ถึงเดือน/ปี", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คณะ/ภาควิชา", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สาขา", font12B, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("เกรด", font12B, "", "CENTER", "TOP", 0, 0));

      detail.addCell(getCellData("ปริญญาโท", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(educationbackground.get("nameL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("fromL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("toL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("facL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("majorL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("gpaL016").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData("ปริญญาตรี", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(educationbackground.get("nameL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("fromL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("toL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("facL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("majorL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("gpaL015").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      // แสดงเฉพาะ จบที่สูงที่สุดก่อน
      detail.addCell(getCellData("ปวช. / ปวส.", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ม.6", font12N, "", "CENTER", "TOP", 0, 0));
      
      detail.addCell(getCellData(educationbackground.get("nameM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("fromM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("toM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("facM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("majorM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("gpaM6").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));

      detail.addCell(getCellData("ม.3", font12N, "", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData(educationbackground.get("nameM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("fromM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("toM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("facM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("majorM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      detail.addCell(getCellData(educationbackground.get("gpaM3").toString(), font12N, "", "CENTER", "TOP", 0, 0,true,false));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,15.0f,10.0f,10.0f,10.0f,15.0f,10.0f,10.0f,10.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ปัจจุบัน", font14B, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("กำลังศึกษาระดับวุฒิ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สถาบัน", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("สาขา", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ปีที่เข้า", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "TOP", 0, 0));
      setPaddingTop(0.5f);
      detail.addCell(getCellData(" ", font12N, "R_BOTTOM", "CENTER", "TOP", 9, 0));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,15.0f,10.0f,10.0f,10.0f,15.0f,10.0f};
      detail = new PdfPTable(7);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ประวัติกิจกรรม", font14B, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("ระดับการศึกษา", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hmactivity.get("degreetype0").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("กิจกรรม", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hmactivity.get("name0").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ตำแหน่งกิจกรรม", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hmactivity.get("role0").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      document.add(detail);
      // --------------- new line -----------------

      sizeColumn = new float[]{14.5f,35.0f,14.0f,35.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("หน้าที่/ความรับผิดชอบ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hmactivity.get("roledesc0").toString(), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("ช่วงเวลาที่ทำกิจกรรม", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hmactivity.get("start0").toString().toString().substring(0,10) + "ถึง" + hmactivity.get("end0").toString().substring(0,10), font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("งานอดิเรก", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(hobbies, font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("กีฬาที่ถนัด", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(sport, font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{15.0f,15.0f,10.0f,10.0f,7.0f,15.0f,5.0f,25.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("ความสามารถพิเศษ", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData(expertise, font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("พิมพ์ดีดไทย", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateSkill.typing.tha, font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คำ/นาที", font12N, "NO", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("พิมพ์ดีดอังกฤษ", font12N, "NO", "RIGHT", "TOP", 0, 0));
      detail.addCell(getCellData(simmcandidatewithgson.mcandidateSkill.typing.eng, font12N, "R_BOTTOM_DOT", "CENTER", "TOP", 0, 0));
      detail.addCell(getCellData("คำ/นาที", font12N, "NO", "LEFT", "TOP", 0, 0));
      setPaddingTop(0.5f);
      detail.addCell(getCellData(" ", font12N, "R_BOTTOM", "LEFT", "TOP", 8, 0));
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,90.0f};
      detail = new PdfPTable(2);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData("คอมพิวเตอร์", font14B, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("(ระบุโปรแกรมสำเร็จรูปที่ใช้ได้ / ภาษาคอมพิวเตอร์ที่เขียนได้)", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{12.5f,12.5f,12.5f,12.5f,15.5f,12.5f,12.5f,12.5f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" Window",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" MS-Word",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" MS-Excel",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" MS-Access",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" MS-Power Point",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" OfficeTie",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" Linux",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" JAVA,HTML",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );

      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" PhotoShop",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" อื่นๆ (โปรดระบุ)" + "...",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  7,  1) );
      document.add(detail);

      // --------------- new line -----------------
      Boolean car_driving = simmcandidatewithgson.mcandidateSkill.vehicle.car.driving;
      Boolean car_own = simmcandidatewithgson.mcandidateSkill.vehicle.car.own;
      Boolean motorcycle_driving =simmcandidatewithgson.mcandidateSkill.vehicle.motorcycle.driving;
      Boolean motorcycle_own =simmcandidatewithgson.mcandidateSkill.vehicle.motorcycle.own;
    
      sizeColumn = new float[]{20.0f,20.0f,20.0f,20.0f,20.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("รถยนต์", font14B, "R_TOP", "LEFT", "TOP", 0, 0));
      Chu0 = new Chunk(car_driving? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ขับได้",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(!car_driving? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ขับไม่ได้",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(car_own? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" มีรถ",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(!car_own? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ไม่มีรถ",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );

      detail.addCell(getCellData("รถจักรยานยนต์", font14B, "R_TOP", "LEFT", "TOP", 0, 0));
      Chu0 = new Chunk(motorcycle_driving? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ขับได้",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(!motorcycle_driving? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ขับไม่ได้",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(motorcycle_own? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" มีรถ",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      Chu0 = new Chunk(!motorcycle_own? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome);
      Chu1 = new Chunk(" ไม่มีรถ",font12N);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "R_TOP", "LEFT", "MIDDLE",  1,  1) );
      document.add(detail);    

      // --------------- new line -----------------
      String[] level = {" ดีมาก   ", " ดี   ", " ปานกลาง   ", " พอใช้"};
      String[] idlang = {"EN","CH"};
      String[] langSkill = {"ภาษาอังกฤษ","ภาษาจีน"};
      sizeColumn = new float[]{15.0f,30.0f,30.0f,30.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ทักษะทางภาษา", font14B, "", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("พูด", font14B, "", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("อ่าน", font14B, "", "LEFT", "TOP", 0, 0));
      detail.addCell(getCellData("เขียน", font14B, "", "LEFT", "TOP", 0, 0));

        detail.addCell(getCellData(langSkill[0], font14B, "", "LEFT", "TOP", 0, 0));
        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("speak"+idlang[0]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[0]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[0]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[0]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("reading"+idlang[0]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[0]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[0]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[0]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("write"+idlang[0]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[0]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[0]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[0]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        detail.addCell(getCellData(langSkill[1], font14B, "", "LEFT", "TOP", 0, 0));
        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("speak"+idlang[1]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[1]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[1]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+idlang[1]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("reading"+idlang[1]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[1]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[1]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+idlang[1]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("write"+idlang[1]).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[1]).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[1]).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("write"+idlang[1]).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );
      for(int num=0;num < 2;num++ ){
        detail.addCell(getCellData(String.valueOf(hmlangskill.get("skillname"+num)), font14B, "", "LEFT", "TOP", 0, 0));

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("speak"+num).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+num).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+num).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("speak"+num).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("reading"+num).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+num).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+num).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("reading"+num).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );

        content = new Phrase();
        content.add(new Chunk(hmlangskill.get("write"+num).toString().equalsIgnoreCase("1")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[0],font12N));
        content.add(new Chunk(hmlangskill.get("write"+num).toString().equalsIgnoreCase("2")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[1],font12N));
        content.add(new Chunk(hmlangskill.get("write"+num).toString().equalsIgnoreCase("3")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[2],font12N));
        content.add(new Chunk(hmlangskill.get("write"+num).toString().equalsIgnoreCase("4")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
        content.add(new Chunk(level[3],font12N));
        detail.addCell(getCellData2( content, "", "LEFT", "MIDDLE",  1,  1) );
      }
      document.add(detail); 
      // PAGE 3
      document.newPage();
      // --------------- new line -----------------
      sizeColumn = new float[]{10.0f,12.0f,10.0f,10.0f,10.0f,10.0f,10.0f,10.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(2.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(5.5f);
      detail.addCell(getCellData("ประวัติการทำงาน (ให้ระบุที่ทำงานแห่งแรกถึงที่ทำงานปัจจุบันตามลำดับ)", font14B, "", "CENTER", "MIDDLE", 8, 0,false,true));
      setPaddingTop(0.5f);
      setPaddingBottom(2.5f);
      for(int num=0;num < 3;num++ ){
        detail.addCell(getCellData("บริษัท", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("companyname_job"+num).toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 2, 0));
        detail.addCell(getCellData("ที่อยู่", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("...", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
        detail.addCell(getCellData("โทรศัพท์", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("phoneJob"+num).toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("ลักษณะธุรกิจ", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("natureBusiness"+num).toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("ตำแหน่งเริ่มต้น", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("description"+num).toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("ตำแหน่งสุดท้าย", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("...", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("เริ่ม "+jobexp.get("start"+num).toString(), font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("ถึง "+jobexp.get("end"+num).toString(), font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData("เงินเดือนเริ่มต้น ", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("salary"+num) + "   บาท", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 2, 0));
        detail.addCell(getCellData("้เงินเดือนสุดท้าย ", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("endingsalary"+num) + "   บาท", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 2, 0));

        detail.addCell(getCellData("สาเหตุที่ลาออก", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(jobexp.get("reason"+num).toString(), font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 7, 0));
      }
      detail.addCell(getCellData(" ", font12N, "NO", "CENTER", "MIDDLE", 8, 0));
      document.add(detail);

      // --------------- new line -----------------
      String local =simmcandidatewithgson.mcandidateOther.distinguished.local;
      String inter =simmcandidatewithgson.mcandidateOther.distinguished.inter;
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("อธิบายลักษณะงานที่เคยทำผ่านมา / ลักษณะงานที่ทำได้", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      
      for(int num=0;num < 9;num++ ){
        detail.addCell(getCellData(String.valueOf(num+1) + local, font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      }
      document.add(detail);

      // --------------- new line -----------------
      sizeColumn = new float[]{40.0f,20.0f,20.0f,20.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("ประวัติการฝึกอบรม", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      detail.addCell(getCellData("สถาบันที่จัดฝึกอบรม", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      detail.addCell(getCellData("ปี พ.ศ.", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      detail.addCell(getCellData("ระยะเวลา", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      for(int num=0;num < 5;num++ ){
        detail.addCell(getCellData(String.valueOf(num+1)+". " + trainingHM.get("name"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(trainingHM.get("by"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(trainingHM.get("year"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 1, 0));
        detail.addCell(getCellData(trainingHM.get("countday"+num).toString(), font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      }
      document.add(detail);
      // --------------- new line -----------------
      sizeColumn = new float[]{40.0f,20.0f,20.0f,20.0f};
      detail = new PdfPTable(4);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("บุคคลที่อ้างอิง (ให้ระบุบุคคลที่ไม่ใช่ญาติพี่น้อง หรือนายจ้างเดิม ซึ่งสามารถสอบถามและให้คำรับรองได้)", font14B, "", "CENTER", "MIDDLE", 4, 0,false,true));
      detail.addCell(getCellData("ชื่อ-สกุล", font14B, "", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ความสัมพันธ์", font14B, "", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("อาชีพ", font14B, "", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ที่ติดต่อ / โทรศัพท์", font14B, "", "CENTER", "MIDDLE", 0, 0));
      for(int num=0;num < 4;num++ ){
        detail.addCell(getCellData(String.valueOf(num+1) + " " + personreference.get("name"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 0, 0));
        detail.addCell(getCellData(personreference.get("relations"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 0, 0));
        detail.addCell(getCellData(personreference.get("jobtitle"+num).toString(), font12N, "R_RIGHT", "LEFT", "MIDDLE", 0, 0));
        detail.addCell(getCellData(personreference.get("address"+num).toString() + " / " + personreference.get("phone"+num).toString(), font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      }
      document.add(detail);
      
      // --------------- new line -----------------
      String visiononjob =simmcandidatewithgson.mcandidateOther.visiononjob;
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      content = new Phrase();
      content.add(new Chunk("ข้อมูลเพิ่มเติม ",font14B));
      content.add(new Chunk("ให้ผู้สมัครงานกรอกเพื่อให้บริษัทฯ รู้จักท่านดียิ่งขึ้น รวมถึงการแสดงความสามารถอื่น ๆ ที่จะก่อให้เกิดประโยชน์ต่อการสมัครงานครั้งนี้ อาทิ",font12N));
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("ความสำเร็จที่ผ่านมา หรือลักษณะงานหรือลักษณะงาน ความรู้หรือความสามารถพิเศษที่เกี่ยวข้องกับงาน ซึ่งท่านถนัดและสนใจมากที่สุด", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      for(int num=0;num < 1;num++ ){
        detail.addCell(getCellData(visiononjob, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 0, 0));
      }
      document.add(detail);

      // PAGE 4
      document.newPage();
      // --------------- new line -----------------
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ประวัติทั่วไป", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);

      // --------------- new line -----------------
      Boolean applyStatus =  simmcandidatewithgson.mcandidateOther.apply;
      String applyPosition = simmcandidatewithgson.mcandidateOther.applyDesc.position;
      String applyYear = simmcandidatewithgson.mcandidateOther.applyDesc.year;
      Boolean tradeStatus =  simmcandidatewithgson.mcandidateOther.tradeUnion.status;
      String tradeName = simmcandidatewithgson.mcandidateOther.tradeUnion.name;
      String tradeRole = simmcandidatewithgson.mcandidateOther.tradeUnion.role;
      sizeColumn = new float[]{20.0f,5.0f,5.0f,6.0f,12.0f,7.0f,3.0f,9.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การเป็นพนักงานของบริษัทฯนี้ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!applyStatus? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(applyStatus? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("ตำแหน่ง", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(applyStatus?applyPosition:"", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ระยะเวลา", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(applyStatus?applyYear:"", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("  เดือน / ปี", font12N, "NO", "LEFT", "MIDDLE", 0, 0));

      detail.addCell(getCellData("การรู้จักพนักงานของบริษัทฯนี้ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!(roundComReference > 0)? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่รู้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk((roundComReference > 0)? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" รู้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("ชื่อ-สกุล", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(companyReference.getString("fullname0"), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ตำแหน่ง", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(companyReference.getString("position0"), font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 2, 0));

      detail.addCell(getCellData("การเป็นสมาชิกของชมรม / สหภาพ / สโมสรท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!tradeStatus? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(tradeStatus? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("ชื่อสถาบัน", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(tradeStatus?tradeName:"", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ตำแหน่ง", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(tradeStatus?tradeRole:"", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 2, 0));
      document.add(detail);

      // --------------- new line -----------------shiftwork
      Boolean shiftwork = simmcandidatewithgson.mcandidateOther.shiftwork;
      Boolean overtime_status = simmcandidatewithgson.mcandidateOther.overtime.status;
      String overtime = simmcandidatewithgson.mcandidateOther.overtime.explain;
      Boolean ordination = simmcandidatewithgson.mcandidateOther.ordination;
      sizeColumn = new float[]{10.0f,5.0f,5.0f,15.0f,5.0f,5.0f,5.0f,10.0f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การทำงานเป็นกะ ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(shiftwork? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ทำได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(!shiftwork? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ทำไม่ได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("การทำงานล่วงเวลาลักษณะงานท่าน", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(overtime_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ทำได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(!overtime_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ทำไม่ได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("เพราะ", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(overtime, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 0, 0));

      detail.addCell(getCellData("การอุปสมบท ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!ordination? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ยัง",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(ordination? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" อุปสมบทแล้ว",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  6,  1) );
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{17.0f,5.0f,5.0f,4.0f,5.0f,5.0f,10.0f,12.5f};
      detail = new PdfPTable(8);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การไปประกอบพิธีฮัจย์ในต่างประเทศ ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่ไป",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไป",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("จำนวน", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ครั้ง / ปี", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("โดยไปที่ประเทศ", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{35.0f,8.0f,8.0f,15.0f,30.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การถูกฟ้องร้อง / อยู่ในระหว่างพิจารณาคดีของศาล ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่มี",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" มี",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("คดีเพ่ง / อาญา เรื่อง", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      Boolean policecapture_status = simmcandidatewithgson.mcandidateOther.policecapture.status;
      String policecapture = simmcandidatewithgson.mcandidateOther.policecapture.explain;
      sizeColumn = new float[]{15.0f,8.0f,8.0f,20.0f,10.0f,30.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ต้องโทษคดีอาญา ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!policecapture_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(policecapture_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" เคย คดี",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(policecapture, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("โทษที่ได้รับ", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("...", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      Boolean drinkalcohol = simmcandidatewithgson.mcandidateOther.drinkalcohol;
      Boolean smoking = simmcandidatewithgson.mcandidateOther.smoking.status;
      sizeColumn = new float[]{15.0f,8.0f,8.0f,20.0f,10.0f,30.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การดื่มสุรา ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!drinkalcohol? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่ดื่ม",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(drinkalcohol? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ดื่ม",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData("การสูบบุหรี่ ท่าน", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!smoking? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่สูบ",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(smoking? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" สูบ",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      document.add(detail);
      // --------------- new line ----------------- 
      Boolean health_status =simmcandidatewithgson.mcandidateOther.health.status;
      String health =simmcandidatewithgson.mcandidateOther.health.explain;
      sizeColumn = new float[]{15.0f,8.0f,8.0f,20.0f,10.0f,30.0f};
      detail = new PdfPTable(6);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("โรคประจำตัว ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!health_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่มี",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(health_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" มี โรค",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(health, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 3, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      Boolean pregnant_status =simmcandidatewithgson.mcandidateOther.pregnant.status;
      String pregnant =simmcandidatewithgson.mcandidateOther.pregnant.months;
      Boolean surgical_status =simmcandidatewithgson.mcandidateOther.surgical.status;
      String surgical =simmcandidatewithgson.mcandidateOther.surgical.explain;
      sizeColumn = new float[]{20.0f,8.0f,14.0f,14.0f,20.0f,10.0f,10.0f};
      detail = new PdfPTable(7);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ขณะนี้ท่านตั้งครรภ์อยู่หรือไม่", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!pregnant_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่ใช่",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(pregnant_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ใช่ อายุครรภ์",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(pregnant_status?pregnant :"", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData("เดือน", font12N, "NO", "LEFT", "MIDDLE", 3, 0));

      detail.addCell(getCellData("การเจ็บป่วยหนัก / อุบัติเหตุ ท่าน", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!surgical_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่เคย",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(surgical_status? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" เคย โรค / อุบัติเหตุ",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      detail.addCell(getCellData(surgical, font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 2, 0));
      detail.addCell(getCellData("เมื่อปี พ.ศ.", font12N, "NO", "LEFT", "MIDDLE", 1, 0));
      detail.addCell(getCellData("...", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 1, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      Boolean guarantees = simmcandidatewithgson.mcandidateOther.guarantees;
      sizeColumn = new float[]{35.0f,10.0f,60.0f};
      detail = new PdfPTable(3);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("การค้ำประกันการทำงาน (บุคคล และ/หรือเงินสด)", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(!guarantees? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ไม่ได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(guarantees? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ได้",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );  
      document.add(detail);

      // --------------- new line ----------------- 
      String readytowork =simmcandidatewithgson.mcandidateOther.presentemployer;  
      sizeColumn = new float[]{25.0f,20.0f,15.0f,15.0f,30.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("ท่าตั้งใจจะทำงานกับบริษัทฯที่ ", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" สำนักงานสุรวงศ์",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" โรงงาน 1",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" โรงงาน 2",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );
      content = new Phrase();
      content.add(new Chunk(personal_status.equalsIgnoreCase("S")? AwesomeIcons.ICON_CHECK:AwesomeIcons.ICON_CHECK_EMPTY,fontAwesome));
      content.add(new Chunk(" ศูนย์คลังสินค้าและบริการ",font12N));  
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  1,  1) );  

      detail.addCell(getCellData("กรณีบริษัทฯ ตกลงรับท่านเข้าทำงาน ท่านพร้อมที่จะเริ่มงานได้ภายใน", font12N, "NO", "LEFT", "MIDDLE", 2, 0));
      detail.addCell(getCellData(readytowork, font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      Chu0 = new Chunk("วัน",font12N);
      Chu1 = new Chunk(" / เดือน",font12N);
      Chu0.setUnderline(0.1f, -2f);
      content = new Phrase();
      content.add(Chu0);
      content.add(Chu1);
      detail.addCell(getCellData2( content, "NO", "LEFT", "MIDDLE",  2,  1) );
      setPaddingTop(0.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "MIDDLE", 5, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(0.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(0.5f);
      detail.addCell(getCellData(" ", font12N, "R_TOP", "LEFT", "MIDDLE", 0, 0));
      setPaddingTop(3.5f);
      setPaddingBottom(3.5f);
      detail.addCell(getCellData("       ข้าพเจ้าขอรับรองว่าข้อความและรายละเอียดต่าง ๆ  ที่ได้ให้ไว้ข้างต้นนี้เป็นความจริงทุกประการ  และข้าพเจ้าขอยืนยันว่าข้าพเจ้ายินดีให้ทางบริษัทฯ  ตรวจสอบ", font12B, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ข้อความต่าง ๆ ได้ และถ้าหากตรวจสอบพบว่าข้อความใดเป็นเท็จก็ให้ทางบริษัทฯ ถือเป็นสาเหตุการบอกยกเลิกการว่าจ้างข้าพเจ้าได้ทันทีโดยไม่ต้องจ่ายค่าชดเชย", font12B, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ใด ๆ ทั้งสิ้น รวมถึงในกรณีที่ข้าพเจ้าได้สร้างสรรค์งานอันมีลิขสิทธ์ประเภทใด ๆ ขึ้นในฐานะลูกจ้างประเภททดลองงานก็ดี และ / หรือในฐานะพนักงานประจำซึ่งได้รับ", font12B, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("การบรรจุแล้วก็ดี ให้ถือว่าลิขสิทธ์ในงานที่ได้สร้างสรรค์ขึ้นทั้งหมดเป็นของบริษัทฯ ซึ่งเป็นนายจ้างทั้งสิ้น ทั้งนี้ไม่ว่าข้าพเจ้าจะพ้นสภาพการเป็นลูกจ้างประเภททดลองงาน", font12B, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("หรือพนักงานประจำของบริษัทฯ ไปแล้วหรือไม่ก็ตาม", font12B, "NO", "LEFT", "MIDDLE", 0, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{5.0f,5.0f,6.0f,15.0f,6.0f,8.0f,12.0f,40.0f,6.0f};
      detail = new PdfPTable(9);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(8.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(2.5f);
      detail.addCell(getCellData("", font12N, "NO", "CENTER", "MIDDLE", 6, 0));
      detail.addCell(getCellData("ลงชื่อ", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "NO", "LEFT", "MIDDLE", 0, 0));

      detail.addCell(getCellData("วันที่", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("เดือน", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("พ.ศ.", font12N, "NO", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("(", font12N, "NO", "RIGHT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData(")", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(" ", font12N, "NO", "LEFT", "MIDDLE", 9, 0));
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{100.0f};
      detail = new PdfPTable(1);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(6.5f);
      detail.addCell(getCellData("สำหรับเจ้าหน้าที่เท่านั้น", font14B, "", "CENTER", "MIDDLE", 0, 0,false,true));
      document.add(detail);

      // --------------- new line ----------------- 
      sizeColumn = new float[]{5.0f,6.0f,6.0f,6.0f,75.0f};
      detail = new PdfPTable(5);
      detail.setWidthPercentage(100);
      detail.setWidths(sizeColumn);
      setPaddingTop(3.5f);
      setPaddingLeft(3.5f);
      setPaddingRight(3.5f);
      setPaddingBottom(1.5f);
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("รูปถ่าย", font12N, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData(" ", font12N, "R_BOTTOM_DOT", "CENTER", "MIDDLE", 0, 0));
      detail.addCell(getCellData("ใบ", font12N, "NO", "LEFT", "MIDDLE", 2, 0));

      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("สำเนาบัตรประชน", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("สำเนาทะเบียนบ้าน", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("สำเนาหลักฐานการศึกษา", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("สำเนาหลักฐานทางราชการทหาร", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("สำเนาใบผ่านงาน (ถ้ามี)", font12N, "NO", "LEFT", "MIDDLE", 4, 0));
      detail.addCell(getCellData(AwesomeIcons.ICON_CHECK_EMPTY, fontAwesome, "NO", "LEFT", "MIDDLE", 0, 0));
      detail.addCell(getCellData("เอกสารอื่น ๆ ประกอบ (ถ้ามี)", font12N, "NO", "LEFT", "MIDDLE", 3, 0));
      detail.addCell(getCellData(" ", font12N, "R_BOTTOM_DOT", "LEFT", "MIDDLE", 0, 0));
      document.add(detail);

      // -----------------------------------------------------------------------------

      // -----------------------------------------------------------------------------
      } catch (Exception e) {
        e.printStackTrace();
      } finally {
        document.close();
      }
    }

    if (hasData) {
      OutputStream os = response.getOutputStream();
    // Create a reader
      PdfReader reader = new PdfReader(baos.toByteArray());
    // Create a stamper
      PdfStamper stamper = new PdfStamper(reader, baos);

    // Close the stamper
      stamper.close();
      reader.close();

      response.setHeader("Expires", "0");
      response.setHeader("Cache-Control", "must-revalidate, post-check=0 , pre-check=0");
      response.setHeader("Pragma", "public");

    // setting the content type
      response.setContentType("application/pdf");
    // the contentlength
      response.setContentLength(baos.size());
    // write ByteArrayOutputStream to the ServletOutputStream

      baos.writeTo(os);

      os.flush();
      os.close(); 
    }
    //PdfWriter.getInstance(document, baos);
    %>

     <%!
       Float padding = 0.0f;
    Float paddingtop = 0.0f;
    Float paddingbottom = 0.0f;
    Float paddingleft = 0.0f;
    Float paddingright = 0.0f;
    BaseColor basecolor = new BaseColor(230, 230, 230);

    private PdfPCell getCellData(String text, Font font, String noborder, String horalign, String veralign, int colspan, int rowspan) {
      return getCellData(text, font, noborder, horalign, veralign, colspan, rowspan, false,false);
    }
   
    //get call data
    private PdfPCell getCellData(String text, Font font, String noborder, String horalign, String veralign, int colspan, int rowspan,boolean setheight, boolean bgcolor) {
      PdfPCell cellDetail = new PdfPCell(new Phrase(text, font));
      cellDetail.setNoWrap(false);
    //  cellDetail.setNoWrap(true);
      LineDash solid = new SolidLine();
      LineDash dotted = new DottedLine();
      LineDash dashed = new DashedLine();
      if (horalign.equalsIgnoreCase("LEFT")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_LEFT);
      } else if (horalign.equalsIgnoreCase("CENTER")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_CENTER);
      } else if (horalign.equalsIgnoreCase("RIGHT")) {
        cellDetail.setHorizontalAlignment(Element.ALIGN_RIGHT);
      }

      if (veralign.equalsIgnoreCase("TOP")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_TOP);
      } else if (veralign.equalsIgnoreCase("MIDDLE")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_MIDDLE);
      } else if (veralign.equalsIgnoreCase("BOTTOM")) {
        cellDetail.setVerticalAlignment(Element.ALIGN_BOTTOM);
      }

      if (padding > 0.0f) {
        cellDetail.setPadding(padding);
      }
      if (paddingtop > 0.0f) {
        cellDetail.setPaddingTop(paddingtop);
      }
      if (paddingbottom > 0.0f) {
        cellDetail.setPaddingBottom(paddingbottom);
      }
      if (paddingleft > 0.0f) {
        cellDetail.setPaddingLeft(paddingleft);
      }
      if (paddingright > 0.0f) {
        cellDetail.setPaddingRight(paddingright);
      }
      if (colspan > 0) {
        cellDetail.setColspan(colspan);
      }
      if (rowspan > 0) {
        cellDetail.setRowspan(rowspan);
      }

      if (noborder.equalsIgnoreCase("NO")) {
        cellDetail.setBorder(Rectangle.NO_BORDER);
      }
      else if(noborder.equalsIgnoreCase("R_TOP")){ 
            cellDetail.setBorder(Rectangle.TOP );
      } 
      else if(noborder.equalsIgnoreCase("R_TL")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT);
      } 
      else if(noborder.equalsIgnoreCase("R_TR")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LR")){ 
            cellDetail.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_RB")){ 
            cellDetail.setBorder(Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TLR")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LRB")){ 
            cellDetail.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
       else if(noborder.equalsIgnoreCase("R_TLB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TRB")){ 
            cellDetail.setBorder(Rectangle.TOP | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_BOTTOM")){ 
            cellDetail.setBorder(Rectangle.BOTTOM);
      }
      else if(noborder.equalsIgnoreCase("R_RIGHT")){ 
            cellDetail.setBorder(Rectangle.RIGHT);
      }
      else if(noborder.equalsIgnoreCase("R_LEFT")){ 
            cellDetail.setBorder(Rectangle.LEFT);
      }
       else if(noborder.equalsIgnoreCase("R_BOTTOM_DOT")){ 
            cellDetail.setBorder(PdfPCell.NO_BORDER);
            cellDetail.setCellEvent(new CustomBorder(null, null, null, dotted));
      }
      else{

      }
      if (bgcolor) {
        cellDetail.setBackgroundColor(basecolor);
      } 
      if (setheight) {
        cellDetail.setFixedHeight(0.6999512f);
      } 
      return cellDetail;
    }
 //CellDeatail2 Use For Add Chunk(1row 2 Fonts Or Color)
    private PdfPCell getCellData2(Phrase content, String noborder, String horalign, String veralign, int colspan, int rowspan) {
      return getCellData2(content, noborder, horalign, veralign, colspan, rowspan, false, false);
    }
    private PdfPCell getCellData2(Phrase content, String noborder, String horalign, String veralign, int colspan, int rowspan,boolean setheight, boolean bgcolor) {
        PdfPCell cellDetail2 = new PdfPCell(new Phrase(content));
      LineDash solid = new SolidLine();
      LineDash dotted = new DottedLine();
      LineDash dashed = new DashedLine();
      if (horalign.equalsIgnoreCase("LEFT")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_LEFT);
      } else if (horalign.equalsIgnoreCase("CENTER")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_CENTER);
      } else if (horalign.equalsIgnoreCase("RIGHT")) {
        cellDetail2.setHorizontalAlignment(Element.ALIGN_RIGHT);
      }

      if (veralign.equalsIgnoreCase("TOP")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_TOP);
      } else if (veralign.equalsIgnoreCase("MIDDLE")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_MIDDLE);
      } else if (veralign.equalsIgnoreCase("BOTTOM")) {
        cellDetail2.setVerticalAlignment(Element.ALIGN_BOTTOM);
      }

      if (padding > 0.0f) {
        cellDetail2.setPadding(padding);
      }
      if (paddingtop > 0.0f) {
        cellDetail2.setPaddingTop(paddingtop);
      }
      if (paddingbottom > 0.0f) {
        cellDetail2.setPaddingBottom(paddingbottom);
      }
      if (paddingleft > 0.0f) {
        cellDetail2.setPaddingLeft(paddingleft);
      }
      if (paddingright > 0.0f) {
        cellDetail2.setPaddingRight(paddingright);
      }
      if (colspan > 0) {
        cellDetail2.setColspan(colspan);
      }
      if (rowspan > 0) {
        cellDetail2.setRowspan(rowspan);
      }

      if (noborder.equalsIgnoreCase("NO")) {
        cellDetail2.setBorder(Rectangle.NO_BORDER);
      }
      else if(noborder.equalsIgnoreCase("R_TOP")){ 
            cellDetail2.setBorder(Rectangle.TOP );
      }
      else if(noborder.equalsIgnoreCase("R_TR")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LR")){ 
            cellDetail2.setBorder(Rectangle.LEFT | Rectangle.RIGHT);
      } 
       else if(noborder.equalsIgnoreCase("R_RB")){ 
            cellDetail2.setBorder(Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TLR")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.RIGHT);
      } 
      else if(noborder.equalsIgnoreCase("R_LRB")){ 
            cellDetail2.setBorder(Rectangle.LEFT | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
       else if(noborder.equalsIgnoreCase("R_TLB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.LEFT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_TRB")){ 
            cellDetail2.setBorder(Rectangle.TOP | Rectangle.RIGHT | Rectangle.BOTTOM);
      } 
      else if(noborder.equalsIgnoreCase("R_BOTTOM")){ 
            cellDetail2.setBorder(Rectangle.BOTTOM);
      }
       else if(noborder.equalsIgnoreCase("R_BOTTOM_DOT")){ 
            cellDetail2.setBorder(PdfPCell.NO_BORDER);
            cellDetail2.setCellEvent(new CustomBorder(null, null, null, dotted));
      }
      
      else{

      }
      if (bgcolor) {
        cellDetail2.setBackgroundColor(basecolor);
      }
      if (setheight) {
        cellDetail2.setFixedHeight(0.6999512f);
      }
      return cellDetail2;
    }
    private void setPadding(Float padding) {
      this.padding = padding;
    }

    private void setPaddingTop(Float padding) {
      this.paddingtop = padding;
    }

    private void setPaddingBottom(Float padding) {
      this.paddingbottom = padding;
    }

    private void setPaddingLeft(Float padding) {
      this.paddingleft = padding;
    }

    private void setPaddingRight(Float padding) {
      this.paddingright = padding;
    }

    private void setBaseBackgroundColor(int r, int g, int b) {
      this.basecolor = new BaseColor(r, g, b);
    }
    
     interface LineDash {
        public void applyLineDash(PdfContentByte canvas);
    }
    
    class SolidLine implements LineDash {
        public void applyLineDash(PdfContentByte canvas) { }
    }
    
    class DottedLine implements LineDash {
        public void applyLineDash(PdfContentByte canvas) {
            canvas.setLineCap(PdfContentByte.LINE_CAP_ROUND);
            canvas.setLineDash(0,2,2);
        }
    }
    
    class DashedLine implements LineDash {
        public void applyLineDash(PdfContentByte canvas) {
            canvas.setLineDash(3, 3);
        }
    }
    
    class CustomBorder implements PdfPCellEvent {
        protected LineDash left;
        protected LineDash right;
        protected LineDash top;
        protected LineDash bottom;
        public CustomBorder(LineDash left, LineDash right,
                LineDash top, LineDash bottom) {
            this.left = left;
            this.right = right;
            this.top = top;
            this.bottom = bottom;
        }
        public void cellLayout(PdfPCell cell, Rectangle position,
            PdfContentByte[] canvases) {
            PdfContentByte canvas = canvases[PdfPTable.LINECANVAS];
            if (top != null) {
                canvas.saveState();
                top.applyLineDash(canvas);
                canvas.moveTo(position.getRight(), position.getTop());
                canvas.lineTo(position.getLeft(), position.getTop());
                canvas.stroke();
                canvas.restoreState();
            }
            if (bottom != null) {
                canvas.saveState();
                bottom.applyLineDash(canvas);
                canvas.moveTo(position.getRight(), position.getBottom());
                canvas.lineTo(position.getLeft(), position.getBottom());
                canvas.stroke();
                canvas.restoreState();
            }
            if (right != null) {
                canvas.saveState();
                right.applyLineDash(canvas);
                canvas.moveTo(position.getRight(), position.getTop());
                canvas.lineTo(position.getRight(), position.getBottom());
                canvas.stroke();
                canvas.restoreState();
            }
            if (left != null) {
                canvas.saveState();
                left.applyLineDash(canvas);
                canvas.moveTo(position.getLeft(), position.getTop());
                canvas.lineTo(position.getLeft(), position.getBottom());
                canvas.stroke();
                canvas.restoreState();
            }
        }
    }

   // Add IMAGE IN PART
    private String getImagePath(String type, String subFolder, String imageFileName, String defaultFile) {
      InitialEnvironment inv = new InitialEnvironment("GLOBAL");
      String path = inv.getValue(type)+subFolder;
      if (!new File(path+imageFileName).exists() || imageFileName.equals(" ")){
        imageFileName = defaultFile;
      }
      return path+imageFileName;
    }
    %>
    </body>
    </html>