List of usage examples for com.itextpdf.text.pdf PdfPCell setBackgroundColor
public void setBackgroundColor(final BaseColor backgroundColor)
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); } }