List of usage examples for com.itextpdf.text.pdf PdfPCell setBackgroundColor
public void setBackgroundColor(final BaseColor backgroundColor)
From source file:org.cherchgk.actions.tournament.result.show.GetPDFTournamentResultAction.java
License:Apache License
public InputStream getDocument() throws DocumentException, IOException { Font normalFont = getNormalFont(); Font boldFont = getBoldFont(); ByteArrayOutputStream out = new ByteArrayOutputStream(); Document document = new Document(); PdfWriter.getInstance(document, out); document.open();// www . j av a 2 s.c om Paragraph tournamentNameParagraph = new Paragraph(tournament.getTitle(), boldFont); tournamentNameParagraph.setAlignment(Element.ALIGN_CENTER); document.add(tournamentNameParagraph); Paragraph tournamentDateParagraph = new Paragraph(tournament.getDateAsString(), boldFont); tournamentDateParagraph.setAlignment(Element.ALIGN_CENTER); document.add(tournamentDateParagraph); if (teamCategory != null) { Paragraph teamCategoryParagraph = new Paragraph(teamCategory.getTitle(), boldFont); teamCategoryParagraph.setAlignment(Element.ALIGN_CENTER); document.add(teamCategoryParagraph); } int numColumns = 3 + tournamentResult.getRankingAlgorithms().size(); PdfPTable resultTable = new PdfPTable(numColumns); int[] widths = new int[numColumns]; widths[0] = 1; widths[1] = 3; for (int i = 2; i < numColumns; i++) { widths[i] = 1; } resultTable.setWidths(widths); resultTable.setSpacingBefore(10f); PdfPCell cell = new PdfPCell(new Phrase("", boldFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setColspan(2); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); resultTable.addCell(cell); for (RankingAlgorithm rankingAlgorithm : tournamentResult.getRankingAlgorithms()) { cell = new PdfPCell(new Phrase(rankingAlgorithm.getPointName(), boldFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); resultTable.addCell(cell); } cell = new PdfPCell(new Phrase("?", boldFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); resultTable.addCell(cell); boolean showTeamCategoryInTable = (teamCategory == null) && !tournament.getTeamCategories().isEmpty(); for (TournamentResult.TeamResult teamResult : tournamentResult.getTeamResultList()) { if (showTeamCategoryInTable) { if (teamResult.getTeam().getTeamCategory() != null) { cell = new PdfPCell(new Phrase(teamResult.getTeam().getTeamCategory().getTitle(), normalFont)); } else { cell = new PdfPCell(new Phrase("", normalFont)); } resultTable.addCell(cell); } cell = new PdfPCell(new Phrase(teamResult.getTeam().getName(), normalFont)); if (!showTeamCategoryInTable) { cell.setColspan(2); } resultTable.addCell(cell); for (Map<Team, RankingPoint> m : tournamentResult.getRankingPointsList()) { cell = new PdfPCell(new Phrase(m.get(teamResult.getTeam()).toString(), normalFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); resultTable.addCell(cell); } cell = new PdfPCell(new Phrase(teamResult.getPlace(), normalFont)); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); resultTable.addCell(cell); } document.add(resultTable); document.close(); return new ByteArrayInputStream(out.toByteArray()); }
From source file:org.inspira.condominio.pdf.DocumentoEgresos.java
private void agregarTablaEgresos(InformacionEgreso[] egresos) throws DocumentException { PdfPCell cell1 = new PdfPCell(new Phrase("Fecha", F_CELL_HEADER_TEXT)); cell1.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell1.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell1.setColspan(2);/*from ww w. ja va2 s . c om*/ cell1.setFixedHeight(20f); cell1.setBackgroundColor(new BaseColor(0xff009846)); PdfPCell cell2 = new PdfPCell(new Phrase("Descripcin", F_CELL_HEADER_TEXT)); cell2.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell2.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell2.setColspan(6); cell2.setBackgroundColor(new BaseColor(0xff009846)); cell2.setFixedHeight(20f); PdfPCell cell3 = new PdfPCell(new Phrase("Monto", F_CELL_HEADER_TEXT)); cell3.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell3.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell3.setColspan(2); cell3.setBackgroundColor(new BaseColor(0xff009846)); cell3.setFixedHeight(20f); PdfPCell cell4 = new PdfPCell(new Phrase("Pagado con", F_CELL_HEADER_TEXT)); cell4.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell4.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell4.setColspan(2); cell4.setBackgroundColor(new BaseColor(0xff009846)); cell4.setFixedHeight(20f); PdfPCell cell5 = new PdfPCell(new Phrase("Total", F_NORMAL)); cell5.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); cell5.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell5.setColspan(8); cell5.setFixedHeight(20f); PdfPCell cell6 = new PdfPCell(); cell6.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell6.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell6.setColspan(4); cell6.setFixedHeight(20f); PdfPTable table = new PdfPTable(12); table.setWidthPercentage(100); table.addCell(cell1); table.addCell(cell2); table.addCell(cell3); table.addCell(cell4); float total = agregarEgresos(table, egresos); cell5.setBorder(Rectangle.RIGHT); table.addCell(cell5); cell6.setPhrase(new Phrase(String.format("%.2f pesos", total), F_NORMAL)); table.addCell(cell6); documento.add(table); }
From source file:org.inspira.condominio.pdf.DocumentoEstadoDeCuenta.java
private float setTableHeading(PdfPTable t1, Ingreso[] ingresos) { PdfPCell cConcepto = new PdfPCell(new Phrase("Concepto", F_CELL_HEADER_TEXT)); cConcepto.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cConcepto.setColspan(3);/* w ww .j a v a 2 s. com*/ cConcepto.setBackgroundColor(new BaseColor(0xff009846)); t1.addCell(cConcepto); PdfPCell cFecha = new PdfPCell(new Phrase("Fecha", F_CELL_HEADER_TEXT)); cFecha.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cFecha.setColspan(3); cFecha.setBackgroundColor(new BaseColor(0xff009846)); t1.addCell(cFecha); PdfPCell cMonto = new PdfPCell(new Phrase("Monto", F_CELL_HEADER_TEXT)); cMonto.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cMonto.setColspan(3); cMonto.setBackgroundColor(new BaseColor(0xff009846)); t1.addCell(cMonto); PdfPCell concepto; PdfPCell monto; PdfPCell fecha; float total = 0; boolean isTenue = false; for (Ingreso ingreso : ingresos) { concepto = new PdfPCell(); concepto.setColspan(3); concepto.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); if (isTenue) { concepto.setPhrase( new Phrase(ingreso.getConceptoDeIngreso().getConceptoDeIngreso(), F_CELL_HEADER_TEXT)); concepto.setBackgroundColor(new BaseColor(0xaa009846)); } else { concepto.setPhrase(new Phrase(ingreso.getConceptoDeIngreso().getConceptoDeIngreso())); } t1.addCell(concepto); fecha = new PdfPCell(); fecha.setColspan(3); fecha.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); if (isTenue) { fecha.setBackgroundColor(new BaseColor(0xaa009846)); fecha.setPhrase(new Phrase(DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault()) .format(new Date(ingreso.getFecha())), F_CELL_HEADER_TEXT)); } else { fecha.setPhrase(new Phrase(DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.getDefault()) .format(new Date(ingreso.getFecha())))); } t1.addCell(fecha); monto = new PdfPCell(); monto.setColspan(3); monto.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); if (isTenue) { monto.setBackgroundColor(new BaseColor(0xaa009846)); monto.setPhrase(new Phrase(String.format("%.2f pesos", ingreso.getMonto()), F_CELL_HEADER_TEXT)); } else { monto.setPhrase(new Phrase(String.format("%.2f pesos", ingreso.getMonto()))); } t1.addCell(monto); total += ingreso.getMonto(); isTenue = !isTenue; System.out.println("Total: " + total); } return total; }
From source file:org.inspira.condominio.pdf.DocumentoIngreso.java
private float addTablaFormatoIngresos(InformacionIngresos infoIngresos) throws DocumentException { PdfPCell cellHeader1 = new PdfPCell(new Phrase("Ingresos Ordinarios", F_CELL_HEADER_TEXT)); cellHeader1.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cellHeader1.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader1.setColspan(5);/*from www. j a v a 2 s . com*/ cellHeader1.setFixedHeight(20f); cellHeader1.setBackgroundColor(new BaseColor(0xff009846)); PdfPCell cellHeader2 = new PdfPCell(new Phrase("Monto", F_CELL_HEADER_TEXT)); cellHeader2.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cellHeader2.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader2.setColspan(5); cellHeader2.setBackgroundColor(new BaseColor(0xff009846)); cellHeader2.setFixedHeight(20f); PdfPCell cellHeader3 = new PdfPCell(new Phrase("En cuenta bancaria", F_NORMAL)); cellHeader3.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cellHeader3.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader3.setColspan(5); cellHeader3.setFixedHeight(20f); PdfPCell cellHeader4 = new PdfPCell( new Phrase(String.format("%.2f pesos", infoIngresos.getMontoCuentaBancaria()), F_NORMAL)); cellHeader4.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cellHeader4.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader4.setColspan(5); cellHeader4.setFixedHeight(20f); PdfPCell cellHeader5 = new PdfPCell(new Phrase("En caja de administracin", F_NORMAL)); cellHeader5.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cellHeader5.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader5.setColspan(5); cellHeader5.setFixedHeight(20f); PdfPCell cellHeader6 = new PdfPCell( new Phrase(String.format("%.2f pesos", infoIngresos.getMontoEnCajaDeAdministracion()), F_NORMAL)); cellHeader6.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cellHeader6.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader6.setColspan(5); cellHeader6.setFixedHeight(20f); PdfPCell cellHeader7 = new PdfPCell(new Phrase("Total", F_NORMAL)); cellHeader7.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cellHeader7.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader7.setColspan(5); cellHeader7.setFixedHeight(20f); PdfPCell cellHeader8 = new PdfPCell(new Phrase( String.format("%.2f pesos", infoIngresos.getMontoCuentaBancaria() + infoIngresos.getMontoEnCajaDeAdministracion()), F_NORMAL)); cellHeader8.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cellHeader8.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cellHeader8.setColspan(5); cellHeader8.setFixedHeight(20f); PdfPTable table = new PdfPTable(10); table.setWidthPercentage(100); table.addCell(cellHeader1); table.addCell(cellHeader2); table.addCell(cellHeader3); table.addCell(cellHeader4); table.addCell(cellHeader5); table.addCell(cellHeader6); table.addCell(cellHeader7); table.addCell(cellHeader8); table.setSpacingBefore(3f); documento.add(table); return infoIngresos.getMontoCuentaBancaria() + infoIngresos.getMontoEnCajaDeAdministracion(); }
From source file:org.inspira.condominio.pdf.DocumentoIngreso.java
private void addTablaCobranza(InformacionIngresos infoIngresos) throws DocumentException { PdfPCell cell1 = new PdfPCell(new Phrase("Tipo de condminos", F_CELL_HEADER_TEXT)); cell1.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell1.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell1.setColspan(6);//from ww w . ja v a 2 s. c o m cell1.setFixedHeight(20f); cell1.setBackgroundColor(new BaseColor(0xff009846)); PdfPCell cell2 = new PdfPCell(new Phrase("Nmero", F_CELL_HEADER_TEXT)); cell2.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell2.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell2.setColspan(2); cell2.setBackgroundColor(new BaseColor(0xff009846)); cell2.setFixedHeight(20f); PdfPCell cell3 = new PdfPCell(new Phrase("Porcentaje", F_CELL_HEADER_TEXT)); cell3.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell3.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell3.setColspan(2); cell3.setBackgroundColor(new BaseColor(0xff009846)); cell3.setFixedHeight(20f); PdfPCell cell4 = new PdfPCell(new Phrase("Condminos que efectuaron su pago", F_NORMAL)); cell4.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cell4.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell4.setColspan(6); cell4.setFixedHeight(20f); PdfPCell cell5 = new PdfPCell(new Phrase(String.valueOf(infoIngresos.getTotalRegulares()), F_NORMAL)); cell5.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell5.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell5.setColspan(2); cell5.setFixedHeight(20f); PdfPCell cell6 = new PdfPCell(new Phrase(String.format("%.2f%%", ((float) infoIngresos.getTotalRegulares() / (float) infoIngresos.getTotalhabitantes()) * 100), F_NORMAL)); cell6.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell6.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell6.setColspan(2); cell6.setFixedHeight(20f); PdfPCell cell7 = new PdfPCell(new Phrase("Condminos morosos", F_NORMAL)); cell7.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cell7.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell7.setColspan(6); cell7.setFixedHeight(20f); PdfPCell cell8 = new PdfPCell(new Phrase( String.valueOf(infoIngresos.getTotalhabitantes() - infoIngresos.getTotalRegulares()), F_NORMAL)); cell8.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell8.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell8.setColspan(2); cell8.setFixedHeight(20f); PdfPCell cell9 = new PdfPCell(new Phrase(String.format("%.2f%%", (((float) infoIngresos.getTotalhabitantes() - (float) infoIngresos.getTotalRegulares()) / (float) infoIngresos.getTotalhabitantes()) * 100), F_NORMAL)); cell9.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell9.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell9.setColspan(2); cell9.setFixedHeight(20f); PdfPCell cell10 = new PdfPCell(new Phrase("Total", F_NORMAL)); cell10.setHorizontalAlignment(PdfPCell.ALIGN_LEFT); cell10.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell10.setColspan(6); cell10.setFixedHeight(20f); PdfPCell cell11 = new PdfPCell(new Phrase(String.valueOf(infoIngresos.getTotalhabitantes()), F_NORMAL)); cell11.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell11.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell11.setColspan(2); cell11.setFixedHeight(20f); PdfPCell cell12 = new PdfPCell(new Phrase("100%", F_NORMAL)); cell12.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); cell12.setVerticalAlignment(PdfPCell.ALIGN_MIDDLE); cell12.setColspan(2); cell12.setFixedHeight(20f); PdfPTable table = new PdfPTable(10); table.setWidthPercentage(100); table.addCell(cell1); table.addCell(cell2); table.addCell(cell3); table.addCell(cell4); table.addCell(cell5); table.addCell(cell6); table.addCell(cell7); table.addCell(cell8); table.addCell(cell9); table.addCell(cell10); table.addCell(cell11); table.addCell(cell12); documento.add(table); }
From source file:org.larz.dom4.editor.ReportGenerator.java
License:Open Source License
public static void generateReport(XtextEditor sourcePage, final Shell shell) { final IXtextDocument myDocument = ((XtextEditor) sourcePage).getDocument(); myDocument.modify(new IUnitOfWork.Void<XtextResource>() { @Override/*from www . ja v a 2 s .c om*/ public void process(XtextResource resource) throws Exception { Map<String, Map<String, ModObject>> cellMap = new HashMap<String, Map<String, ModObject>>(); Dom4Mod dom4Mod = (Dom4Mod) resource.getContents().get(0); EList<AbstractElement> elements = dom4Mod.getElements(); for (AbstractElement element : elements) { if (element instanceof SelectArmorById || element instanceof SelectArmorByName) { String name = getSelectArmorname((Armor) element); if (name == null) continue; String id = getArmorid((Armor) element); Map<String, ModObject> map = cellMap.get(ARMOR); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(ARMOR, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Armor) element, modObject.propertyMap); } else if (element instanceof NewArmor) { String name = getArmorname((Armor) element); String id = getArmorid((Armor) element); Map<String, ModObject> map = cellMap.get(ARMOR); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(ARMOR, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Armor) element, modObject.propertyMap); } else if (element instanceof SelectWeaponById || element instanceof SelectWeaponByName) { String name = getSelectWeaponname((Weapon) element); String id = getWeaponid((Weapon) element); Map<String, ModObject> map = cellMap.get(WEAPONS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(WEAPONS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Weapon) element, modObject.propertyMap); } else if (element instanceof NewWeapon) { String name = getWeaponname((Weapon) element); String id = getWeaponid((Weapon) element); Map<String, ModObject> map = cellMap.get(WEAPONS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(WEAPONS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Weapon) element, modObject.propertyMap); } else if (element instanceof SelectMonsterById || element instanceof SelectMonsterByName) { String name = getSelectMonstername((Monster) element); String id = getMonsterid((Monster) element); Map<String, ModObject> map = cellMap.get(MONSTERS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(MONSTERS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Monster) element, modObject.propertyMap); } else if (element instanceof NewMonster) { String name = getMonstername((Monster) element); String id = getMonsterid((Monster) element); Map<String, ModObject> map = cellMap.get(MONSTERS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(MONSTERS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Monster) element, modObject.propertyMap); } else if (element instanceof SelectSpellById || element instanceof SelectSpellByName) { String name = getSelectSpellname((Spell) element); String id = getSpellid((Spell) element); Map<String, ModObject> map = cellMap.get(SPELLS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(SPELLS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Spell) element, modObject.propertyMap); } else if (element instanceof NewSpell) { String name = getSpellname((Spell) element); //String id = getSpellid((Spell)element); Map<String, ModObject> map = cellMap.get(SPELLS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(SPELLS, map); } ModObject modObject = map.get(name); if (modObject == null) { modObject = new ModObject(); modObject.title = "" + name; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(name, modObject); } setPropertyValues((Spell) element, modObject.propertyMap); } else if (element instanceof SelectItemById || element instanceof SelectItemByName) { String name = getSelectItemname((Item) element); String id = getItemid((Item) element); Map<String, ModObject> map = cellMap.get(ITEMS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(ITEMS, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Item) element, modObject.propertyMap); } else if (element instanceof NewItem) { String name = getItemname((Item) element); //String id = getItemid((Item)element); Map<String, ModObject> map = cellMap.get(ITEMS); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(ITEMS, map); } ModObject modObject = map.get(name); if (modObject == null) { modObject = new ModObject(); modObject.title = name; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(name, modObject); } setPropertyValues((Item) element, modObject.propertyMap); } else if (element instanceof SelectSiteById || element instanceof SelectSiteByName) { String name = getSelectSitename((Site) element); String id = getSiteid((Site) element); Map<String, ModObject> map = cellMap.get(SITES); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(SITES, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Site) element, modObject.propertyMap); } else if (element instanceof NewSite) { String name = getSitename((Site) element); String id = getSiteid((Site) element); Map<String, ModObject> map = cellMap.get(SITES); if (map == null) { map = new HashMap<String, ModObject>(); cellMap.put(SITES, map); } ModObject modObject = map.get(id); if (modObject == null) { modObject = new ModObject(); modObject.title = name + " (" + id + ")"; modObject.propertyMap = new HashMap<String, PropertyValues>(); map.put(id, modObject); } setPropertyValues((Site) element, modObject.propertyMap); } else if (element instanceof SelectNation) { // String name = getSelectNationname((Nation)element); // String id = getNationid((Nation)element); // // Map<String, ModObject> map = cellMap.get(NATIONS); // if (map == null) { // map = new HashMap<String, ModObject>(); // cellMap.put(NATIONS, map); // } // ModObject modObject = map.get(id); // if (modObject == null) { // modObject = new ModObject(); // modObject.title = name + " (" + id + ")"; // modObject.propertyMap = new HashMap<String, PropertyValues>(); // map.put(id, modObject); // } // setPropertyValues((SelectNation)element, modObject.propertyMap, resource); } } try { // step 1 Document document = new Document(PageSize.LETTER.rotate()); // step 2 File tempFile = File.createTempFile("dom4editor", ".pdf"); tempFile.deleteOnExit(); FileOutputStream tempFileOutputStream = new FileOutputStream(tempFile); PdfWriter.getInstance(document, tempFileOutputStream); // step 3 document.open(); List<Map.Entry<String, Map<String, ModObject>>> cellList = new ArrayList<Map.Entry<String, Map<String, ModObject>>>(); for (Map.Entry<String, Map<String, ModObject>> innerEntry : cellMap.entrySet()) { cellList.add(innerEntry); } Collections.sort(cellList, new Comparator<Map.Entry<String, Map<String, ModObject>>>() { @Override public int compare(Map.Entry<String, Map<String, ModObject>> o1, Map.Entry<String, Map<String, ModObject>> o2) { return o1.getKey().compareTo(o2.getKey()); } }); for (Map.Entry<String, Map<String, ModObject>> entry : cellList) { PdfPTable table = new PdfPTable(1); table.setWidthPercentage(100f); PdfPCell cell = new PdfPCell(new Phrase(entry.getKey(), TITLE)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setFixedHeight(26f); cell.setHorizontalAlignment(Element.ALIGN_CENTER); cell.setVerticalAlignment(Element.ALIGN_BOTTOM); table.addCell(cell); table.setHeaderRows(1); List<Map.Entry<String, ModObject>> list = new ArrayList<Map.Entry<String, ModObject>>(); for (Map.Entry<String, ModObject> innerEntry : entry.getValue().entrySet()) { list.add(innerEntry); } Collections.sort(list, new Comparator<Map.Entry<String, ModObject>>() { @Override public int compare(Map.Entry<String, ModObject> o1, Map.Entry<String, ModObject> o2) { return o1.getValue().title.compareTo(o2.getValue().title); } }); PdfPTable propertyTable = null; if (entry.getKey().equals(ARMOR)) { propertyTable = getTable(new String[] { "name", "type", "prot", "def", "enc", "rcost" }, new String[] { "Name", "Type", "Prot", "Def", "Enc", "Rcost" }, new ValueTranslator[] { null, new ValueTranslator() { @Override public String translate(String value) { if (value == null) return null; if (value.equals("4")) return "Shield"; if (value.equals("5")) return "Body Armor"; if (value.equals("6")) return "Helmet"; return "Unknown"; } }, null, null, null, null }, null, list); propertyTable.setWidths(new float[] { 5, 1, 1, 1, 1, 1 }); } if (entry.getKey().equals(WEAPONS)) { propertyTable = getTable( new String[] { "name", "dmg", "att", "nratt", "def", "len", "range", "ammo", "rcost" }, new String[] { "Name", "Dmg", "Att", "Nratt", "Def", "Len", "Range", "Ammo", "Rcost" }, null, null, list); propertyTable.setWidths(new float[] { 5, 1, 1, 1, 1, 1, 1, 1, 1 }); } if (entry.getKey().equals(MONSTERS)) { propertyTable = getTable( new String[] { "name", "hp", "prot", "MOVE", "size", "ressize", "str", "enc", "att", "def", "prec", "mr", "mor", "gcost", "rcost" }, new String[] { "Name", "HP", "Prot", "Move", "Size", "Rsize", "Str", "Enc", "Att", "Def", "Prec", "MR", "Mor", "Gcost", "Rcost" }, null, new ValueCombiner[] { null, null, null, new ValueCombiner() { @Override public String translate(String[] value) { if (value[0] == null && value[1] == null) return null; return value[0] + "/" + value[1]; } @Override public String[] getNeededColumns() { return new String[] { "mapmove", "ap" }; } }, null, null, null, null, null, null, null, null, null, null, null }, list); propertyTable.setWidths(new float[] { 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }); } if (entry.getKey().equals(ITEMS)) { propertyTable = getTable( new String[] { "name", "constlevel", "PATH", "type", "weapon", "armor" }, new String[] { "Name", "Constlevel", "Path Req", "Type", "Weapon", "Armor" }, new ValueTranslator[] { null, null, null, new ValueTranslator() { @Override public String translate(String value) { if (value == null) return null; if (value.equals("1")) return "1-h Weapon"; if (value.equals("2")) return "2-h Weapon"; if (value.equals("3")) return "Missile Weapon"; if (value.equals("4")) return "Shield"; if (value.equals("5")) return "Body Armor"; if (value.equals("6")) return "Helmet"; if (value.equals("7")) return "Boots"; if (value.equals("8")) return "Misc"; return "Unknown"; } }, null, null }, new ValueCombiner[] { null, null, new ValueCombiner() { @Override public String translate(String[] value) { if (value[0] == null && value[1] == null && value[2] == null && value[3] == null) return null; StringBuffer buf = new StringBuffer(); if (value[0] != null && !value[0].equals("null")) { buf.append(getPathName(Integer.parseInt(value[0])) + value[1]); } if (value[2] != null && !value[2].equals("null") && !value[2].equals("-1")) { buf.append(getPathName(Integer.parseInt(value[2])) + value[3]); } return buf.toString(); } @Override public String[] getNeededColumns() { return new String[] { "mainpath", "mainlevel", "secondarypath", "secondarylevel" }; } }, null, null, null }, list); propertyTable.setWidths(new float[] { 2.5f, 1, 1, 1, 2.5f, 2.5f }); } if (entry.getKey().equals(SPELLS)) { propertyTable = getTable( new String[] { "name", "school", "researchlevel", "aoe", "damage", "effect", "fatiguecost", "nreff", "range", "precision", "spec", "nextspell" }, new String[] { "Name", "School", "Research", "AOE", "Damage", "Effect", "Fatigue", "Nreff", "Range", "Precision", "Spec", "Nextspell" }, null, null, list); propertyTable.setWidths(new float[] { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }); } if (entry.getKey().equals(NATIONS)) { propertyTable = getTable(new String[] { "name", "startsite1", "startsite2", "startsite3", "startsite4", "era", "startfort" }, list); propertyTable.setWidths(new float[] { 5, 1, 1, 1, 1, 1, 1 }); } if (entry.getKey().equals(SITES)) { propertyTable = getTable( new String[] { "name", "path", "level", "rarity", "loc", "homemon", "homecom", "gold", "res" }, new String[] { "Name", "Path", "Level", "Rarity", "Loc", "Homemon", "Homecom", "Gold", "Res" }, new ValueTranslator[] { null, new ValueTranslator() { @Override public String translate(String value) { if (value == null) return null; if (value.equals("0")) return "Fire"; if (value.equals("1")) return "Air"; if (value.equals("2")) return "Water"; if (value.equals("3")) return "Earth"; if (value.equals("4")) return "Astral"; if (value.equals("5")) return "Death"; if (value.equals("6")) return "Nature"; if (value.equals("7")) return "Blood"; return "Unknown"; } }, null, null, null, null, null, null, null }, null, list); propertyTable.setWidths(new float[] { 5, 1, 1, 1, 1, 1, 1, 1, 1 }); } PdfPCell innerCell = new PdfPCell(); innerCell.addElement(propertyTable); innerCell.setBorder(PdfPCell.NO_BORDER); innerCell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(innerCell); document.add(table); document.newPage(); } document.close(); tempFileOutputStream.flush(); tempFileOutputStream.close(); Program pdfViewer = Program.findProgram("pdf"); if (pdfViewer != null) { pdfViewer.execute(tempFile.getAbsolutePath()); } else { FileDialog dialog = new FileDialog(shell, SWT.SAVE); dialog.setFilterExtensions(new String[] { "*.pdf" }); if (dialog.open() != null) { FileInputStream from = null; FileOutputStream to = null; try { String filterPath = dialog.getFilterPath(); String name = dialog.getFileName(); from = new FileInputStream(new File(tempFile.getAbsolutePath())); to = new FileOutputStream(new File(filterPath + File.separator + name)); byte[] buffer = new byte[4096]; int bytesRead; while ((bytesRead = from.read(buffer)) != -1) { to.write(buffer, 0, bytesRead); // write } } finally { if (from != null) { from.close(); } if (to != null) { to.close(); } } } } } catch (Exception e) { e.printStackTrace(); } } }); }
From source file:org.larz.dom4.editor.ReportGenerator.java
License:Open Source License
private static PdfPTable getTable(String[] columns, String[] columnNames, ValueTranslator[] trans, ValueCombiner[] combine, List<Map.Entry<String, ModObject>> list) { PdfPTable table = new PdfPTable(columns.length); table.setWidthPercentage(100f);/*from w ww.ja v a 2 s.c o m*/ table.setHorizontalAlignment(Element.ALIGN_LEFT); for (String col : columnNames) { PdfPCell c = new PdfPCell(new Phrase(col, SUBTITLE)); c.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(c); } table.setHeaderRows(1); for (Map.Entry<String, ModObject> innerEntry : list) { String name = innerEntry.getValue().title; Map<String, PropertyValues> map = innerEntry.getValue().propertyMap; List<Map.Entry<String, PropertyValues>> list2 = new ArrayList<Map.Entry<String, PropertyValues>>(); for (Map.Entry<String, PropertyValues> innerEntry2 : map.entrySet()) { list2.add(innerEntry2); } Collections.sort(list2, new Comparator<Map.Entry<String, PropertyValues>>() { @Override public int compare(Map.Entry<String, PropertyValues> o1, Map.Entry<String, PropertyValues> o2) { return o1.getKey().compareTo(o2.getKey()); } }); if (list2.size() == 0) continue; PdfPCell[] cells = new PdfPCell[columns.length]; cells[0] = new PdfPCell(); cells[0].addElement(new Phrase(name, BOLD_TEXT)); for (int i = 1; i < cells.length; i++) { cells[i] = new PdfPCell(); if (combine != null && combine[i] != null) { String[] neededCols = combine[i].getNeededColumns(); String[] oldValues = new String[neededCols.length]; String[] newValues = new String[neededCols.length]; for (int j = 0; j < neededCols.length; j++) { for (Map.Entry<String, PropertyValues> entry : list2) { if (entry.getKey().equals(neededCols[j])) { oldValues[j] = entry.getValue().oldValue; newValues[j] = entry.getValue().newValue; break; } } } // Put old values into null new values boolean hasNew = false; for (int k = 0; k < newValues.length; k++) { if (newValues[k] != null) { hasNew = true; break; } } if (hasNew) { for (int k = 0; k < newValues.length; k++) { if (newValues[k] == null) { newValues[k] = oldValues[k]; } } } String newValue = combine[i].translate(newValues); String oldValue = combine[i].translate(oldValues); if (newValue != null) { Phrase phrase = new Phrase(); phrase.add(new Chunk(newValue, BOLD_TEXT)); if (oldValue != null) { phrase.add(new Chunk(" (" + oldValue + ")", TEXT)); } cells[i].addElement(phrase); } else if (oldValue != null) { cells[i].addElement(new Phrase(oldValue, TEXT)); } } else { for (Map.Entry<String, PropertyValues> entry : list2) { if (entry.getKey().equals(columns[i])) { String oldValue = entry.getValue().oldValue; String newValue = entry.getValue().newValue; if (trans != null && trans.length > i && trans[i] != null) { oldValue = trans[i].translate(oldValue); newValue = trans[i].translate(newValue); } if (newValue != null) { Phrase phrase = new Phrase(); phrase.add(new Chunk(newValue, BOLD_TEXT)); if (oldValue != null && !oldValue.equals("null")) { phrase.add(new Chunk(" (" + oldValue + ")", TEXT)); } cells[i].addElement(phrase); } else if (oldValue != null && !oldValue.equals("null")) { cells[i].addElement(new Phrase(oldValue, TEXT)); } break; } } } } for (PdfPCell cell : cells) { table.addCell(cell); } } return table; }
From source file:org.me.modelos.PDFHelper.java
public void tablaToPdf(JTable jTable, File pdfNewFile, String title) { try {//from w w w . j a v a 2s. c om Font subCategoryFont = new Font(Font.FontFamily.HELVETICA, 16, Font.BOLD); Document document = new Document(PageSize.LETTER.rotate()); PdfWriter writer = null; try { writer = PdfWriter.getInstance(document, new FileOutputStream(pdfNewFile)); } catch (FileNotFoundException fileNotFoundException) { Message.showErrorMessage(fileNotFoundException.getMessage()); } writer.setBoxSize("art", new Rectangle(150, 10, 700, 580)); writer.setPageEvent(new HeaderFooterPageEvent()); document.open(); document.addTitle(title); document.addSubject("Reporte"); document.addKeywords("reportes, gestion, pdf"); document.addAuthor("Gestion de Proyectos de software"); document.addCreator("gestion de proyectos"); Paragraph parrafo = new Paragraph(title, subCategoryFont); PdfPTable table = new PdfPTable(jTable.getColumnCount()); table.setWidthPercentage(100); PdfPCell columnHeader; for (int column = 0; column < jTable.getColumnCount(); column++) { Font font = new Font(Font.FontFamily.HELVETICA); font.setColor(255, 255, 255); columnHeader = new PdfPCell(new Phrase(jTable.getColumnName(column), font)); columnHeader.setHorizontalAlignment(Element.ALIGN_LEFT); columnHeader.setBackgroundColor(new BaseColor(96, 125, 139)); table.addCell(columnHeader); } table.getDefaultCell().setBackgroundColor(new BaseColor(255, 255, 255)); table.setHeaderRows(1); BaseColor verdad = new BaseColor(255, 255, 255); BaseColor falso = new BaseColor(214, 230, 244); boolean bandera = false; for (int row = 0; row < jTable.getRowCount(); row++) { for (int column = 0; column < jTable.getColumnCount(); column++) { if (bandera) { table.getDefaultCell().setBackgroundColor(verdad); } else { table.getDefaultCell().setBackgroundColor(falso); } table.addCell(jTable.getValueAt(row, column).toString()); bandera = !bandera; } } parrafo.add(table); document.add(parrafo); document.close(); //JOptionPane.showMessageDialog(null, "Se ha creado el pdf en " + pdfNewFile.getPath(), // "RESULTADO", JOptionPane.INFORMATION_MESSAGE); } catch (DocumentException documentException) { System.out.println("Se ha producido un error " + documentException); JOptionPane.showMessageDialog(null, "Se ha producido un error" + documentException, "ERROR", JOptionPane.ERROR_MESSAGE); } }
From source file:org.openlmis.web.view.pdf.requisition.RequisitionCellFactory.java
License:Open Source License
public static PdfPCell categoryRow(Integer visibleColumnsSize, LineItem lineItem) { Chunk chunk = new Chunk(lineItem.getCategoryName(), FontFactory.getFont(FontFactory.HELVETICA_BOLD)); PdfPCell cell = new PdfPCell(new Phrase(chunk)); cell.setColspan(visibleColumnsSize); cell.setBackgroundColor(HEADER_BACKGROUND); cell.setPadding(CELL_PADDING);// ww w . j a v a 2 s . c o m return cell; }
From source file:org.openlmis.web.view.pdf.requisition.RequisitionPdfModel.java
License:Open Source License
private PdfPTable getTableFor(List<? extends LineItem> lineItems, Boolean fullSupply, List<? extends Column> columnList) throws DocumentException, NoSuchFieldException, IllegalAccessException, IOException { Template template = Template.getInstance(columnList); List<? extends Column> visibleColumns = template.getPrintableColumns(fullSupply); PdfPTable table = prepareTable(visibleColumns); boolean odd = true; LineItem previousLineItem = null;/*from ww w . j a v a2 s . com*/ for (LineItem lineItem : lineItems) { if (previousLineItem == null || !lineItem.compareCategory(previousLineItem)) { table.addCell(categoryRow(visibleColumns.size(), lineItem)); previousLineItem = lineItem; } if (lineItem.isRnrLineItem()) { PrintRnrLineItem printRnrLineItem = new PrintRnrLineItem((RnrLineItem) lineItem); printRnrLineItem.calculate(rnrColumnList, lossesAndAdjustmentsTypes, numberOfMonths, requisition.getStatus()); } String currencySymbol = messageService.message(LABEL_CURRENCY_SYMBOL); if (!configService.getBoolValue("RNR_PRINT_REPEAT_CURRENCY_SYMBOL")) { currencySymbol = ""; } List<PdfPCell> cells = getCells(visibleColumns, lineItem, currencySymbol); odd = !odd; for (PdfPCell cell : cells) { cell.setBackgroundColor(odd ? BaseColor.WHITE : ROW_GREY_BACKGROUND); table.addCell(cell); } } return table; }