Example usage for com.itextpdf.text Image getInstance

List of usage examples for com.itextpdf.text Image getInstance

Introduction

In this page you can find the example usage for com.itextpdf.text Image getInstance.

Prototype

public static Image getInstance(final Image image) 

Source Link

Document

gets an instance of an Image

Usage

From source file:admission_form.FXMLController1.java

@FXML
private void doPrinting(ActionEvent event) {
    print_btn.setVisible(false);/*from   w w w  . j  a v a 2s .c  o m*/
    back_btn.setVisible(false);
    Scene scene = print_btn.getScene();
    WritableImage snapshot = scene.snapshot(null);
    BufferedImage image = SwingFXUtils.fromFXImage(snapshot, null);
    File f = new File("test2.png");
    try {
        ImageIO.write(image, "png", f);
    } catch (IOException ex) {

    }
    Document document = new Document(PageSize.A4, 0, 0, 0, 0);
    try {
        PdfWriter.getInstance(document, new FileOutputStream("Image.pdf"));
        document.open();
        // BufferedImage img = ImageIO.read(new File("test1.png"));
        //File f = new File("test1.png");
        Image image1 = Image.getInstance("test2.png");
        document.add(image1);

        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        InputStream is = new BufferedInputStream(new FileInputStream("Image.pdf"));
        DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
        PrintService service = PrintServiceLookup.lookupDefaultPrintService();
        DocPrintJob printJob = service.createPrintJob();
        printJob.addPrintJobListener(new JobCompleteMonitor());
        Doc doc = new SimpleDoc(is, flavor, null);
        PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
        //attributes.add(new Destination(new java.net.URI("file:/home/jayesh/NetBeansProjects/myFile.ps")));
        printJob.print(doc, attributes);
        //while(jobRunning)
        //{
        //    Thread.sleep(1000);
        //}
        is.close();
    } catch (Exception ex) {
    } finally {
        System.out.println("exiting");

    }
    System.out.println("Done");
    try {
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/pro", username, password);
        String query = "insert into log values(?,?)";
        PreparedStatement ps = con.prepareStatement(query);
        ps.setString(1, getCurUser());
        Date date = new Date();
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/YYYY HH:mm:ss");
        ps.setString(2, "Printed Admission Form Page2 at " + df.format(date));
        ps.executeUpdate();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    print_btn.setVisible(true);
    back_btn.setVisible(true);
}

From source file:admission_form.FXMLDocumentController.java

@FXML
private void doPrininting(ActionEvent event) {

    next.setVisible(false);//from   w w w.jav  a  2 s . co  m
    print_btn.setVisible(false);
    Scene scene = print_btn.getScene();
    WritableImage snapshot = scene.snapshot(null);
    BufferedImage image = SwingFXUtils.fromFXImage(snapshot, null);
    File f = new File("test2.png");
    try {
        ImageIO.write(image, "png", f);
    } catch (IOException ex) {

    }
    Document document = new Document(PageSize.A4, 0, 0, 0, 0);
    try {
        PdfWriter.getInstance(document, new FileOutputStream("Image.pdf"));
        document.open();
        // BufferedImage img = ImageIO.read(new File("test1.png"));
        //File f = new File("test1.png");
        Image image1 = Image.getInstance("test2.png");
        document.add(image1);

        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
    try {
        InputStream is = new BufferedInputStream(new FileInputStream("Image.pdf"));
        DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF;
        PrintService service = PrintServiceLookup.lookupDefaultPrintService();
        DocPrintJob printJob = service.createPrintJob();
        printJob.addPrintJobListener(new JobCompleteMonitor());
        Doc doc = new SimpleDoc(is, flavor, null);
        PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
        //attributes.add(new Destination(new java.net.URI("file:/home/jayesh/NetBeansProjects/myFile.ps")));
        printJob.print(doc, attributes);
        //while(jobRunning)
        //{
        //    Thread.sleep(1000);
        //}
        is.close();
    } catch (Exception ex) {
    } finally {
        System.out.println("exiting");

    }
    System.out.println("Done");
    try {
        con1();
        Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/pro", username, password);
        String query = "insert into log values(?,?)";
        PreparedStatement ps = con.prepareStatement(query);
        ps.setString(1, getCurUser());
        Date date = new Date();
        SimpleDateFormat df = new SimpleDateFormat("dd/MM/YYYY HH:mm:ss");
        ps.setString(2, "Printed Admission Form Page1 at " + df.format(date));
        ps.executeUpdate();

    } catch (Exception ex) {
        ex.printStackTrace();
    }
    next.setVisible(true);
    print_btn.setVisible(true);
}

From source file:app.logica.gestores.GestorPDF.java

License:Open Source License

/**
  * Mtodo para crear un PDF a partir de una pantalla.
  *//from  w  w  w.  j a v a  2s  .c o m
  * @param pantallaAPDF
  *            pantalla que se imprimir en PDF
  * @return PDF de una captura de la pantalla pasada
  */
 private PDF generarPDF(Node pantallaAPDF) throws Exception {
     //Se imprime la pantalla en una imagen
     new Scene((Parent) pantallaAPDF);
     WritableImage image = pantallaAPDF.snapshot(new SnapshotParameters(), null);
     ByteArrayOutputStream baos = new ByteArrayOutputStream();
     ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", baos);
     byte[] imageInByte = baos.toByteArray();
     baos.flush();
     baos.close();

     //Se carga la imagen en un PDF
     Image imagen = Image.getInstance(imageInByte);
     Document document = new Document();
     ByteArrayOutputStream pdfbaos = new ByteArrayOutputStream();
     PdfWriter escritor = PdfWriter.getInstance(document, pdfbaos);
     document.open();
     imagen.setAbsolutePosition(0, 0);
     imagen.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
     document.add(imagen);
     document.close();

     //Se obtiene el archivo PDF
     byte[] pdfBytes = pdfbaos.toByteArray();
     pdfbaos.flush();
     escritor.close();
     pdfbaos.close();

     //Se genera un objeto PDF
     return (PDF) new PDF().setArchivo(pdfBytes);
 }

From source file:app.logica.gestores.GestorPDF.java

License:Open Source License

/**
  * Mtodo para crear un PDF a partir de varias pantalla.
  */*  www  .  j av a2s. c o  m*/
  * @param pantallaAPDF
  *            pantalla que se imprimir en PDF
  * @return PDF de una captura de la pantalla pasada
  */
 private PDF generarPDF(ArrayList<Node> pantallasAPDF) throws Exception {
     Document document = new Document();
     ByteArrayOutputStream pdfbaos = new ByteArrayOutputStream();
     PdfWriter escritor = PdfWriter.getInstance(document, pdfbaos);
     document.open();

     for (Node pantalla : pantallasAPDF) {
         new Scene((Parent) pantalla);
         WritableImage image = pantalla.snapshot(new SnapshotParameters(), null);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", baos);
         byte[] imageInByte = baos.toByteArray();
         baos.flush();
         baos.close();
         Image imagen = Image.getInstance(imageInByte);
         imagen.setAbsolutePosition(0, 0);
         imagen.scaleToFit(PageSize.A4.getWidth(), PageSize.A4.getHeight());
         document.add(imagen);
         document.newPage();
     }

     document.close();

     byte[] pdfBytes = pdfbaos.toByteArray();
     pdfbaos.flush();
     escritor.close();
     pdfbaos.close();
     return (PDF) new PDF().setArchivo(pdfBytes);
 }

From source file:AppPackage.printPDF.java

public void printNow(String id, String name, String dateRange, String underLate, String workedHours,
        String totalHours, String dateNow, String fDate, String lDate, String type, String empTypeRate,
        int lastRId, double salary) {
    this.id = id;
    this.name = name;
    this.dateRange = dateRange;
    this.underLate = underLate;
    this.workedHours = workedHours;
    this.totalHours = totalHours;
    this.dateNow = dateNow;
    this.fDate = fDate;
    this.lDate = lDate;
    this.type = type;
    this.empTypeRate = empTypeRate;
    this.lastRId = lastRId;
    this.salary = salary;
    try {/*from w ww.j a va2  s.com*/

        Document document = new Document();
        Connection conn = null;
        Statement st = null;
        conn = dbC.getConnection();
        st = conn.createStatement();

        String query = "SELECT * FROM schedule WHERE empId ='" + id + "'";
        ResultSet rs = st.executeQuery(query);

        PdfWriter.getInstance(document,
                new FileOutputStream("reports/Report-" + reportCount + "." + lastRId + "-" + id + ".pdf"));
        document.open();
        document.setPageSize(PageSize.LETTER);
        document.setMargins(0f, 0f, 0f, 0f);

        Image image = Image.getInstance("Resources/DTRHeaderTwo.png");
        document.add(image);

        PdfPTable ICTable = new PdfPTable(5);
        ICTable.setWidthPercentage(100);

        ICTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell ICTableCell;

        Phrase ICBlank = new Phrase();
        Phrase ICharge = new Phrase();
        Phrase ICBlanko = new Phrase();
        Phrase ICBlankx = new Phrase();
        Phrase IChargex = new Phrase();

        ICBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlank);
        ICharge.add(new Chunk("_____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC)));
        ICTable.addCell(ICharge);
        ICBlanko.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlanko);
        ICBlankx.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        ICTable.addCell(ICBlankx);
        IChargex.add(new Chunk("____________________", new Font(Font.FontFamily.HELVETICA, 8, Font.ITALIC)));
        ICTable.addCell(IChargex);

        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(
                new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);

        ICTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);
        ICTableCell = new PdfPCell(
                new Phrase("In - Charge", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        ICTableCell.setBorder(PdfPCell.NO_BORDER);
        ICTable.addCell(ICTableCell);

        PdfPTable dateRecTable = new PdfPTable(5);
        dateRecTable.setWidthPercentage(100);

        dateRecTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell dateRecTableCell;

        Phrase dRDate = new Phrase();
        Phrase dRNo = new Phrase();
        Phrase dRBlank = new Phrase();
        Phrase dRDatex = new Phrase();
        Phrase dRNox = new Phrase();

        dRDate.add(
                new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRDate);
        dRNo.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRNo);
        dRBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRBlank);
        dRDatex.add(
                new Chunk("Released #: " + lastRId + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRDatex);
        dRNox.add(new Chunk("" + dateNow + "", new Font(Font.FontFamily.HELVETICA, 7, Font.ITALIC)));
        dateRecTable.addCell(dRNox);

        PdfPTable InfoTable = new PdfPTable(5);
        InfoTable.setWidthPercentage(100);

        InfoTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell InfoTableCell;

        Phrase infoId = new Phrase();
        Phrase infoType = new Phrase();
        Phrase infoBlank = new Phrase();
        Phrase infoIdx = new Phrase();
        Phrase infoTypex = new Phrase();

        infoId.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoId);
        infoType.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoType);
        infoBlank.add(new Chunk("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoBlank);
        infoIdx.add(new Chunk("ID: " + id + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoIdx);
        infoTypex.add(new Chunk("Type: " + type + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTable.addCell(infoTypex);

        InfoTableCell = new PdfPCell(
                new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Fullname: " + name + "", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Hourly Rate: " + empTypeRate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Date Range: \n" + dateRange + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Total Hours: " + totalHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(new Phrase("Late & Under Time: " + underLate + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("Worked Hours: " + workedHours + "",
                new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        InfoTableCell = new PdfPCell(
                new Phrase("Salary: " + salary + " PHP", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);
        InfoTableCell = new PdfPCell(new Phrase("", new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
        InfoTableCell.setBorder(PdfPCell.NO_BORDER);
        InfoTable.addCell(InfoTableCell);

        PdfPTable SchedTable = new PdfPTable(17);
        SchedTable.setWidthPercentage(100);

        SchedTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell SchedTableCell;

        Phrase phraseDayS = new Phrase();
        Phrase phraseAMTotal = new Phrase();
        Phrase phraseAMStart = new Phrase();
        Phrase phraseAMEnd = new Phrase();
        Phrase phrasePMTotal = new Phrase();
        Phrase phrasePMStart = new Phrase();
        Phrase phrasePMEnd = new Phrase();
        Phrase phraseTotalTime = new Phrase();
        Phrase phraseBlankS = new Phrase();
        Phrase phraseDaySx = new Phrase();
        Phrase phraseAMTotalx = new Phrase();
        Phrase phraseAMStartx = new Phrase();
        Phrase phraseAMEndx = new Phrase();
        Phrase phrasePMTotalx = new Phrase();
        Phrase phrasePMStartx = new Phrase();
        Phrase phrasePMEndx = new Phrase();
        Phrase phraseTotalTimex = new Phrase();

        phraseDayS.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseDayS);
        phraseAMStart.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMStart);
        phraseAMEnd.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMEnd);
        phraseAMTotal.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMTotal);
        phrasePMStart.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMStart);
        phrasePMEnd.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMEnd);
        phrasePMTotal.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMTotal);
        phraseTotalTime.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseTotalTime);
        phraseBlankS.add(new Chunk("           ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseBlankS);

        phraseDaySx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseDaySx);
        phraseAMStartx.add(new Chunk("AM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMStartx);
        phraseAMEndx.add(new Chunk("AM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMEndx);
        phraseAMTotalx.add(new Chunk("AM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseAMTotalx);
        phrasePMStartx.add(new Chunk("PM Start", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMStartx);
        phrasePMEndx.add(new Chunk("PM End", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMEndx);
        phrasePMTotalx.add(new Chunk("PM Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phrasePMTotalx);
        phraseTotalTimex.add(new Chunk("Total", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        SchedTable.addCell(phraseTotalTimex);

        while (rs.next()) {
            SimpleDateFormat readingFormat = new SimpleDateFormat("HH:mm:ss");
            SimpleDateFormat outputFormat = new SimpleDateFormat("hh:mm a");
            String dayxxx = rs.getString("day");
            String amStartxx = rs.getString("amStart");
            String amEndxx = rs.getString("amEnd");
            String pmStartxx = rs.getString("pmStart");
            String pmEndxx = rs.getString("pmEnd");
            String amTotalxx = rs.getString("amTotal");
            String pmTotalxx = rs.getString("pmTotal");
            String totalHoursxx = rs.getString("totalTime");
            String blank = "          ";

            String amStart = null;
            String amEnd = null;
            String amTotal = null;
            String pmStart = null;
            String pmEnd = null;
            String pmTotal = null;
            String totalHoursx = null;

            Date dayx = new SimpleDateFormat("EEEE").parse(dayxxx);
            SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE");
            String day = sdfxxx.format(dayx);
            System.out.println(day + " day");

            try {
                Date amStartTxx = readingFormat.parse(amStartxx);
                amStart = outputFormat.format(amStartTxx);
                if (amStart.equals("12:00 AM")) {
                    amStart = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date amEndTx = readingFormat.parse(amEndxx);
                amEnd = outputFormat.format(amEndTx);
                if (amEnd.equals("12:00 AM")) {
                    amEnd = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date amTotalTx = readingFormat.parse(amTotalxx);
                amTotal = outputFormat.format(amTotalTx);
                if (amTotal.equals("12:00 AM")) {
                    amTotal = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmStartTxx = readingFormat.parse(pmStartxx);
                pmStart = outputFormat.format(pmStartTxx);
                if (pmStart.equals("12:00 AM")) {
                    pmStart = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmEndTxx = readingFormat.parse(pmEndxx);
                pmEnd = outputFormat.format(pmEndTxx);
                if (pmEnd.equals("12:00 AM")) {
                    pmEnd = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            try {
                Date pmTotalTxx = readingFormat.parse(pmTotalxx);
                pmTotal = outputFormat.format(pmTotalTxx);
                if (pmTotal.equals("12:00 AM")) {
                    pmTotal = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                Date totalHoursxT = readingFormat.parse(totalHoursxx);
                totalHoursx = outputFormat.format(totalHoursxT);
                if (totalHoursx.equals("12:00 AM")) {
                    totalHoursx = "00:00";
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println(day);
            System.out.println(amStart);
            System.out.println(amEnd);
            System.out.println(amTotal);
            System.out.println(pmStart);
            System.out.println(pmEnd);
            System.out.println(pmTotal);
            System.out.println(totalHoursx);

            SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(new Phrase(blank));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(new Phrase(day, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(amTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmStart, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmEnd, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(pmTotal, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

            SchedTableCell = new PdfPCell(
                    new Phrase(totalHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
            SchedTableCell.setBorder(PdfPCell.NO_BORDER);
            SchedTable.addCell(SchedTableCell);

        }

        PdfPTable DTRTable = new PdfPTable(17);
        DTRTable.setWidthPercentage(100);

        DTRTable.getDefaultCell().setBorder(0);
        //create a cell object
        PdfPCell DTRTableCell;

        Phrase phraseDay = new Phrase();
        Phrase phraseDate = new Phrase();
        Phrase phraseAMIn = new Phrase();
        Phrase phraseAMOut = new Phrase();
        Phrase phrasePMIn = new Phrase();
        Phrase phrasePMOut = new Phrase();
        Phrase phraseHours = new Phrase();
        Phrase phraseUTL = new Phrase();
        Phrase phraseBlank = new Phrase();
        Phrase phraseDayx = new Phrase();
        Phrase phraseDatex = new Phrase();
        Phrase phraseAMInx = new Phrase();
        Phrase phraseAMOutx = new Phrase();
        Phrase phrasePMInx = new Phrase();
        Phrase phrasePMOutx = new Phrase();
        Phrase phraseHoursx = new Phrase();
        Phrase phraseUTLx = new Phrase();

        phraseDay.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDay);
        phraseDate.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDate);
        phraseAMIn.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMIn);
        phraseAMOut.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMOut);
        phrasePMIn.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMIn);
        phrasePMOut.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMOut);
        phraseHours.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseHours);
        phraseUTL.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseUTL);
        phraseBlank.add(new Chunk("           ", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseBlank);

        phraseDayx.add(new Chunk("Day", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDayx);
        phraseDatex.add(new Chunk("Date", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseDatex);
        phraseAMInx.add(new Chunk("AM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMInx);
        phraseAMOutx.add(new Chunk("AM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseAMOutx);
        phrasePMInx.add(new Chunk("PM IN", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMInx);
        phrasePMOutx.add(new Chunk("PM OUT", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phrasePMOutx);
        phraseHoursx.add(new Chunk("Hours", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseHoursx);
        phraseUTLx.add(new Chunk("Late/U.T", new Font(Font.FontFamily.HELVETICA, 6, Font.BOLD)));
        DTRTable.addCell(phraseUTLx);

        try {
            Connection connx = null;
            Statement stx = null;
            connx = dbC.getConnection();
            stx = connx.createStatement();

            String queryx = "SELECT timeinout.day, timeinout.date, schedule.totalTime, schedule.amTotal, "
                    + "schedule.amStart, timeinout.amTimeIn, schedule.amEnd, timeinout.amTimeOut, "
                    + "schedule.pmTotal, schedule.pmStart, timeinout.pmTimeIn, schedule.pmEnd, "
                    + "timeinout.pmTimeOut FROM timeinout LEFT JOIN "
                    + "(schedule) ON (schedule.empId = timeinout.empId AND timeinout.day = schedule.day) WHERE  "
                    + "timeinout.empId ='" + id + "' AND  schedule.empId = '" + id + "' AND date(`Date`) >= '"
                    + fDate + "' " + "AND date(`Date`) <= '" + lDate + "'";
            ResultSet rsx = stx.executeQuery(queryx);
            while (rsx.next()) {
                String day = rsx.getString("timeinout.day");
                String date = rsx.getString("timeinout.date");
                String amStartDB = rsx.getString("schedule.amStart");
                String amIn = rsx.getString("timeinout.amTimeIn");
                String amEndDB = rsx.getString("schedule.amEnd");
                String amOut = rsx.getString("timeinout.amTimeOut");
                String pmStartDB = rsx.getString("schedule.pmStart");
                String pmIn = rsx.getString("timeinout.pmTimeIn");
                String pmEndDB = rsx.getString("schedule.pmEnd");
                String pmOut = rsx.getString("timeinout.pmTimeOut");
                String totTime = rsx.getString("schedule.totalTime");
                String wHours;
                String blank = "           ";
                String dayx = rsx.getString("timeinout.day");
                String datex = rsx.getString("timeinout.date");
                //                String amStartDBx = rsx.getString("schedule.amStart");
                //                String amInx = rsx.getString("timeinout.amTimeIn");
                //                String amEndDBx = rsx.getString("schedule.amEnd");
                //                String amOutx = rsx.getString("timeinout.amTimeOut");
                //                String pmStartDBx = rsx.getString("schedule.pmStart");
                //                String pmInx = rsx.getString("timeinout.pmTimeIn");
                //                String pmEndDBx = rsx.getString("schedule.pmEnd");
                String pmOutx = rsx.getString("timeinout.pmTimeOut");
                String totalAM = rsx.getString("schedule.amTotal");
                String totalPM = rsx.getString("schedule.pmTotal");
                String totTimex = rsx.getString("schedule.totalTime");
                String wHoursx;

                parser.setTimeZone(TimeZone.getTimeZone("UTC"));

                if (!amEndDB.equals("00:00:00") && !amOut.equals("00:00:00")) {
                    Start = parser.parse(amEndDB);
                    In = parser.parse(amOut);
                    if (Start.after(In)) {
                        amOutDiff = tDiff.timeDiff(amOut, amEndDB);

                        amOutDiffT = parser.parse(amOutDiff);
                        amOutDiffTotal += amOutDiffT.getTime();

                    } else {
                        amOutDiff = "00:00:00";
                    }
                } else {
                    amOutDiff = totalAM;
                    amOutDiffT = parser.parse(amOutDiff);
                    amOutDiffTotal += amOutDiffT.getTime();
                }

                Start = parser.parse(amStartDB);
                In = parser.parse(amIn);
                if (Start.after(In)) {
                    amInDiff = "00:00:00";
                } else if (amOutDiff.equals(totalAM)) {
                    amInDiff = "00:00:00";
                } else {
                    amInDiff = tDiff.timeDiff(amStartDB, amIn);

                    amInDiffT = parser.parse(amInDiff);
                    amInDiffTotal += amInDiffT.getTime();

                }
                if (!pmEndDB.equals("00:00:00") && !pmOut.equals("00:00:00")) {
                    Start = parser.parse(pmEndDB);
                    In = parser.parse(pmOut);
                    if (Start.after(In)) {
                        pmOutDiff = tDiff.timeDiff(pmOut, pmEndDB);

                        pmOutDiffT = parser.parse(pmOutDiff);
                        pmOutDiffTotal += pmOutDiffT.getTime();

                    } else {
                        pmOutDiff = "00:00:00";
                    }
                } else {
                    pmOutDiff = totalPM;
                    pmOutDiffT = parser.parse(pmOutDiff);
                    pmOutDiffTotal += pmOutDiffT.getTime();
                }

                Start = parser.parse(pmStartDB);
                In = parser.parse(pmIn);
                if (Start.after(In)) {
                    pmInDiff = "00:00:00";
                } else if (pmOutDiff.equals(totalPM)) {
                    pmInDiff = "00:00:00";
                } else {
                    pmInDiff = tDiff.timeDiff(pmStartDB, pmIn);

                    pmInDiffT = parser.parse(pmInDiff);
                    pmInDiffTotal += pmInDiffT.getTime();

                }

                Date totH = parser.parse(totTimex);
                long totHTotal = 0;
                totHTotal += totH.getTime();

                Date amInDiffx = parser.parse(amInDiff);
                Date amOutDiffx = parser.parse(amOutDiff);
                Date pmInDiffx = parser.parse(pmInDiff);
                Date pmOutDiffx = parser.parse(pmOutDiff);

                long workedHoursxxx = amInDiffx.getTime() + amOutDiffx.getTime() + pmInDiffx.getTime()
                        + pmOutDiffx.getTime();

                long hoursx = workedHoursxxx / 3600000;
                long minutesx = (workedHoursxxx % 3600000) / 60000;

                wHours = String.format("%02d:%02d", hoursx, minutesx);
                wHoursx = String.format("%02d:%02d", hoursx, minutesx);

                Date dayxxx = new SimpleDateFormat("EEEE").parse(day);
                SimpleDateFormat sdfxxx = new SimpleDateFormat("EEE");
                String newDayxx = sdfxxx.format(dayxxx);
                System.out.println(newDayxx);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDayxx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date datexx = new SimpleDateFormat("yyyy-MM-dd").parse(date);
                SimpleDateFormat sdf = new SimpleDateFormat("dd-MM-yy");
                String newDate = sdf.format(datexx);
                System.out.println(newDate);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDate, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(totTime);
                DTRTableCell = new PdfPCell(
                        new Phrase(totTime, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(wHours);
                DTRTableCell = new PdfPCell(
                        new Phrase(wHours, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(blank);
                DTRTableCell = new PdfPCell(new Phrase(blank));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date dayxx = new SimpleDateFormat("EEEE").parse(dayx);
                SimpleDateFormat sdfxx = new SimpleDateFormat("EEE");
                String newDayx = sdfxx.format(dayxx);
                System.out.println(newDayx);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDayx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                Date datexxx = new SimpleDateFormat("yyyy-MM-dd").parse(datex);
                SimpleDateFormat sdfx = new SimpleDateFormat("dd-MM-yy");
                String newDatex = sdfx.format(datexxx);
                System.out.println(newDatex);
                DTRTableCell = new PdfPCell(
                        new Phrase(newDatex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(amIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(amOut);
                DTRTableCell = new PdfPCell(
                        new Phrase(amOut, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmIn);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmIn, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(pmOutx);
                DTRTableCell = new PdfPCell(
                        new Phrase(pmOutx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(totTimex);
                DTRTableCell = new PdfPCell(
                        new Phrase(totTimex, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

                System.out.println(wHoursx);
                DTRTableCell = new PdfPCell(
                        new Phrase(wHoursx, new Font(Font.FontFamily.HELVETICA, 6, Font.NORMAL)));
                DTRTableCell.setBorder(PdfPCell.NO_BORDER);
                DTRTable.addCell(DTRTableCell);

            }
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e);
        }
        document.add(dateRecTable);
        document.add(InfoTable);
        document.add(new Paragraph(
                "-----------------------------------------------------------------------               ----------------------------------------------------------------------",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK)));
        document.add(new Paragraph(
                "                                   Schedule                                                                                     Schedule\n",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK)));
        document.add(SchedTable);
        document.add(new Paragraph(
                "-----------------------------------------------------------------------               ----------------------------------------------------------------------",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.BOLD, BaseColor.BLACK)));
        document.add(new Paragraph(
                "                             Dailty Time Record                                                                     Dailty Time Record\n",
                FontFactory.getFont(FontFactory.HELVETICA, 10, Font.NORMAL, BaseColor.BLACK)));
        document.add(DTRTable);
        document.add(ICTable);

        try {
            conn = dbC.getConnection();

            PreparedStatement stmtx = conn.prepareStatement("INSERT INTO released"
                    + "(empId, firstDate, lastDate, totalHours, lateUnderTime, workedHours, fileName, salary) VALUES (?,?,?,?,?,?,?,?)");

            stmtx.setString(1, id);
            stmtx.setString(2, fDate);
            stmtx.setString(3, lDate);
            stmtx.setString(4, totalHours);
            stmtx.setString(5, workedHours);
            stmtx.setString(6, totalHours);
            stmtx.setString(7, "Report-" + reportCount + "." + lastRId + "-" + id + ".pdf");
            stmtx.setString(8, salary + "");

            stmtx.executeUpdate();

        } catch (SQLException se) {
            //Handle errors for JDBC
            se.printStackTrace();
        } catch (Exception e) {
            //Handle errors for Class.forName
            e.printStackTrace();
        } finally {
            //finally block used to close resources
            try {
                if (stmt != null)
                    conn.close();
            } catch (SQLException se) {
            } // do nothing
            try {
                if (conn != null)
                    conn.close();
            } catch (SQLException se) {
                se.printStackTrace();
            } //end finally try
        } //end try
        document.close();
    } catch (DocumentException | IOException | SQLException e) {
        JOptionPane.showMessageDialog(null, e);
    } catch (ParseException ex) {
        Logger.getLogger(printPDF.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:ara.Confirmsec.java

public void myfunction() throws IOException, DocumentException {
    String a = preres.getText();// w  w w . j a v  a 2  s  .  c o  m
    File file = new File(DEST);
    file.getParentFile().mkdirs();
    Document document = new Document();
    PdfWriter.getInstance(document, new FileOutputStream(DEST));
    document.open();
    Image image = Image.getInstance("logo.jpg");
    document.add(image);
    Font chapterFont = FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLD);
    Font paragraphFont = FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL);
    Font small = FontFactory.getFont(FontFactory.HELVETICA, 5, Font.BOLD);
    String date = new Date().toString();
    Paragraph paragraph1 = new Paragraph(date);
    Paragraph paragraph2 = new Paragraph("To Whom it May Concern", chapterFont);
    paragraph2.setAlignment(Element.ALIGN_CENTER);
    paragraph1.setAlignment(Element.ALIGN_RIGHT);
    paragraph2.setSpacingBefore(20f);
    paragraph2.setSpacingAfter(10f);
    Paragraph paragraph3 = new Paragraph(a, paragraphFont);
    paragraph3.setSpacingAfter(20f);
    Paragraph paragraph4 = new Paragraph("Registrar");
    paragraph4.setAlignment(Element.ALIGN_RIGHT);
    paragraph4.setSpacingAfter(100f);
    Paragraph paragraph5 = new Paragraph(
            "This is a digitally signed document. Use Ref No. " + c + " to verify.", small);
    document.add(paragraph1);
    document.add(paragraph2);
    document.add(paragraph3);
    document.add(paragraph4);
    document.add(paragraph5);
    document.close();
    JOptionPane.showMessageDialog(null, "Document Generated.");
}

From source file:avalonscrollmaker20.AnothakScroll.java

License:Open Source License

public AnothakScroll(String tagNumber, String tagTitle, String tagSchool) {
    liersethPhrase_Symbol = new ArrayList<Symbol>();
    liersethPhrase_Common = new ArrayList<Word>();
    spellTitle = tagTitle;//from   w w  w .jav a 2s.  c  om
    spellCode = tagNumber.toLowerCase();

    // The "Gesture" will always begin a Lierseth Phrase
    liersethPhrase_Common.add(Word.GESTURE);
    liersethPhrase_Symbol.add(Symbol.GESTURE);

    // Assign [Old/New]School, partial Phrases, and involved Keus
    switch (NewSchool.getValue(tagSchool)) {
    case THEKSO:
        spellOldSchool = OldSchool.ENTHE;
        spellNewSchool = NewSchool.THEKSO;
        sourceKeu = Keu.EDEN;
        liersethPhrase_Common.add(Word.TEMME);
        liersethPhrase_Common.add(Word.THEKSO);
        liersethPhrase_Common.add(Word.EKS);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.TEMME);
        liersethPhrase_Symbol.add(Symbol.THEKSO);
        liersethPhrase_Symbol.add(Symbol.EKS);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case HETTER:
        spellOldSchool = OldSchool.HEITTUR;
        spellNewSchool = NewSchool.HETTER;
        sourceKeu = Keu.HIECIN;
        liersethPhrase_Common.add(Word.HEPHT);
        liersethPhrase_Common.add(Word.HETTER);
        liersethPhrase_Common.add(Word.TRITE);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.HEPHT);
        liersethPhrase_Symbol.add(Symbol.HETTER);
        liersethPhrase_Symbol.add(Symbol.TRITE);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case CHATTEN:
        spellOldSchool = OldSchool.EINSET;
        spellNewSchool = NewSchool.CHATTEN;
        sourceKeu = Keu.SEYLIN;
        liersethPhrase_Common.add(Word.FINN);
        liersethPhrase_Common.add(Word.CHATTEN);
        liersethPhrase_Common.add(Word.SIFF);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.FINN);
        liersethPhrase_Symbol.add(Symbol.CHATTEN);
        liersethPhrase_Symbol.add(Symbol.SIFF);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case XIETEP:
        spellOldSchool = OldSchool.XIKIIL;
        spellNewSchool = NewSchool.XIETEP;
        sourceKeu = Keu.KEUNA;
        liersethPhrase_Common.add(Word.ONK);
        liersethPhrase_Common.add(Word.XIETEP);
        liersethPhrase_Common.add(Word.CIN);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.ONK);
        liersethPhrase_Symbol.add(Symbol.XIETEP);
        liersethPhrase_Symbol.add(Symbol.CIN);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case TASOL:
        spellOldSchool = OldSchool.TAJEAR;
        spellNewSchool = NewSchool.TASOL;
        sourceKeu = Keu.BIRSIN;
        liersethPhrase_Common.add(Word.LURR);
        liersethPhrase_Common.add(Word.TASOL);
        liersethPhrase_Common.add(Word.RISH);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.LURR);
        liersethPhrase_Symbol.add(Symbol.TASOL);
        liersethPhrase_Symbol.add(Symbol.RISH);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case OJIIN:
        spellOldSchool = OldSchool.OGININ;
        spellNewSchool = NewSchool.OJIIN;
        sourceKeu = Keu.NORT;
        liersethPhrase_Common.add(Word.SORN);
        liersethPhrase_Common.add(Word.OJIIN);
        liersethPhrase_Common.add(Word.NETT);
        liersethPhrase_Common.add(Word.SETT);
        liersethPhrase_Symbol.add(Symbol.SORN);
        liersethPhrase_Symbol.add(Symbol.OJIIN);
        liersethPhrase_Symbol.add(Symbol.NETT);
        liersethPhrase_Symbol.add(Symbol.SETT);
        break;
    case ZUN:
        spellOldSchool = OldSchool.ZANSIN;
        spellNewSchool = NewSchool.ZUN;
        sourceKeu = Keu.BUUSIN;
        liersethPhrase_Common.add(Word.ZUN);
        liersethPhrase_Symbol.add(Symbol.ZUN);
        break;
    default: // UNDEFINED
        spellOldSchool = OldSchool.UNDEFINED;
        spellNewSchool = NewSchool.UNDEFINED;
        sourceKeu = Keu.UNDEFINED;
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Common.add(Word.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        liersethPhrase_Symbol.add(Symbol.UNDEFINED);
        break;
    }

    // The "Effect" will always end a Lierseth Phrase
    liersethPhrase_Common.add(Word.EFFECT);
    liersethPhrase_Symbol.add(Symbol.EFFECT);

    // Check if spell is Pure
    if (spellCode.charAt(0) == 'p') {
        this.elementChar = 1;
        this.schoolChar = 2;
    }

    // Inspect elementChar of spellCode, assign spellElement, elemental Word/Symbol, and
    // backgroundImage
    switch (spellCode.charAt(elementChar)) {
    case 'e' | 'E':
        spellElement = Element.EARTH;
        destinationKeu = Keu.KEUNA;
        liersethPhrase_Common.add(2, Word.URDT);
        liersethPhrase_Symbol.add(2, Symbol.URDT);
        break;
    case 'a' | 'A':
        spellElement = Element.AIR;
        destinationKeu = Keu.SEYLIN;
        liersethPhrase_Common.add(2, Word.FETT);
        liersethPhrase_Symbol.add(2, Symbol.FETT);
        break;
    case 'f' | 'F':
        spellElement = Element.FIRE;
        destinationKeu = Keu.BUUSIN;
        liersethPhrase_Common.add(2, Word.MOL);
        liersethPhrase_Symbol.add(2, Symbol.MOL);
        break;
    case 'w' | 'W':
        spellElement = Element.WATER;
        destinationKeu = Keu.HIECIN;
        liersethPhrase_Common.add(2, Word.MIRN);
        liersethPhrase_Symbol.add(2, Symbol.MIRN);
        break;
    case 'n' | 'N':
        spellElement = Element.NEXUS;
        destinationKeu = Keu.BIRSIN;
        liersethPhrase_Common.add(2, Word.ZEWE);
        liersethPhrase_Symbol.add(2, Symbol.ZEWE);
        break;
    case 'v' | 'V':
        spellElement = Element.VOID;
        destinationKeu = Keu.EDEN;
        liersethPhrase_Common.add(2, Word.THEIT);
        liersethPhrase_Symbol.add(2, Symbol.THEIT);
        break;
    default: // UNDEFINED
        spellElement = Element.UNDEFINED;
        destinationKeu = Keu.UNDEFINED;
        liersethPhrase_Common.add(2, Word.UNDEFINED);
        liersethPhrase_Symbol.add(2, Symbol.UNDEFINED);
        break;
    }

    // Inspect schoolChar of spellCode, assign spellCircle
    switch (spellCode.charAt(schoolChar)) {
    case '1':
        if (schoolChar == 1)
            spellCircle = Circle.FIRST;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIRST;
        break;
    case '2':
        if (schoolChar == 1)
            spellCircle = Circle.SECOND;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SECOND;
        break;
    case '3':
        if (schoolChar == 1)
            spellCircle = Circle.THIRD;
        else // schoolChar == 2
            spellCircle = Circle.PURE_THIRD;
        break;
    case '4':
        if (schoolChar == 1)
            spellCircle = Circle.FOURTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIRST;
        break;
    case '5':
        if (schoolChar == 1)
            spellCircle = Circle.FIFTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_FIFTH;
        break;
    case '6':
        if (schoolChar == 1)
            spellCircle = Circle.SIXTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SIXTH;
        break;
    case '7': // Insert extra words for Breath Spell
        if (schoolChar == 1)
            spellCircle = Circle.SEVENTH;
        else // schoolChar == 2
            spellCircle = Circle.PURE_SEVENTH;

        liersethPhrase_Common.add(1, Word.O);
        liersethPhrase_Common.add(2, Word.LILIN);
        liersethPhrase_Common.add(3, Word.ANOTHO);
        liersethPhrase_Common.add(4, Word.SEYANRYN);
        liersethPhrase_Common.add(5, Word.UNDEFINED);
        liersethPhrase_Symbol.add(1, Symbol.O);
        liersethPhrase_Symbol.add(2, Symbol.LILIN);
        liersethPhrase_Symbol.add(3, Symbol.ANOTHO);
        liersethPhrase_Symbol.add(4, Symbol.SEYANRYN);
        liersethPhrase_Symbol.add(5, Symbol.UNDEFINED);
        break;
    default: // UNDEFINED
        spellCircle = Circle.UNDEFINED;
        break;
    }

    // Assign backgroundImages
    if (sourceKeu == sourceKeu.UNDEFINED | destinationKeu == destinationKeu.UNDEFINED) {
        backgroundImageFull = null;
        System.err.println("Keus not found!" + "\nSourceKeu = " + sourceKeu.toString().toLowerCase()
                + "\nDestinationKeu = " + destinationKeu.toString().toLowerCase());
    } else {
        try {
            String resourceLocation = "resources/" + sourceKeu.toString().toLowerCase()
                    + destinationKeu.toString().toLowerCase();

            String imageFullURL = this.getClass().getResource(resourceLocation + ".png").toString()
                    .toLowerCase();

            backgroundImageFull = Image.getInstance(imageFullURL);
            backgroundImageFull.setAlignment(Image.MIDDLE | Image.UNDERLYING);
            backgroundImageFull.scaleAbsolute(594, 378);
        } catch (Exception ex) {
            System.err.println(ex + "\nImages for " + sourceKeu.toString() + destinationKeu.toString()
                    + " were not found.");

        }
    }
}

From source file:be.kcbj.placemat.Placemat.java

License:Open Source License

private PdfPCell generateCell(Sponsor sponsor, float cellHeight) throws IOException, BadElementException {
    int numLines = 0;
    Paragraph p = new Paragraph();

    if (sponsor.image != null) {
        Image image = Image.getInstance(SponsorManager.getImageUrl(sponsor.image));
        if (sponsor.imageWidth != 0) {
            image.scaleToFit(sponsor.imageWidth, 1000);
        } else if (sponsor.imageHeight != 0) {
            image.scaleToFit(1000, sponsor.imageHeight);
        }/*w  w w .  j a va 2s .c  o m*/
        Chunk imageChunk = new Chunk(image, 0, 0, true);
        p.add(imageChunk);
    }

    if (sponsor.twoColumns) {
        StringBuilder sb = new StringBuilder();
        if (sponsor.name != null) {
            sb.append(sponsor.name);
        }
        if (sponsor.name2 != null) {
            if (sb.length() > 0) {
                sb.append(" - ");
            }
            sb.append(sponsor.name2);
        }
        if (sponsor.address != null) {
            if (sb.length() > 0) {
                sb.append(" - ");
            }
            sb.append(sponsor.address);
        }
        if (sponsor.address2 != null) {
            if (sb.length() > 0) {
                sb.append(" - ");
            }
            sb.append(sponsor.address2);
        }
        p.add(Chunk.NEWLINE);
        p.add(new Chunk(sb.toString(), new Font(Font.FontFamily.HELVETICA, 8, Font.NORMAL)));
        numLines++;
    } else {
        if (sponsor.twoRows && sponsor.image != null) {
            p.add(Chunk.NEWLINE);
        }
        if (sponsor.name != null) {
            p.add(generateFittedChunk(sponsor.name, Font.BOLD));
            numLines++;
        }
        if (sponsor.name2 != null) {
            p.add(Chunk.NEWLINE);
            p.add(generateFittedChunk(sponsor.name2, Font.BOLD));
            numLines++;
        }
        if (sponsor.address != null) {
            p.add(new Chunk("\n\n", new Font(Font.FontFamily.HELVETICA, 2, Font.NORMAL)));
            p.add(new Chunk(sponsor.address, new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
            numLines++;
        }
        if (sponsor.address2 != null) {
            p.add(Chunk.NEWLINE);
            p.add(new Chunk(sponsor.address2, new Font(Font.FontFamily.HELVETICA, 7, Font.NORMAL)));
            numLines++;
        }
    }
    p.setPaddingTop(0);
    p.setSpacingBefore(0);
    p.setAlignment(Element.ALIGN_CENTER);
    p.setMultipliedLeading(numLines <= 3 ? 1.3f : 1.1f);

    PdfPCell cell = new PdfPCell();
    cell.setHorizontalAlignment(Element.ALIGN_CENTER);
    cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
    cell.setFixedHeight(cellHeight);
    if (sponsor.twoColumns) {
        cell.setColspan(2);
    }
    if (sponsor.twoRows) {
        cell.setRowspan(2);
        if (sponsor.image == null) {
            p.setMultipliedLeading(p.getMultipliedLeading() * 1.5f);
        }
    }
    cell.setBorder(PdfPCell.NO_BORDER);
    cell.setCellEvent(CELL_EVENT);
    cell.setPaddingBottom(4);
    cell.addElement(p);
    if (sponsor.isTodo()) {
        cell.setBackgroundColor(BaseColor.ORANGE);
    }

    return cell;
}

From source file:be.rheynaerde.poolsheets.rheynaerde.Demo.java

License:Open Source License

public static void main(String[] args) {
    try {/*from   w w w.ja v  a2s  . c o  m*/
        File f = new File("rheynaerde-demo.pdf");
        StandardPoolSheet sps = new StandardPoolSheet(9, Image.getInstance(LOGO_URL));
        sps.export(new FileOutputStream(f));
        f = new File("rheynaerde-demo_nl.pdf");
        sps = new StandardPoolSheet(
                new DefaultStandardPoolSheetConfiguration(8, 20f, Image.getInstance(LOGO_URL), DUTCH));
        sps.export(new FileOutputStream(f));
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:be.rheynaerde.pufmanager.data.CompetitionSettings.java

License:Open Source License

public Image getImage() {
    if (image != null)
        return image;
    else if (imageUrl == null)
        return null;
    else {//from   w w w  .  ja v a 2s  .  c o m
        try {
            image = Image.getInstance(imageUrl);
        } catch (BadElementException ex) {
            Logger.getLogger(CompetitionSettings.class.getName()).log(Level.SEVERE, null, ex);
        } catch (MalformedURLException ex) {
            Logger.getLogger(CompetitionSettings.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(CompetitionSettings.class.getName()).log(Level.SEVERE, null, ex);
        }
        return image;
    }
}