Example usage for com.itextpdf.text.pdf PdfPCell setBackgroundColor

List of usage examples for com.itextpdf.text.pdf PdfPCell setBackgroundColor

Introduction

In this page you can find the example usage for com.itextpdf.text.pdf PdfPCell setBackgroundColor.

Prototype


public void setBackgroundColor(final BaseColor backgroundColor) 

Source Link

Document

Sets the backgroundcolor of the rectangle.

Usage

From source file:timeclock.reports.EmployeeListReport.java

@Override
public PdfPTable createTable(List list) {
    PdfPTable table = new PdfPTable(new float[] { 2, 3, 4, 1, 1 });
    table.setWidthPercentage(100f);/*from   w  w w  .  java 2 s . co  m*/
    PdfPCell dCell = table.getDefaultCell();
    dCell.setUseAscender(true);
    dCell.setUseDescender(true);
    dCell.setPadding(3);
    dCell.setHorizontalAlignment(Element.ALIGN_CENTER);
    dCell.setBackgroundColor(BaseColor.DARK_GRAY);

    table.addCell(new Phrase("Employee ID", MyFonts.font.get("header")));
    table.addCell(new Phrase("First Name", MyFonts.font.get("header")));
    table.addCell(new Phrase("Last Name", MyFonts.font.get("header")));
    table.addCell(new Phrase("Salary", MyFonts.font.get("header")));
    table.addCell(new Phrase("Admin", MyFonts.font.get("header")));

    dCell.setBackgroundColor(null);
    table.setHeaderRows(1);
    table.setFooterRows(0);

    // used for alternating row color
    int rowCount = 0;
    // Display all employees
    for (Object obj : list) {
        Employee emp = (Employee) obj;
        rowCount++;
        dCell.setBackgroundColor((rowCount % 2 == 0 ? BaseColor.LIGHT_GRAY : null));

        table.addCell(new Paragraph(Integer.toString(emp.getEmployeeID()), MyFonts.font.get("normal")));
        table.addCell(new Paragraph(emp.getFirstName(), MyFonts.font.get("normal")));
        table.addCell(new Paragraph(emp.getLastName(), MyFonts.font.get("normal")));
        table.addCell(new Paragraph(emp.getIsSalary_bool() ? "Yes" : "No", MyFonts.font.get("normal")));
        table.addCell(new Paragraph(emp.getIsAdmin_bool() ? "Yes" : "No", MyFonts.font.get("normal")));
    }

    return table;
}

From source file:timeclock.reports.EmployeeTimeReport.java

@Override
public PdfPTable createTable(List list) {
    // Create table and set basic table properties
    PdfPTable table = new PdfPTable(new float[] { 1, 4, 4, 3 });
    table.setWidthPercentage(100f);//from  www  .j a va2 s .  c  o m
    PdfPCell dCell = table.getDefaultCell();
    dCell.setUseAscender(true);
    dCell.setUseDescender(true);
    dCell.setPadding(3);
    dCell.setHorizontalAlignment(Element.ALIGN_CENTER);
    // Set header background color
    dCell.setBackgroundColor(BaseColor.DARK_GRAY);

    // Display the employee first in header
    table.addCell(new Phrase(Integer.toString(employee.getEmployeeID()), MyFonts.font.get("header")));
    table.addCell(new Phrase(employee.getFirstName(), MyFonts.font.get("header")));
    table.addCell(new Phrase(employee.getLastName(), MyFonts.font.get("header")));
    table.addCell(new Phrase("", MyFonts.font.get("header")));
    // Display the column names in header
    table.addCell(new Phrase("", MyFonts.font.get("header")));
    table.addCell(new Phrase("Time In", MyFonts.font.get("header")));
    table.addCell(new Phrase("Time Out", MyFonts.font.get("header")));
    table.addCell(new Phrase("Time Worked", MyFonts.font.get("header")));

    // Reset the cell background color
    dCell.setBackgroundColor(null);
    // Set the number of rows included in the header and footer
    table.setHeaderRows(2);
    table.setFooterRows(0);

    // Make a variable to hold the total of all time worked            
    long totalTimeDiff = 0;
    // used for alternating row color
    int rowCount = 0;
    // Display all time punches
    for (Object obj : list) {
        TimePunch tp = (TimePunch) obj;
        rowCount++;
        dCell.setBackgroundColor((rowCount % 2 == 0 ? BaseColor.LIGHT_GRAY : null));

        Timestamp ts1, ts2;
        ts1 = tp.getPunchInTimestamp();
        ts2 = tp.getPunchOutTimestamp();
        totalTimeDiff += ts2.getTime() - ts1.getTime();
        String id = Integer.toString(tp.getPunchId());
        String in = DateUtils.getDateTimeFromTimestamp(ts1);
        String out = DateUtils.getDateTimeFromTimestamp(ts2);
        String diff = DateUtils.getTimestampDiff_Str(ts1, ts2);
        // Add information to row
        table.addCell(new Paragraph("", MyFonts.font.get("normal")));
        table.addCell(new Paragraph(in, MyFonts.font.get("normal")));
        table.addCell(new Paragraph(out, MyFonts.font.get("normal")));
        table.addCell(new Paragraph(diff, MyFonts.font.get("normal")));
    }

    // Set background to null
    dCell.setBackgroundColor(null);
    // Get total time worked and create a totals row
    table.addCell(new Paragraph("", MyFonts.font.get("normal")));
    table.addCell(new Paragraph("", MyFonts.font.get("normal")));
    table.addCell(new Paragraph("Total:", MyFonts.font.get("bold")));
    table.addCell(new Paragraph(DateUtils.getTimeStrFromLong(totalTimeDiff), MyFonts.font.get("bold")));

    return table;
}

From source file:vista.Director.ListaProfesores.java

public void prepararImpresion() throws DocumentException {
    String ARCHIVO = "/home/master/Documentos/prueba.pdf";
    int numFilas = tabProfesor.getRowCount();
    Document document = new Document();
    Font fuenteTitulo = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD);
    try {//  w  ww . jav a 2  s . c om
        PdfWriter.getInstance(document, new FileOutputStream(ARCHIVO));
        document.open();
        Paragraph parrafo = new Paragraph();
        Chunk titulo = new Chunk("Lista de Instructores Registrados", fuenteTitulo);
        parrafo.add(titulo);
        parrafo.setAlignment(Element.ALIGN_CENTER);

        agregarSaltoLinea(parrafo, 3);

        document.add(parrafo);

        Paragraph fecha = new Paragraph();
        String fechaHoy = obtenerFechaActual();
        Chunk datoFecha = new Chunk(fechaHoy);
        fecha.add(datoFecha);
        fecha.setAlignment(Element.ALIGN_RIGHT);

        agregarSaltoLinea(fecha, 3);
        document.add(fecha);

        PdfPTable tabla = new PdfPTable(3);
        tabla.setWidthPercentage(70);

        PdfPCell cell1 = new PdfPCell(new Phrase("Nombre"));
        cell1.setBackgroundColor(BaseColor.YELLOW);
        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
        PdfPCell cell2 = new PdfPCell(new Phrase("Apellido"));
        cell2.setBackgroundColor(BaseColor.YELLOW);
        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
        PdfPCell cell3 = new PdfPCell(new Phrase("CI"));
        cell3.setBackgroundColor(BaseColor.YELLOW);
        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);

        tabla.addCell(cell1);
        tabla.addCell(cell2);
        tabla.addCell(cell3);

        for (int i = 0; i < numFilas; i++) {
            Object obj1 = obtenerDato(tabProfesor, i, 1);
            Object obj2 = obtenerDato(tabProfesor, i, 2);
            Object obj3 = obtenerDato(tabProfesor, i, 3);

            String valor1 = obj1.toString();
            String valor2 = obj2.toString();
            String valor3 = obj3.toString();

            tabla.addCell(valor1);
            tabla.addCell(valor2);
            tabla.addCell(valor3);
        }
        document.add(tabla);
        document.close();

    } catch (FileNotFoundException ex) {
        System.err.println(ex);
    }
}

From source file:voedselbank.OverzichtScherm.java

private void exporteerKnopActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exporteerKnopActionPerformed

    try {/*from   w w  w  .  ja  v  a 2s.  c om*/
        JFileChooser chooser = new JFileChooser();
        chooser.setCurrentDirectory(new java.io.File("."));
        chooser.setDialogTitle("Kies een locatie");
        chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        chooser.setAcceptAllFileFilterUsed(false);

        if (chooser.showSaveDialog(this) == JFileChooser.APPROVE_OPTION) {
            Document doc = new Document();

            Rectangle rect = new Rectangle(PageSize.A4.rotate());
            PdfWriter.getInstance(doc, new FileOutputStream(chooser.getSelectedFile() + "/overzicht.pdf"));

            doc.setPageSize(rect);
            doc.open();

            PdfPTable pdfTable = new PdfPTable(overzichtTabel.getColumnCount());
            pdfTable.setWidthPercentage(108);
            pdfTable.setHorizontalAlignment(Element.ALIGN_CENTER);

            //adding table headers
            for (int i = 0; i < overzichtTabel.getColumnCount(); i++) {
                PdfPCell head = new PdfPCell(new Paragraph(overzichtTabel.getColumnName(i)));
                head.setHorizontalAlignment(Element.ALIGN_CENTER);
                head.setBackgroundColor(new BaseColor(236, 116, 4));
                pdfTable.addCell(head);
            }

            //extracting data from the JTable and inserting it to PdfPTable
            for (int rows = 0; rows < overzichtTabel.getRowCount(); rows++) {
                for (int cols = 0; cols < overzichtTabel.getColumnCount(); cols++) {
                    pdfTable.addCell(overzichtTabel.getModel().getValueAt(rows, cols).toString());
                }
            }

            doc.add(pdfTable);
            doc.close();
            System.out.println("Done");
        } else {
            System.out.println("U heeft niks geselecteerd.");
        }
    } catch (FileNotFoundException | DocumentException e) {
        e.printStackTrace();
    }
}

From source file:windows.wzListWindow.java

private void printDocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printDocActionPerformed
    Document document = new Document();
    Footer ft = new Footer();
    companyAdress comp = new companyAdress();

    try {/*  w  w  w. j  a v a 2 s .  c  o m*/
        BaseFont ft1 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font ffont = new Font(ft1, 12);

        BaseFont ft3 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font bold = new Font(ft1, 12, Font.BOLD);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf"));
        document.open();
        Paragraph pr = new Paragraph();
        pr.setFont(ffont);
        writer.setPageEvent(ft);
        ContractorEntity contractor = wz
                .getContractor(Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 2).toString()));
        pr.add(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString());
        pr.setAlignment(Element.ALIGN_RIGHT);
        document.add(pr);
        pr.clear();
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            Paragraph nr = new Paragraph("WYADNIE SPRZTU NR ", ffont);
            String yearSlashnr = WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
            if ("WS".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 12).toString())) {
                pr.setAlignment(Element.ALIGN_LEFT);
                DocEntity docPS = wz.getDocument(wz.getPSForWs(
                        Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 0).toString())));
                pr.add("DOTYCZY: PS NR " + docPS.getDocNumber());
                document.add(pr);
                pr.clear();
                pr.setAlignment(Element.ALIGN_RIGHT);
            }
        }

        if ("SPRZT PRZYJTY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            int rok = Timestamp.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString()).getYear()
                    + 1900;
            Paragraph nr = new Paragraph("PRZYJCIE SPRZTU NR ", ffont);
            String yearSlashnr = rok + "/" + WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString();
            nr.add(new Chunk(yearSlashnr, bold));
            nr.setAlignment(Element.ALIGN_LEFT);
            document.add(nr);
        }
        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        document.add(pr);
        pr.clear();
        pr.setAlignment(Element.ALIGN_LEFT);
        pr.add(comp.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + comp.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(comp.getPostal() + " " + comp.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + comp.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + comp.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("Fax: " + comp.getFax());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + comp.getEmail());
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("KLIENT:");
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getName());
        pr.add(Chunk.NEWLINE);
        pr.add("ul. " + contractor.getStreet());
        pr.add(Chunk.NEWLINE);
        pr.add(contractor.getPostalCode() + " " + contractor.getCity());
        pr.add(Chunk.NEWLINE);
        pr.add("NIP: " + contractor.getNip());
        pr.add(Chunk.NEWLINE);
        pr.add("Tel: " + contractor.getPhone());
        pr.add(Chunk.NEWLINE);
        pr.add("E-mail: " + contractor.getEmail());
        document.add(pr);

        pr.clear();
        pr.add(Chunk.NEWLINE);
        pr.add(Chunk.NEWLINE);
        pr.add("PRZYJTE URZDZENIA:");
        document.add(pr);

        //PUT IMAGE FROM DRIVE
        java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("C:/GIT/support/logo.jpg");
        Image img = com.itextpdf.text.Image.getInstance(awtImage, null);
        int indentation = 0;
        float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin()
                - indentation) / img.getWidth()) * 20;
        img.scalePercent(scaler);
        img.setAbsolutePosition(document.right() - 90, document.top() - 150);
        document.add(new Paragraph());
        document.add(img);

        //ADD TABLE

        PdfPTable table = new PdfPTable(7); // 3 columns.
        table.setWidthPercentage(100); //Width 100%
        table.setSpacingBefore(10f); //Space before table
        table.setSpacingAfter(10f); //Space after table
        //Set Column widths
        float[] columnWidths = { 1f, 4f, 3f, 2f, 2f, 6f, 6f };
        table.setWidths(columnWidths);
        BaseFont ft2 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED);
        Font headerFont = new Font(ft2, 9);
        Paragraph pos1 = new Paragraph("", headerFont);
        Paragraph pos2 = new Paragraph("", headerFont);
        Paragraph pos3 = new Paragraph("", headerFont);
        Paragraph pos4 = new Paragraph("", headerFont);
        Paragraph pos5 = new Paragraph("", headerFont);
        Paragraph pos6 = new Paragraph("", headerFont);
        Paragraph pos7 = new Paragraph("", headerFont);

        //FORMATING TABLE
        pos1.clear();
        pos1.add("LP");
        PdfPCell cell1 = new PdfPCell(pos1);
        cell1.setBorderColor(BaseColor.BLACK);
        cell1.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell1.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell1.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell1);
        pos2.clear();
        pos2.add("NAZWA");
        PdfPCell cell2 = new PdfPCell(pos2);
        cell2.setBorderColor(BaseColor.BLACK);
        cell2.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell2.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell2);
        pos3.clear();
        pos3.add("NR SERYJNY");
        PdfPCell cell3 = new PdfPCell(pos3);
        cell3.setBorderColor(BaseColor.BLACK);
        cell3.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell3.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell3.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell3);
        pos4.clear();
        pos4.add("CENA NETTO");
        PdfPCell cell4 = new PdfPCell(pos4);
        cell4.setBorderColor(BaseColor.BLACK);
        cell4.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell4.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell4.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell4);
        pos5.clear();
        pos5.add("CENA BRUTTO");
        PdfPCell cell5 = new PdfPCell(pos5);
        cell5.setBorderColor(BaseColor.BLACK);
        cell5.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell5.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell5.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell5);
        pos6.clear();
        pos6.add("PROBLEM");
        PdfPCell cell6 = new PdfPCell(pos6);
        cell6.setBorderColor(BaseColor.BLACK);
        cell6.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell6.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell6.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell6);
        pos7.clear();
        pos7.add("NAPRAWA");
        PdfPCell cell7 = new PdfPCell(pos7);
        cell7.setBorderColor(BaseColor.BLACK);
        cell7.setBackgroundColor(BaseColor.LIGHT_GRAY);
        cell7.setHorizontalAlignment(Element.ALIGN_CENTER);
        cell7.setVerticalAlignment(Element.ALIGN_MIDDLE);
        table.addCell(cell7);

        cell2.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell3.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell4.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell5.setHorizontalAlignment(Element.ALIGN_RIGHT);
        cell6.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell7.setHorizontalAlignment(Element.ALIGN_LEFT);
        cell1.setBackgroundColor(BaseColor.WHITE);
        cell2.setBackgroundColor(BaseColor.WHITE);
        cell3.setBackgroundColor(BaseColor.WHITE);
        cell4.setBackgroundColor(BaseColor.WHITE);
        cell5.setBackgroundColor(BaseColor.WHITE);
        cell6.setBackgroundColor(BaseColor.WHITE);
        cell7.setBackgroundColor(BaseColor.WHITE);
        int counter = 1;
        for (DocProductEntity prod : productToShow) {
            //col 1 (LP)
            table.addCell(createCell("" + counter, Element.ALIGN_CENTER));
            counter++;
            //col 2 (NAME)
            table.addCell(createCell(prod.getName(), Element.ALIGN_LEFT));
            //col 3 (NR SER)
            table.addCell(createCell(prod.getSerial(), Element.ALIGN_CENTER));
            //col 4 (NETTO)
            table.addCell(createCell(String.valueOf(prod.getPrice()), Element.ALIGN_RIGHT));
            //col 5 (BRUTTO)
            table.addCell(createCell(String.valueOf(prod.getPrice() + (prod.getPrice() * 0.23)),
                    Element.ALIGN_RIGHT));
            //col 6 (PROBLEM)
            table.addCell(createCell(prod.getProblem(), Element.ALIGN_LEFT));
            //col 7 (REPAIRS)
            table.addCell(createCell(prod.getRepair(), Element.ALIGN_LEFT));
        }
        document.add(table);
        pr.setAlignment(Element.ALIGN_RIGHT);
        pr.clear();
        pr.add("PRZEWIDYWANIY KOSZT NAPRAWY:");
        document.add(pr);
        pr.clear();
        pr.add("Razem netto: " + nettoLabel.getText() + " Razem brutto: " + bruttoLabel.getText());
        document.add(pr);
        pr.clear();
        pr.add("Sownie: " + amountInWords(Float.valueOf(bruttoLabel.getText().replace(",", "."))));
        document.add(pr);
        pr.clear();
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        document.add(Chunk.NEWLINE);
        pr.add(".................................................");
        document.add(pr);
        pr.clear();
        pr.add("Podpis i piecztka pracownika");
        document.add(pr);
        if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) {
            pr.clear();
            pr.add(Chunk.NEWLINE);
            pr.add(Chunk.NEWLINE);
            pr.add(".................................................");
            document.add(pr);
            pr.clear();
            pr.add("Sprzt odebraem (Podpis klienta)");
            document.add(pr);
        }
        //CLOSING DOCUMENT
        document.close();
        writer.close();

    } catch (DocumentException e) {
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    try {
        StampPageXofY numeration = new StampPageXofY();
        tempName = nowTimestamp();
        numeration.manipulatePdf("test.pdf", tempName + ".pdf");
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    } catch (DocumentException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
    //OPEN READY DOCUMENT
    try {
        Desktop.getDesktop().open(new File(tempName + ".pdf"));
    } catch (IOException ex) {
        Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex);
    }
}