List of usage examples for com.itextpdf.text PageSize A4
Rectangle A4
To view the source code for com.itextpdf.text PageSize A4.
Click Source Link
From source file:org.inspira.condominio.pdf.DocumentoEgresos.java
public DocumentoEgresos(String admin, InformacionEgreso[] egresos, String tipoDeGasto, String presidente, String vocal1) {/*from w w w .jav a2s. c o m*/ documento = new Document(PageSize.A4); this.admin = admin; this.egresos = egresos; this.tipoDeGasto = tipoDeGasto; this.presidente = presidente; this.vocal1 = vocal1; }
From source file:org.inspira.condominio.pdf.DocumentoEstadoDeCuenta.java
public DocumentoEstadoDeCuenta() { documento = new Document(PageSize.A4); }
From source file:org.inspira.condominio.pdf.DocumentoIngreso.java
public DocumentoIngreso(InformacionIngresos infoIngresos, InformacionIngresos infoIngresosExtra) { documento = new Document(PageSize.A4); this.infoIngresos = infoIngresos; this.infoIngresosExtra = infoIngresosExtra; totalRegular = 0;//from w w w . j a va 2 s . c om totalExtra = 0; }
From source file:org.jaqpot.core.service.data.ReportService.java
public void report2PDF(Report report, OutputStream os) { Document document = new Document(); document.setPageSize(PageSize.A4); document.setMargins(50, 45, 80, 40); document.setMarginMirroring(false);/* w ww . j ava 2 s .c o m*/ try { PdfWriter writer = PdfWriter.getInstance(document, os); TableHeader event = new TableHeader(); writer.setPageEvent(event); } catch (DocumentException ex) { throw new InternalServerErrorException(ex); } document.open(); /** setup fonts for pdf */ Font ffont = new Font(Font.FontFamily.UNDEFINED, 9, Font.ITALIC); Font chapterFont = FontFactory.getFont(FontFactory.HELVETICA, 16, Font.BOLDITALIC); Font paragraphFontBold = FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD); Font paragraphFont = FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL); Font tableFont = FontFactory.getFont(FontFactory.HELVETICA, 12, Font.BOLD); /** print link to jaqpot*/ Chunk chunk = new Chunk( "This report has been automatically created by the JaqpotQuatro report service. Click here to navigate to our official webpage", ffont); chunk.setAnchor("http://www.jaqpot.org"); Paragraph paragraph = new Paragraph(chunk); paragraph.add(Chunk.NEWLINE); Chapter chapter = new Chapter(paragraph, 1); chapter.setNumberDepth(0); /** get title */ String title = null; if (report.getMeta() != null && report.getMeta().getTitles() != null && !report.getMeta().getTitles().isEmpty()) title = report.getMeta().getTitles().iterator().next(); /** print title aligned centered in page */ if (title == null) title = "Report"; chunk = new Chunk(title, chapterFont); paragraph = new Paragraph(chunk); paragraph.setAlignment(Element.ALIGN_CENTER); paragraph.add(Chunk.NEWLINE); paragraph.add(Chunk.NEWLINE); chapter.add(paragraph); /** report Description */ if (report.getMeta() != null && report.getMeta().getDescriptions() != null && !report.getMeta().getDescriptions().isEmpty() && !report.getMeta().getDescriptions().toString().equalsIgnoreCase("null")) { paragraph = new Paragraph(); paragraph.add(new Chunk("Description: ", paragraphFontBold)); paragraph.add(new Chunk(report.getMeta().getDescriptions().toString().replaceAll(":http", ": http"), paragraphFont)); chapter.add(paragraph); chapter.add(Chunk.NEWLINE); } /** report model, algorithm and/or dataset id */ if (report.getMeta() != null && report.getMeta().getHasSources() != null && !report.getMeta().getHasSources().isEmpty() && !report.getMeta().getDescriptions().isEmpty() && !report.getMeta().getDescriptions().toString().equalsIgnoreCase("null")) { Iterator<String> sources = report.getMeta().getHasSources().iterator(); sources.forEachRemaining(o -> { if (o != null) { String[] source = o.split("/"); if (source[source.length - 2].trim().equals("model") || source[source.length - 2].trim().equals("algorithm") || source[source.length - 2].trim().equals("dataset")) { Paragraph paragraph1 = new Paragraph(); paragraph1.add(new Chunk(source[source.length - 2].substring(0, 1).toUpperCase() + source[source.length - 2].substring(1) + ": ", paragraphFontBold)); paragraph1.add(new Chunk(source[source.length - 1], paragraphFont)); chapter.add(paragraph1); chapter.add(Chunk.NEWLINE); } } }); } /** report single calculations */ report.getSingleCalculations().forEach((key, value) -> { Paragraph paragraph1 = new Paragraph(); paragraph1 = new Paragraph(); paragraph1.add(new Chunk(key + ": ", paragraphFontBold)); paragraph1.add(new Chunk(value.toString().trim().replaceAll(" +", " "), paragraphFont)); chapter.add(paragraph1); chapter.add(Chunk.NEWLINE); }); /** report date of completion */ if (report.getMeta() != null && report.getMeta().getDate() != null) { Paragraph paragraph1 = new Paragraph(); paragraph1.add(new Chunk("Procedure completed on: ", paragraphFontBold)); paragraph1.add(new Chunk(report.getMeta().getDate().toString(), paragraphFont)); chapter.add(paragraph1); chapter.add(Chunk.NEWLINE); } try { document.add(chapter); } catch (DocumentException ex) { throw new InternalServerErrorException(ex); } Integer chapterNumber = 0; /** report all_data */ for (Entry<String, ArrayCalculation> entry : report.getArrayCalculations().entrySet()) { String label = entry.getKey(); ArrayCalculation ac = entry.getValue(); PdfPTable table = new PdfPTable(ac.getColNames().size() + 1); for (Entry<String, List<Object>> row : ac.getValues().entrySet()) { try { XMLWorkerHelper.getInstance().parseXHtml(w -> { if (w instanceof WritableElement) { List<Element> elements = ((WritableElement) w).elements(); for (Element element : elements) { PdfPCell pdfCell = new PdfPCell(); pdfCell.addElement(element); table.addCell(pdfCell); } } }, new StringReader(row.getKey())); } catch (IOException e) { e.printStackTrace(); } for (Object o : row.getValue()) { table.addCell(o.toString()); } table.completeRow(); } try { Chunk tableChunk = new Chunk(label, tableFont); Chapter tableChapter = new Chapter(new Paragraph(tableChunk), ++chapterNumber); tableChapter.add(Chunk.NEWLINE); tableChapter.add(table); document.newPage(); document.add(tableChapter); } catch (DocumentException ex) { throw new InternalServerErrorException(ex); } } /** report plots */ for (Entry<String, String> entry : report.getFigures().entrySet()) { try { byte[] valueDecoded = Base64.decodeBase64(entry.getValue()); Image l = Image.getInstance(valueDecoded); document.newPage(); //image starts at the half's half of pdf page l.setAbsolutePosition(0, (document.getPageSize().getHeight() / 2 / 2)); l.scaleToFit(document.getPageSize()); Chunk tableChunk = new Chunk(entry.getKey(), tableFont); Chapter tableChapter = new Chapter(new Paragraph(tableChunk), ++chapterNumber); tableChapter.add(l); document.add(tableChapter); } catch (IOException | DocumentException e) { e.printStackTrace(); } } document.close(); }
From source file:org.kalypso.ogc.gml.map.handlers.utils.PDFExporter.java
License:Open Source License
public IStatus doExport(final File targetFile, IProgressMonitor monitor) { /* If no monitor is given, take a null progress monitor. */ if (monitor == null) monitor = new NullProgressMonitor(); /* The output streams. */ BufferedOutputStream os = null; try {//w w w. java2s.c o m /* Monitor. */ monitor.beginTask(Messages.getString("PDFExporter_0"), 1000); //$NON-NLS-1$ monitor.subTask(Messages.getString("PDFExporter_1")); //$NON-NLS-1$ /* Create the image. */ final Insets insets = new Insets(10, 10, 10, 10); final BufferedImage image = MapModellHelper.createWellFormedImageFromModel(m_mapPanel, (int) PageSize.A4.getHeight(), (int) PageSize.A4.getWidth(), insets, 1); /* Convert to an itext image. */ final Image img = Image.getInstance(image, null); /* Monitor. */ monitor.worked(500); monitor.subTask(Messages.getString("PDFExporter_2")); //$NON-NLS-1$ /* Create the output stream. */ os = new BufferedOutputStream(new FileOutputStream(targetFile)); /* Create a new document. */ final Document document = new Document( new com.itextpdf.text.Rectangle(PageSize.A4.getHeight(), PageSize.A4.getWidth()), 30, 30, 30, 30); /* Create the pdf writter. */ final PdfWriter writer = PdfWriter.getInstance(document, os); writer.setCompressionLevel(0); /* Open the document. */ document.open(); /* Set the position. */ img.setAbsolutePosition(0, 0); /* Set to the pdf. */ writer.getDirectContent().addImage(img, true); /* Close the document. */ document.close(); /* Monitor. */ monitor.worked(500); return new Status(IStatus.OK, KalypsoGisPlugin.getId(), Messages.getString("PDFExporter_3")); //$NON-NLS-1$ } catch (final Exception ex) { return new Status(IStatus.ERROR, KalypsoGisPlugin.getId(), ex.getLocalizedMessage(), ex); } finally { /* Close the output streams. */ IOUtils.closeQuietly(os); /* Monitor. */ monitor.done(); } }
From source file:org.openmrs.module.laboratorymanagement.db.hibernate.LaboratoryDAOimpl.java
License:Open Source License
public void exportToPDF(HttpServletRequest request, HttpServletResponse response, List<Object[]> listOflabtest, String filename, String title, int conceptId) throws DocumentException, IOException { // TODO Auto-generated method stub Concept cpt = Context.getConceptService().getConcept(conceptId); System.out.println(">>>>>>list to export" + listOflabtest); DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); response.setContentType("application/pdf"); Document document = new Document(); try {// www .j a va 2 s . c o m response.setHeader("Content-Disposition", "attachment; filename=\"laboratory.pdf\""); PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); document.open(); writer.setBoxSize("art", PageSize.A4); float[] colsWidth = { 5f, 20f, 17f, 17f, 17f, 16f, 20f }; PdfPTable table = new PdfPTable(colsWidth); // add a title PdfPCell cell = new PdfPCell(new Paragraph("CD4 lab tests")); cell.setColspan(2); document.add(new Paragraph(" Laboratory tests:" + cpt.getName())); document.add(new Paragraph(" ")); document.add(new Paragraph(" ")); table.addCell("#"); table.addCell("GIVEN NAME"); table.addCell("FAMILY NAME"); table.addCell("TEST NAME"); table.addCell("TESTED ON"); table.addCell("LOCATION"); table.addCell("TEST RESULT"); for (int i = 0; i < listOflabtest.size(); i++) { Object[] labtest = listOflabtest.get(i); Person p = (Person) labtest[0]; Obs ob = (Obs) labtest[1]; table.addCell(i + 1 + ""); table.addCell(p.getGivenName() + ""); table.addCell(p.getFamilyName() + ""); table.addCell(ob.getConcept().getName() + ""); table.addCell(df.format(ob.getObsDatetime()) + ""); table.addCell(ob.getLocation() + ""); if (cpt.getDatatype().isNumeric()) { table.addCell(ob.getValueNumeric() + ""); } if (cpt.getDatatype().isCoded()) { table.addCell(ob.getValueCoded().getName() + ""); } if (cpt.getDatatype().isText()) { table.addCell(ob.getValueText() + ""); } if (cpt.getDatatype().isDate()) { table.addCell(df.format((ob.getValueDatetime())) + ""); } } document.add(table); document.getJavaScript_onLoad(); document.close(); // document.add(new Paragraph("Hello world")); // document.close(); } catch (DocumentException e) { } }
From source file:org.openmrs.module.laboratorymanagement.db.hibernate.LaboratoryDAOimpl.java
License:Open Source License
public void exportPatientReportToPDF(HttpServletRequest request, HttpServletResponse response, Map<ConceptName, List<Object[]>> mappedLabExam, String filename, String title, int patientId) throws DocumentException, IOException { Document document = new Document(); Patient patient = Context.getPatientService().getPatient(patientId); // List<PatientBill> patientBills = // (List<PatientBill>)request.getAttribute("reportedPatientBillsPrint"); /*//from w w w. j a v a 2 s. c om * PatientBill pb = null; * * pb = Context.getService(BillingService.class).getPatientBill( * Integer.parseInt(request.getParameter("patientBills"))); */ /* * String filename = pb.getBeneficiary().getPatient().getPersonName() * .toString().replace(" ", "_"); filename = * pb.getBeneficiary().getPolicyIdNumber().replace(" ", "_") + "_" + * filename + ".pdf"; */ response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "report"); // file name PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); writer.setBoxSize("art", new Rectangle(0, 0, 2382, 3369)); writer.setBoxSize("art", PageSize.A4); HeaderFooterMgt event = new HeaderFooterMgt(); writer.setPageEvent(event); document.open(); document.setPageSize(PageSize.A4); // document.setPageSize(new Rectangle(0, 0, 2382, 3369)); document.addAuthor(Context.getAuthenticatedUser().getPersonName().toString());// the name of the author FontSelector fontTitle = new FontSelector(); fontTitle.addFont(new Font(FontFamily.COURIER, 10.0f, Font.ITALIC)); // Report title Chunk chk = new Chunk("Printed on : " + (new SimpleDateFormat("dd-MMM-yyyy").format(new Date()))); chk.setFont(new Font(FontFamily.COURIER, 10.0f, Font.BOLD)); Paragraph todayDate = new Paragraph(); todayDate.setAlignment(Element.ALIGN_RIGHT); todayDate.add(chk); document.add(todayDate); document.add(fontTitle.process("REPUBLIQUE DU RWANDA\n")); document.add(fontTitle.process("POLICE NATIONALE\n")); document.add(fontTitle.process("KACYIRU POLICE HOSPITAL\n")); document.add(fontTitle.process("B.P. 6183 KIGALI\n")); document.add(fontTitle.process("Tl : 584897\n")); document.add(fontTitle.process("E-mail : medical@police.gov.rw")); // End Report title document.add(new Paragraph("\n")); chk = new Chunk("Laboratory results"); chk.setFont(new Font(FontFamily.COURIER, 10.0f, Font.BOLD)); chk.setUnderline(0.2f, -2f); Paragraph pa = new Paragraph(); pa.add(chk); pa.setAlignment(Element.ALIGN_CENTER); document.add(pa); document.add(new Paragraph("\n")); document.add(fontTitle.process("Family Name: " + patient.getFamilyName() + "\n")); document.add(fontTitle.process("Given name: " + patient.getGivenName() + "\n")); document.add(fontTitle.process("Age: " + patient.getAge() + "\n")); // title row FontSelector fontTitleSelector = new FontSelector(); fontTitleSelector.addFont(new Font(FontFamily.COURIER, 9, Font.ITALIC)); // Table of identification; PdfPTable table = null; table = new PdfPTable(2); table.setWidthPercentage(100f); // tableHeader.addCell(table); // document.add(tableHeader); document.add(new Paragraph("\n")); // Table of lab report items; float[] colsWidth = { 6f, 3f, 6f }; table = new PdfPTable(colsWidth); table.setWidthPercentage(100f); BaseColor bckGroundTitle = new BaseColor(170, 170, 170); BaseColor bckGroundTitl = new BaseColor(Color.yellow); // table Header PdfPCell cell = new PdfPCell(fontTitleSelector.process("Exam")); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process("Result")); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process("Normal Range")); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); /* * cell = new PdfPCell(fontTitleSelector.process("Date ")); * cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); */ // normal row FontSelector fontselector = new FontSelector(); fontselector.addFont(new Font(FontFamily.COURIER, 8, Font.NORMAL)); // empty row FontSelector fontTotals = new FontSelector(); fontTotals.addFont(new Font(FontFamily.COURIER, 9, Font.BOLD)); // =========================================================== for (ConceptName cptName : mappedLabExam.keySet()) { cell = new PdfPCell(fontTitleSelector.process("" + cptName)); cell.setBackgroundColor(bckGroundTitl); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process("")); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process("")); table.addCell(cell); List<Object[]> labExamHistory = mappedLabExam.get(cptName); for (Object[] labExam : labExamHistory) { // table Header // Object[] labe = listOflabtest.get(i); Obs ob = (Obs) labExam[0]; cell = new PdfPCell(fontTitleSelector.process("" + ob.getConcept().getName())); table.addCell(cell); if (ob.getConcept().getDatatype().isNumeric()) { cell = new PdfPCell(fontTitleSelector.process("" + ob.getValueNumeric())); table.addCell(cell); } if (ob.getConcept().getDatatype().isCoded()) { cell = new PdfPCell(fontTitleSelector.process("" + ob.getValueCoded().getName())); table.addCell(cell); } if (ob.getConcept().getDatatype().isText()) { cell = new PdfPCell(fontTitleSelector.process("" + ob.getValueText())); table.addCell(cell); } cell = new PdfPCell(fontTitleSelector.process("" + (labExam[1] != null ? labExam[1] : "-"))); table.addCell(cell); fontselector.addFont(new Font(FontFamily.COURIER, 8, Font.NORMAL)); // empty row // FontSelector fontTotals = new FontSelector(); fontTotals.addFont(new Font(FontFamily.COURIER, 9, Font.BOLD)); } } cell = new PdfPCell(fontTitleSelector.process("Names, Signature et Stamp of Lab Chief\n" //+ Context.getAuthenticatedUser().getPersonName())); + Context.getUserService().getUser(140).getPersonName())); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); // ================================================================ table.addCell(cell); document.add(table); // Table of signatures; table = new PdfPTable(2); table.setWidthPercentage(100f); cell = new PdfPCell(fontTitleSelector.process(" ")); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process( "Names, Signature and Stamp of Provider\n" + Context.getAuthenticatedUser().getPersonName())); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); document.add(table); document.close(); document.close(); }
From source file:org.openmrs.module.mohtracportal.util.FileExporter.java
License:Open Source License
/** * @param request/* w w w. j a va 2s . c o m*/ * @param response * @param res * @param filename * @param title * @param from * @param to * @param selectedUsers * @throws Exception */ public void exportToPDF(HttpServletRequest request, HttpServletResponse response, List<Object> res, String filename, String title, String from, String to, List<Integer> selectedUsers) throws Exception { SimpleDateFormat sdf = Context.getDateFormat(); Document document = new Document(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); // file name PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); writer.setBoxSize("art", new Rectangle(36, 54, 559, 788)); HeaderFooter event = new HeaderFooter(); writer.setPageEvent(event); document.open(); document.setPageSize(PageSize.A4); document.addAuthor(Context.getAuthenticatedUser().getPersonName().getFamilyName() + " " + Context.getAuthenticatedUser().getPersonName().getGivenName());// the name of the author PersonService ps = Context.getPersonService(); String users = ""; for (Integer usrId : selectedUsers) { users += ps.getPerson(usrId).getPersonName() + "; "; } FontSelector fontTitle = new FontSelector(); fontTitle.addFont(new Font(FontFamily.COURIER, 10.0f, Font.BOLD)); title = MohTracUtil.getMessage("mohtracportal.report.title", null) + " : " + title; String underLine = ""; int count = 0; while (count < title.length()) { count += 1; underLine += "_"; } document.add(fontTitle.process(title));// Report title if (from.trim().compareTo("") != 0) document.add(fontTitle .process("\n" + MohTracUtil.getMessage("mohtracportal.from", null) + " : " + from));// from if (to.trim().compareTo("") != 0) document.add( fontTitle.process("\n" + MohTracUtil.getMessage("mohtracportal.to", null) + " : " + to));// to document.add(fontTitle.process("\n" + MohTracUtil.getMessage("mohtracportal.report.created.on", null) + " : " + sdf.format(new Date())));// Report date document.add(fontTitle.process("\n" + MohTracUtil.getMessage("mohtracportal.report.created.by", null) + " : " + Context.getAuthenticatedUser().getPersonName()));// Report // author Integer numberOfPatients = res.size(); document.add(fontTitle.process("\n" + MohTracUtil.getMessage("mohtracportal.numberOfPatients", null) + " : " + numberOfPatients.toString()));// Number of patients if (users.trim().compareTo("") != 0) document.add(fontTitle.process( "\n" + MohTracUtil.getMessage("mohtracportal.patient.enterers", null) + " : " + users));// enterer(s) document.add(fontTitle.process("\n" + underLine));// Report title document.add(new Paragraph("\n\n")); boolean hasPrivToViewPatientNames = Context.getAuthenticatedUser().hasPrivilege("View Patient Names"); // PdfLine line; PdfPTable table = null; if (hasPrivToViewPatientNames == true) { float[] colsWidth = { 1.2f, 5f, 2.7f, 2.7f, 4.2f, 2.7f }; table = new PdfPTable(colsWidth); } else { float[] colsWidth = { 1.2f, 2.7f, 2.7f, 4.2f, 2.7f }; table = new PdfPTable(colsWidth); } // column number table.setTotalWidth(540f); // title row FontSelector fontTitleSelector = new FontSelector(); fontTitleSelector.addFont(new Font(FontFamily.COURIER, 9, Font.BOLD)); BaseColor bckGroundTitle = new BaseColor(170, 170, 170); // table Header PdfPCell cell = new PdfPCell( fontTitleSelector.process(MohTracUtil.getMessage("mohtracportal.report.list.no", null))); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); if (hasPrivToViewPatientNames) { cell = new PdfPCell( fontTitleSelector.process(MohTracUtil.getMessage("mohtracportal.patient.names", null))); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); } cell = new PdfPCell(fontTitleSelector.process(MohTracPortalTag .getIdentifierTypeNameByIdAsString("" + MohTracConfigurationUtil.getTracNetIdentifierTypeId()))); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process(MohTracPortalTag.getIdentifierTypeNameByIdAsString( "" + MohTracConfigurationUtil.getLocalHealthCenterIdentifierTypeId()))); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); cell = new PdfPCell( fontTitleSelector.process(MohTracUtil.getMessage("mohtracportal.patient.date.created", null) + "(" + Context.getDateFormat().toPattern() + ")")); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); cell = new PdfPCell( fontTitleSelector.process(MohTracUtil.getMessage("mohtracportal.numberOfEncounters", null))); cell.setBackgroundColor(bckGroundTitle); table.addCell(cell); // normal row FontSelector fontselector = new FontSelector(); fontselector.addFont(new Font(FontFamily.COURIER, 8, Font.NORMAL)); // empty row FontSelector fontEmptyCell = new FontSelector(); fontEmptyCell.addFont(new Font(FontFamily.COURIER, 8, Font.NORMAL)); int ids = 0; for (Object patient : res) { Object[] o = (Object[]) patient; ids += 1; cell = new PdfPCell(fontselector.process(ids + "")); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); if (hasPrivToViewPatientNames) { String names = MohTracPortalTag.getPersonNames(Integer.valueOf(o[0].toString())); cell = new PdfPCell(fontselector.process(names + "")); if (names.compareTo("-") == 0) cell.setBackgroundColor(new BaseColor(224, 224, 240)); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); } String tracnetId = MohTracPortalTag.personIdentifierByPatientIdAndIdentifierTypeId( Integer.valueOf(o[0].toString()), MohTracConfigurationUtil.getTracNetIdentifierTypeId()); cell = new PdfPCell(fontselector.process(tracnetId + "")); if (tracnetId.compareTo("-") == 0) cell.setBackgroundColor(new BaseColor(224, 224, 240)); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); String cohortId = MohTracPortalTag.personIdentifierByPatientIdAndIdentifierTypeId( Integer.valueOf(o[0].toString()), MohTracConfigurationUtil.getLocalHealthCenterIdentifierTypeId()); cell = new PdfPCell(fontselector.process(cohortId + "")); if (cohortId.compareTo("-") == 0) cell.setBackgroundColor(new BaseColor(224, 224, 240)); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); cell = new PdfPCell(fontselector.process(sdf.format(o[1]) + "")); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); String numberOfEncounters = MohTracPortalTag .getNumberOfEncounterByPatient(Integer.valueOf(o[0].toString())); cell = new PdfPCell(fontselector.process(numberOfEncounters + "")); if (numberOfEncounters.compareTo("-") == 0) cell.setBackgroundColor(new BaseColor(224, 224, 240)); if (o[2].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(238, 238, 238)); if (o[3].toString().compareTo("1") == 0) cell.setBackgroundColor(new BaseColor(224, 0, 0)); table.addCell(cell); } document.add(table); document.close(); log.info("pdf file created"); }
From source file:org.openmrs.module.tracpatienttransfer.util.FileExporter.java
License:Open Source License
/** * @param request// w ww . j av a 2 s . co m * @param response * @param res * @param filename * @param title * @throws Exception */ public void exportToPDF(HttpServletRequest request, HttpServletResponse response, List<Integer> res, String filename, String title) throws Exception { SimpleDateFormat sdf = Context.getDateFormat(); Document document = new Document(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); // file name PdfWriter writer = PdfWriter.getInstance(document, response.getOutputStream()); writer.setBoxSize("art", new Rectangle(36, 54, 559, 788)); float[] colsWidth = { 1.6f, 2.7f, 2.7f, 8f, 10.5f, 4f, 5f, 7.5f };//, 9.3f }; PdfPTable table = new PdfPTable(colsWidth); // column number HeaderFooter event = new HeaderFooter(table); writer.setPageEvent(event); document.setPageSize(PageSize.A4.rotate()); document.open(); document.addAuthor(Context.getAuthenticatedUser().getPersonName().getFamilyName() + " " + Context.getAuthenticatedUser().getPersonName().getGivenName());// the name of the author ObsService os = Context.getObsService(); FontSelector fontTitle = new FontSelector(); fontTitle.addFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD)); document.add( fontTitle.process(MohTracUtil.getMessage("tracpatienttransfer.report", null) + " : " + title));// Report title document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdon", null) + " : " + sdf.format(new Date())));// Report date document.add(fontTitle.process("\n" + MohTracUtil.getMessage("tracpatienttransfer.report.createdby", null) + " : " + Context.getAuthenticatedUser().getPersonName()));// Report // author document.add(new Paragraph("\n")); Paragraph para = new Paragraph("" + title.toUpperCase()); para.setAlignment(Element.ALIGN_CENTER); para.setFont(new Font(FontFamily.HELVETICA, 8.0f, Font.BOLD)); document.add(para); table.setWidthPercentage(100.0f); // title row FontSelector fontTitleSelector = new FontSelector(); fontTitleSelector.addFont(new Font(FontFamily.HELVETICA, 8, Font.BOLD)); // top line of table for (int i = 0; i < 8; i++) { PdfPCell pdfPCell = new PdfPCell(fontTitleSelector.process(" ")); pdfPCell.setBorder(PdfPCell.BOTTOM); table.addCell(pdfPCell); } boolean hasRoleToViewPatientsNames = Context.getAuthenticatedUser().hasPrivilege("View Patient Names"); // table Header PdfPCell cell = new PdfPCell( fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.number"))); cell.setBorder(Rectangle.LEFT); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process(Context.getPatientService() .getPatientIdentifierType(TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId()) .getName())); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell( fontTitleSelector.process(Context.getPatientService() .getPatientIdentifierType( TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId()) .getName())); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); if (hasRoleToViewPatientsNames) { cell = new PdfPCell( fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.names"))); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } cell = new PdfPCell( fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.reasonofexit"))); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell( fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.general.exitwhen"))); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(fontTitleSelector.process(ContextProvider.getMessage("Encounter.provider"))); cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell( fontTitleSelector.process(ContextProvider.getMessage("tracpatienttransfer.report.location"))); cell.setBorder(Rectangle.RIGHT); table.addCell(cell); // cell = new PdfPCell(fontTitleSelector // .process("Resumed? (reason - by who?)")); // cell.setBorder(Rectangle.RIGHT); // table.addCell(cell); // normal row FontSelector fontselector = new FontSelector(); fontselector.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL)); // empty row FontSelector fontEmptyCell = new FontSelector(); fontEmptyCell.addFont(new Font(FontFamily.HELVETICA, 7, Font.NORMAL)); int ids = 0; for (Integer obsId : res) { Obs obs = os.getObs(obsId); Integer patientId = obs.getPersonId(); ids += 1; cell = new PdfPCell(fontselector.process(ids + ".")); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); String tracnetId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId(patientId, TracPatientTransferConfigurationUtil.getTracNetIdentifierTypeId()); cell = new PdfPCell(fontselector.process(tracnetId + "")); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); String localIdentifierTypeId = TransferOutInPatientTag.personIdentifierByPatientIdAndIdentifierTypeId( patientId, TracPatientTransferConfigurationUtil.getLocalHealthCenterIdentifierTypeId()); cell = new PdfPCell(fontselector.process(localIdentifierTypeId + "")); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); if (hasRoleToViewPatientsNames) { String names = TransferOutInPatientTag.getPersonNames(patientId); cell = new PdfPCell(fontselector.process(names + "")); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); } String conceptValue = TransferOutInPatientTag.conceptValueByObs(obs); conceptValue += ((obs.getValueCoded().getConceptId() .intValue() == TransferOutInPatientConstant.PATIENT_TRANSFERED_OUT) ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs, TransferOutInPatientConstant.TRANSFER_OUT_TO_A_LOCATION) + ")" : (obs.getValueCoded().getConceptId() .intValue() == TransferOutInPatientConstant.PATIENT_DEAD) ? " (" + TransferOutInPatientTag.getObservationValueFromEncounter(obs, TransferOutInPatientConstant.CAUSE_OF_DEATH) + ")" : ""); cell = new PdfPCell(fontselector.process(conceptValue)); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); cell = new PdfPCell(fontselector.process(sdf.format(obs.getObsDatetime()))); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); /* * cell=newPdfPCell(fontselector.process(TransferOutInPatientTag. * getProviderByObs(obs))); if(ids==1) * cell.setBorder(Rectangle.TOP); else * cell.setBorder(Rectangle.NO_BORDER); */table.addCell(cell); cell = new PdfPCell(fontselector.process(obs.getLocation().getName())); if (ids == 1) cell.setBorder(Rectangle.TOP); else cell.setBorder(Rectangle.NO_BORDER); table.addCell(cell); // cell = new PdfPCell(fontselector.process(TransferOutInPatientTag // .obsVoidedReason(obs))); // if (ids == 1) // cell.setBorder(Rectangle.TOP); // else // cell.setBorder(Rectangle.NO_BORDER); // table.addCell(cell); } document.add(table); document.close(); log.info("pdf file created"); }
From source file:org.orbisgis.core.ui.plugins.editors.mapEditor.ExportMapAsPDFPlugIn.java
License:Open Source License
public void save(File outputFile, Scale scale, BufferedImage img, Envelope envelope, ILayer layer) { int width = img.getWidth(); int height = img.getHeight(); Document document = new Document(PageSize.A4.rotate()); EditorManager em = Services.getService(EditorManager.class); MapEditorPlugIn mapEditor = (MapEditorPlugIn) em.getActiveEditor(); MapContext mapContext = (MapContext) mapEditor.getElement().getObject(); try {//from w w w .j a v a2 s.c o m Renderer r = new Renderer(); if (outputFile.getName().toLowerCase().endsWith("pdf")) { //$NON-NLS-1$ FileOutputStream fos = new FileOutputStream(outputFile); PdfWriter writer = PdfWriter.getInstance(document, fos); document.open(); float pageWidth = document.getPageSize().getWidth(); float pageHeight = document.getPageSize().getHeight(); // Add the north final java.net.URL url = IconLoader.getIconUrl("simplenorth.png"); //$NON-NLS-1$ PdfContentByte cb = writer.getDirectContent(); PdfTemplate templateMap = cb.createTemplate(pageWidth, pageHeight); PdfTemplate templateLegend = cb.createTemplate(150, pageHeight); PdfTemplate templateScale = cb.createTemplate(pageWidth, 50); Graphics2D g2dLegend = templateLegend.createGraphicsShapes(150, pageHeight); Graphics2D g2dMap = templateMap.createGraphicsShapes(pageWidth, pageHeight); Graphics2D g2dScale = templateScale.createGraphicsShapes(pageWidth, 50); g2dMap.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); r.draw(g2dMap, width, height, envelope, layer, new NullProgressMonitor()); ILayer[] layers = mapContext.getLayerModel().getLayersRecursively(); g2dLegend.setColor(Color.BLACK); g2dLegend.drawRect(0, 0, 150, (int) pageHeight); g2dLegend.setColor(Color.white); g2dLegend.fillRect(0, 0, 150, (int) pageHeight); g2dLegend.setColor(Color.BLACK); int maxHeight = 30; g2dLegend.translate(10, 10); g2dLegend.drawString(I18N.getString("orbisgis.org.orbisgis.ui.map.exportMapAsPDFPlugIn.legend"), 0, //$NON-NLS-1$ 10); for (int i = 0; i < layers.length; i++) { g2dLegend.translate(0, maxHeight + 10); maxHeight = 0; if (layers[i].isVisible()) { Legend[] legends = layers[i].getRenderingLegend(); g2dLegend.drawString(layers[i].getName(), 0, 0); for (int j = 0; j < legends.length; j++) { Legend vectorLegend = legends[j]; vectorLegend.drawImage(g2dLegend); int[] size = vectorLegend.getImageSize(g2dLegend); if (size[1] > maxHeight) { maxHeight = size[1]; } g2dLegend.translate(0, 20); } } } g2dScale.translate(150, 0); g2dScale.setColor(Color.BLACK); g2dScale.drawRect(0, 0, (int) pageWidth, 50); g2dScale.setColor(Color.white); g2dScale.fillRect(0, 0, (int) pageWidth, 50); g2dScale.setColor(Color.BLACK); g2dScale.translate(30, 10); // draw scale if (scale != null) { scale.drawScale(g2dScale, 90); } BufferedImage image = ImageIO.read(url); AffineTransform tx = new AffineTransform(); tx.scale(0.5, 0.5); AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR); image = op.filter(image, null); g2dScale.drawImage(image, 200, 0, null); g2dMap.dispose(); g2dLegend.dispose(); g2dScale.dispose(); cb.addTemplate(templateMap, 0, 0); cb.addTemplate(templateLegend, 0, 0); cb.addTemplate(templateScale, 0, 0); JOptionPane.showMessageDialog(UIFactory.getMainFrame(), I18N.getString("orbisgis.core.file.fileSaved")); //$NON-NLS-1$ } } catch (FileNotFoundException e) { ErrorMessages.error(ErrorMessages.CannotWriteOnDisk, e); } catch (DocumentException e) { ErrorMessages.error(ErrorMessages.CannotWritePDF, e); } catch (Exception e) { ErrorMessages.error(ErrorMessages.CannotWritePDF, e); } document.close(); }