List of usage examples for com.lowagie.text Paragraph add
public boolean add(Object o)
Object
to the Paragraph
. From source file:org.oscarehr.casemgmt.print.OscarChartPrinter.java
License:Open Source License
public void printTicklers() throws DocumentException { TicklerDAO ticklerDao = (TicklerDAO) SpringUtils.getBean("ticklerDAOT"); CustomFilter filter = new CustomFilter(); filter.setDemographic_no(String.valueOf(demographic.getDemographicNo())); List<Tickler> ticklers = ticklerDao.getTicklers(filter); if (ticklers.size() == 0) { return;/*from ww w . j a va 2 s . c o m*/ } Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_LEFT); phrase.add("Ticklers"); p.add(phrase); document.add(p); for (Tickler tickler : ticklers) { String providerName = tickler.getProvider().getFormattedName(); String assigneeName = tickler.getAssignee().getFormattedName(); String serviceDate = tickler.getServiceDate(); String priority = tickler.getPriority(); char status = tickler.getStatus(); String message = tickler.getMessage(); p = new Paragraph(); phrase = new Phrase(LEADING, "", getFont()); Chunk chunk = new Chunk("Provider:" + providerName + "\n"); phrase.add(chunk); chunk = new Chunk("Assignee:" + assigneeName + "\n"); phrase.add(chunk); chunk = new Chunk("Service Date:" + serviceDate + "\n"); phrase.add(chunk); chunk = new Chunk("Priority:" + priority + "\n"); phrase.add(chunk); chunk = new Chunk("Status:" + status + "\n"); phrase.add(chunk); chunk = new Chunk("Message:" + message + "\n\n"); phrase.add(chunk); p.add(phrase); getDocument().add(p); } }
From source file:org.oscarehr.casemgmt.print.OscarChartPrinter.java
License:Open Source License
public void printDiseaseRegistry() throws DocumentException { DxresearchDAO dxDao = (DxresearchDAO) SpringUtils.getBean("DxresearchDAO"); IssueDAO issueDao = (IssueDAO) SpringUtils.getBean("IssueDAO"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); List<Dxresearch> dxs = dxDao.getDxResearchItemsByPatient(demographic.getDemographicNo()); if (dxs.size() == 0) { return;/*w w w .j ava2 s . c om*/ } Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_LEFT); phrase.add("Disease Registry"); p.add(phrase); document.add(p); for (Dxresearch dx : dxs) { String codingSystem = dx.getCodingSystem(); String code = dx.getDxresearchCode(); Date startDate = dx.getStartDate(); char status = dx.getStatus(); Issue issue = issueDao.findIssueByTypeAndCode(codingSystem, code); p = new Paragraph(); phrase = new Phrase(LEADING, "", getFont()); Chunk chunk = new Chunk("Start Date:" + formatter.format(startDate) + "\n"); phrase.add(chunk); if (issue != null) { chunk = new Chunk("Issue:" + issue.getDescription() + "\n"); phrase.add(chunk); } else { chunk = new Chunk("Issue: <Unknown>" + "\n"); phrase.add(chunk); } chunk = new Chunk("Status:" + status + "\n\n"); phrase.add(chunk); p.add(phrase); getDocument().add(p); } }
From source file:org.oscarehr.casemgmt.print.OscarChartPrinter.java
License:Open Source License
public void printCurrentAdmissions() throws DocumentException { AdmissionDao admissionDao = (AdmissionDao) SpringUtils.getBean("admissionDao"); ProgramDao programDao = (ProgramDao) SpringUtils.getBean("programDao"); List<Admission> admissions = admissionDao.getCurrentAdmissions(demographic.getDemographicNo()); if (admissions.size() == 0) { return;/*from ww w . j av a2 s .c om*/ } Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_LEFT); phrase.add("Current Admissions"); p.add(phrase); document.add(p); for (Admission admission : admissions) { String admissionDate = admission.getAdmissionDate("yyyy-MM-dd"); String admissionNotes = admission.getAdmissionNotes(); String programName = programDao.getProgramName(admission.getProgramId()); String programType = admission.getProgramType(); String providerName = providerDao.getProvider(admission.getProviderNo()).getFormattedName(); p = new Paragraph(); phrase = new Phrase(LEADING, "", getFont()); Chunk chunk = new Chunk("Summary:" + programName + "(" + programType + ")" + " by " + providerName + " on " + admissionDate + "\n"); phrase.add(chunk); chunk = new Chunk("Admission Notes:" + admissionNotes + "\n\n"); phrase.add(chunk); p.add(phrase); getDocument().add(p); } }
From source file:org.oscarehr.casemgmt.print.OscarChartPrinter.java
License:Open Source License
public void printPastAdmissions() throws DocumentException { AdmissionDao admissionDao = (AdmissionDao) SpringUtils.getBean("admissionDao"); ProgramDao programDao = (ProgramDao) SpringUtils.getBean("programDao"); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); List<Admission> admissions = admissionDao.getAdmissions(demographic.getDemographicNo()); admissions = filterOutCurrentAdmissions(admissions); if (admissions.size() == 0) { return;/*from w ww. j a va 2s .com*/ } Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_LEFT); phrase.add("Past Admissions"); p.add(phrase); document.add(p); for (Admission admission : admissions) { String admissionDate = admission.getAdmissionDate("yyyy-MM-dd"); String admissionNotes = admission.getAdmissionNotes(); String programName = programDao.getProgramName(admission.getProgramId()); String programType = admission.getProgramType(); String providerName = providerDao.getProvider(admission.getProviderNo()).getFormattedName(); String dischargeDate = formatter.format(admission.getDischargeDate()); String dischargeNotes = admission.getDischargeNotes(); p = new Paragraph(); phrase = new Phrase(LEADING, "", getFont()); Chunk chunk = new Chunk("Summary:" + programName + "(" + programType + ")" + " by " + providerName + " on " + admissionDate + "\n"); phrase.add(chunk); chunk = new Chunk("Admission Notes:" + admissionNotes + "\n\n"); phrase.add(chunk); chunk = new Chunk("Discharged on " + dischargeDate + ", Notes:" + dischargeNotes + "\n\n"); phrase.add(chunk); p.add(phrase); getDocument().add(p); } }
From source file:org.oscarehr.casemgmt.print.OscarChartPrinter.java
License:Open Source License
public void printCurrentIssues() throws DocumentException { CaseManagementIssueDAO cmIssueDao = (CaseManagementIssueDAO) SpringUtils.getBean("CaseManagementIssueDAO"); List<CaseManagementIssue> issues = cmIssueDao .getIssuesByDemographic(String.valueOf(demographic.getDemographicNo())); Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_LEFT); phrase.add("Current Issues"); p.add(phrase); document.add(p);/* w ww .j a v a2s. c o m*/ for (CaseManagementIssue issue : issues) { String type = issue.getType(); String description = issue.getIssue().getDescription(); p = new Paragraph(); phrase = new Phrase(LEADING, "", getFont()); Chunk chunk = new Chunk(description + "\n\n"); phrase.add(chunk); p.add(phrase); getDocument().add(p); } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printDocHeaderFooter() throws IOException, DocumentException { //Create the document we are going to write to document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, os); writer.setPageEvent(new EndPage()); document.setPageSize(PageSize.LETTER); document.open();//from w w w . jav a 2s . c o m //Create the font we are going to print to bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); font = new Font(bf, FONTSIZE, Font.NORMAL); String title = "", gender = "", dob = "", age = "", mrp = ""; if (this.demoDtl != null) { //set up document title and header ResourceBundle propResource = ResourceBundle.getBundle("oscarResources"); title = propResource.getString("oscarEncounter.pdfPrint.title") + " " + (String) demoDtl.get("demoName") + "\n"; gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " " + (String) demoDtl.get("demoSex") + "\n"; dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + (String) demoDtl.get("demoDOB") + "\n"; age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + (String) demoDtl.get("demoAge") + "\n"; mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) demoDtl.get("mrp") + "\n"; } else { //set up document title and header ResourceBundle propResource = ResourceBundle.getBundle("oscarResources"); title = propResource.getString("oscarEncounter.pdfPrint.title") + " " + (String) request.getAttribute("demoName") + "\n"; gender = propResource.getString("oscarEncounter.pdfPrint.gender") + " " + (String) request.getAttribute("demoSex") + "\n"; dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + (String) request.getAttribute("demoDOB") + "\n"; age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + (String) request.getAttribute("demoAge") + "\n"; mrp = propResource.getString("oscarEncounter.pdfPrint.mrp") + " " + (String) request.getAttribute("mrp") + "\n"; } String[] info = new String[] { title, gender, dob, age, mrp }; ClinicData clinicData = new ClinicData(); clinicData.refreshClinicData(); String[] clinic = new String[] { clinicData.getClinicName(), clinicData.getClinicAddress(), clinicData.getClinicCity() + ", " + clinicData.getClinicProvince(), clinicData.getClinicPostal(), clinicData.getClinicPhone(), "Fax: " + clinicData.getClinicFax() }; //Header will be printed at top of every page beginning with p2 Phrase headerPhrase = new Phrase(LEADING, title, font); HeaderFooter header = new HeaderFooter(headerPhrase, false); header.setAlignment(HeaderFooter.ALIGN_CENTER); document.setHeader(header); //Write title with top and bottom borders on p1 cb = writer.getDirectContent(); cb.setColorStroke(new Color(0, 0, 0)); cb.setLineWidth(0.5f); cb.moveTo(document.left(), document.top()); cb.lineTo(document.right(), document.top()); cb.stroke(); //cb.setFontAndSize(bf, FONTSIZE); upperYcoord = document.top() - (font.getCalculatedLeading(LINESPACING) * 2f); ColumnText ct = new ColumnText(cb); Paragraph p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); Phrase phrase = new Phrase(); Phrase dummy = new Phrase(); for (int idx = 0; idx < clinic.length; ++idx) { phrase.add(clinic[idx] + "\n"); dummy.add("\n"); upperYcoord -= phrase.getLeading(); } dummy.add("\n"); ct.setSimpleColumn(document.left(), upperYcoord, document.right() / 2f, document.top()); ct.addElement(phrase); ct.go(); p.add(dummy); document.add(p); //add patient info phrase = new Phrase(); p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_RIGHT); for (int idx = 0; idx < info.length; ++idx) { phrase.add(info[idx]); } ct.setSimpleColumn(document.right() / 2f, upperYcoord, document.right(), document.top()); p.add(phrase); ct.addElement(p); ct.go(); cb.moveTo(document.left(), upperYcoord); cb.lineTo(document.right(), upperYcoord); cb.stroke(); upperYcoord -= phrase.getLeading(); if (Boolean.parseBoolean(OscarProperties.getInstance().getProperty("ICFHT_CONVERT_TO_PDF", "false"))) { printPersonalInfo(); } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printPersonalInfo() throws DocumentException { if (demoDtl != null && demoDtl.get("DEMO_ID") != null) { String demoId = demoDtl.get("DEMO_ID").toString(); DemographicDao demographicDao = (DemographicDao) SpringUtils.getBean("demographicDao"); Demographic demographic = demographicDao.getDemographic(demoId); if (demographic != null) { ResourceBundle propResource = ResourceBundle.getBundle("oscarResources"); List<String> demoFields = new ArrayList<String>(); //demographic section demoFields.add("##DEMOGRAPHIC"); String name = "Name: " + demographic.getLastName() + ", " + demographic.getFirstName(); demoFields.add(name);/*from www . j av a 2 s .co m*/ String gender = "Gender: " + demographic.getSex(); demoFields.add(gender); String dob = propResource.getString("oscarEncounter.pdfPrint.dob") + " " + demoDtl.get("demoDOB"); if (dob != null && dob.trim().length() > 0) demoFields.add(dob); String age = propResource.getString("oscarEncounter.pdfPrint.age") + " " + demographic.getAge(); demoFields.add(age); String language = propResource.getString("oscarEncounter.pdfPrint.language") + " " + demographic.getOfficialLanguage(); demoFields.add(language); DemographicCustDao demographicCustDao = (DemographicCustDao) SpringUtils .getBean("demographicCustDao"); DemographicCust demographicCust = demographicCustDao.find(Integer.parseInt(demoId)); //other contacts demoFields.add("##OTHER CONTACTS"); DemographicRelationship demoRelation = new DemographicRelationship(); ArrayList<Hashtable<String, Object>> relList = demoRelation .getDemographicRelationshipsWithNamePhone(demographic.getDemographicNo().toString()); for (int reCounter = 0; reCounter < relList.size(); reCounter++) { Hashtable<String, Object> relHash = (Hashtable<String, Object>) relList.get(reCounter); String sdb = relHash.get("subDecisionMaker") == null ? "" : ((Boolean) relHash.get("subDecisionMaker")).booleanValue() ? "/SDM" : ""; String ec = relHash.get("emergencyContact") == null ? "" : ((Boolean) relHash.get("emergencyContact")).booleanValue() ? "/EC" : ""; String relation = relHash.get("relation") + sdb + ec + ": " + relHash.get("lastName") + ", " + relHash.get("firstName") + ", " + relHash.get("phone"); demoFields.add(relation); } //Contact Information demoFields.add("##CONTACT INFORMATION"); DemographicExtDao demographicExtDao = SpringUtils.getBean(DemographicExtDao.class); Map<String, String> demoExt = demographicExtDao.getAllValuesForDemo(demoId); String phone = ""; if (demographic.getPhone() != null && demographic.getPhone().trim().length() > 0) phone = demographic.getPhone() + " " + (demoExt.get("hPhoneExt") != null ? demoExt.get("hPhoneExt") : ""); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.phoneh") + " " + phone); String phoneW = ""; if (demographic.getPhone2() != null && demographic.getPhone2().trim().length() > 0) phoneW = demographic.getPhone2() + " " + demoExt.get("wPhoneExt") != null ? demoExt.get("wPhoneExt") : ""; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.phonew") + " " + phoneW); String cellPhone = ""; if (demoExt.get("demo_cell") != null && demoExt.get("demo_cell").trim().length() > 0) cellPhone = demoExt.get("demo_cell").trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.cellphone") + " " + cellPhone); String address = ""; if (demographic.getAddress() != null && demographic.getAddress().trim().length() > 0) address = demographic.getAddress().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.address") + " " + address); String city = ""; if (demographic.getCity() != null && demographic.getCity().trim().length() > 0) city = demographic.getCity().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.city") + " " + city); String province = ""; if (demographic.getProvince() != null && demographic.getProvince().trim().length() > 0) province = demographic.getProvince().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.province") + " " + province); String postal = ""; if (demographic.getPostal() != null && demographic.getPostal().trim().length() > 0) postal = demographic.getPostal().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.postal") + " " + postal); String email = ""; if (demographic.getEmail() != null && demographic.getEmail().trim().length() > 0) email = demographic.getEmail().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.email") + " " + email); String newsletter = ""; if (demographic.getNewsletter() != null && demographic.getNewsletter().trim().length() > 0) newsletter = demographic.getNewsletter().trim(); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.newsletter") + " " + newsletter); //health insurance demoFields.add("##HEALTH INSURANCE"); String hin = demographic.getHin() != null ? demographic.getHin() : ""; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.health_ins") + " " + hin); String hcType = demographic.getHcType() != null ? demographic.getHcType() : ""; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.hc_type") + " " + hcType); String EFFData = demographic.getEffDate() != null ? demographic.getEffDate().toString() : ""; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.eff_date") + " " + EFFData); //clinic status demoFields.add("##CLINIC STATUS"); String dateJoined = demographic.getDateJoined() != null ? demographic.getDateJoined().toString() : ""; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.date_joined") + " " + dateJoined); //Patient Clinic Status demoFields.add("##PATIENT CLINIC STATUS"); String doctorName = ""; ProviderDao providerDao = SpringUtils.getBean(ProviderDao.class); if (demographic.getProviderNo() != null && demographic.getProviderNo().trim().length() > 0) { doctorName = providerDao.getProviderName(demographic.getProviderNo()); } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.doctor") + " " + doctorName); String nurseName = ""; if (demographicCust.getResident() != null && demographicCust.getResident().trim().length() > 0) { nurseName = providerDao.getProviderName(demographicCust.getResident()); } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.nurse") + " " + nurseName); String midwifeName = ""; if (demographicCust.getMidwife() != null && demographicCust.getMidwife().trim().length() > 0) { midwifeName = providerDao.getProviderName(demographicCust.getMidwife()); } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.midwife") + " " + midwifeName); String residentName = ""; if (demographicCust.getNurse() != null && demographicCust.getNurse().trim().length() > 0) { residentName = providerDao.getProviderName(demographicCust.getNurse()); } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.resident") + " " + residentName); String rd = ""; String rdohip = ""; String fd = demographic.getFamilyDoctor(); if (fd != null) { rd = SxmlMisc.getXmlContent(StringUtils.trimToEmpty(demographic.getFamilyDoctor()), "rd"); rd = rd != null ? rd : ""; rdohip = SxmlMisc.getXmlContent(StringUtils.trimToEmpty(demographic.getFamilyDoctor()), "rdohip"); rdohip = rdohip != null ? rdohip : ""; } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.referral_doctor") + " " + rd); demoFields.add(propResource.getString("oscarEncounter.pdfPrint.referral_doctor_no") + " " + rdohip); //RX INTERACTION WARNING LEVEL demoFields.add("##"); String warningLevel = demoExt.get("rxInteractionWarningLevel"); if (warningLevel == null) warningLevel = "0"; String warningLevelStr = "Not Specified"; if (warningLevel.equals("1")) { warningLevelStr = "Low"; } if (warningLevel.equals("2")) { warningLevelStr = "Medium"; } if (warningLevel.equals("3")) { warningLevelStr = "High"; } if (warningLevel.equals("4")) { warningLevelStr = "None"; } demoFields.add(propResource.getString("oscarEncounter.pdfPrint.rx_int_warning_level") + " " + warningLevelStr); String alert = demographicCust.getAlert() != null ? demographicCust.getAlert() : " "; demoFields.add(propResource.getString("oscarEncounter.pdfPrint.alert") + " " + alert); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Paragraph p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_CENTER); Phrase phrase = new Phrase(LEADING, "\n\n", font); p.add(phrase); phrase = new Phrase(LEADING, "Personal Information", obsfont); p.add(phrase); document.add(p); Font normal = new Font(bf, FONTSIZE, Font.NORMAL); Font obsfont2 = new Font(bf, 9, Font.UNDERLINE); int index = 0; int size = demoFields.size(); for (String personalInfoField : demoFields) { p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); if (personalInfoField.startsWith("##")) { phrase = new Phrase(LEADING, "", obsfont2); personalInfoField = personalInfoField.replaceFirst("##", "").trim(); } else { phrase = new Phrase(LEADING, "", normal); } if (personalInfoField.trim().length() > 0) phrase.add(personalInfoField); if ((index + 1) < size && demoFields.get(index + 1).startsWith("##")) phrase.add("\n\n"); p.add(phrase); document.add(p); index++; } newPage = true; } } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printAllergies(String demoNo) throws DocumentException { List<String> allergyList = getAllergyData(demoNo); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Paragraph p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_CENTER); Phrase phrase = new Phrase(LEADING, "\n\n", font); p.add(phrase); phrase = new Phrase(LEADING, "Allergies", obsfont); p.add(phrase);/* w ww . j av a 2s . c om*/ document.add(p); Font normal = new Font(bf, FONTSIZE, Font.NORMAL); Font obsfont2 = new Font(bf, 9, Font.UNDERLINE); if (allergyList != null && allergyList.size() > 0) { p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); phrase = new Phrase(LEADING, "", obsfont2); phrase.add("DESCRIPTION - SEVERIY - REACTION - DATE\n"); p.add(phrase); document.add(p); for (String allergy : allergyList) { p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); phrase = new Phrase(LEADING, "", normal); phrase.add(allergy + "\n"); p.add(phrase); document.add(p); } newPage = true; } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printRx(String demoNo, List<CaseManagementNote> cpp) throws DocumentException { if (demoNo == null) return;/* w w w. ja va 2s . c o m*/ if (newPage) document.newPage(); else newPage = true; Paragraph p = new Paragraph(); Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Phrase phrase = new Phrase(LEADING, "", obsfont); p.setAlignment(Paragraph.ALIGN_CENTER); phrase.add("Patient Rx History"); p.add(phrase); document.add(p); Font normal = new Font(bf, FONTSIZE, Font.NORMAL); oscar.oscarRx.data.RxPrescriptionData prescriptData = new oscar.oscarRx.data.RxPrescriptionData(); oscar.oscarRx.data.RxPrescriptionData.Prescription[] arr = {}; arr = prescriptData.getUniquePrescriptionsByPatient(Integer.parseInt(demoNo)); Font curFont; for (int idx = 0; idx < arr.length; ++idx) { oscar.oscarRx.data.RxPrescriptionData.Prescription drug = arr[idx]; p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); if (drug.isCurrent() && !drug.isArchived()) { curFont = normal; phrase = new Phrase(LEADING, "", curFont); phrase.add(formatter.format(drug.getRxDate()) + " - "); phrase.add(drug.getFullOutLine().replaceAll(";", " ")); p.add(phrase); document.add(p); } } if (cpp != null) { List<CaseManagementNote> notes = cpp; if (notes != null && notes.size() > 0) { p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); phrase = new Phrase(LEADING, "\nOther Meds\n", obsfont); //TODO:Needs to be i18n p.add(phrase); document.add(p); newPage = false; this.printNotes(notes); } } }
From source file:org.oscarehr.casemgmt.service.CaseManagementPrintPdf.java
License:Open Source License
public void printCPP(HashMap<String, List<CaseManagementNote>> cpp) throws DocumentException { if (cpp == null) return;/*from w ww. j a va 2s. c om*/ if (newPage) document.newPage(); else newPage = true; Font obsfont = new Font(bf, FONTSIZE, Font.UNDERLINE); Paragraph p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_CENTER); Phrase phrase = new Phrase(LEADING, "\n\n", font); p.add(phrase); phrase = new Phrase(LEADING, "Patient CPP", obsfont); p.add(phrase); document.add(p); //upperYcoord -= p.leading() * 2f; //lworkingYcoord = rworkingYcoord = upperYcoord; //ColumnText ct = new ColumnText(cb); String[] headings = { "Social History\n", "Other Meds\n", "Medical History\n", "Ongoing Concerns\n", "Reminders\n", "Family History\n", "Risk Factors\n" }; String[] issueCodes = { "SocHistory", "OMeds", "MedHistory", "Concerns", "Reminders", "FamHistory", "RiskFactors" }; //String[] content = {cpp.getSocialHistory(), cpp.getFamilyHistory(), cpp.getMedicalHistory(), cpp.getOngoingConcerns(), cpp.getReminders()}; //init column to left side of page //ct.setSimpleColumn(document.left(), document.bottomMargin()+25f, document.right()/2f, lworkingYcoord); //int column = 1; //Chunk chunk; //float bottom = document.bottomMargin()+25f; //float middle; //bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); //cb.beginText(); //String headerContd; //while there are cpp headings to process for (int idx = 0; idx < headings.length; ++idx) { p = new Paragraph(); p.setAlignment(Paragraph.ALIGN_LEFT); phrase = new Phrase(LEADING, headings[idx], obsfont); p.add(phrase); document.add(p); newPage = false; this.printNotes(cpp.get(issueCodes[idx])); } //phrase.add(content[idx]); //ct.addText(phrase); // //do we need a page break? check if we're within a fudge factor of the bottom // if( lworkingYcoord <= (bottom * 1.1) && rworkingYcoord <= (bottom*1.1) ) { // document.newPage(); // rworkingYcoord = lworkingYcoord = document.top(); // } // // //Are we in right column? if so, flip over to left column if there is room // if( column % 2 == 1 ) { // if( lworkingYcoord > bottom ) { // ct.setSimpleColumn(document.left(), bottom, (document.right()/2f)-10f, lworkingYcoord); // ++column; // } // } // //Are we in left column? if so, flip over to right column only if text will fit // else { // ct.setSimpleColumn((document.right()/2f)+10f, bottom, document.right(), rworkingYcoord); // // if( ct.go(true) == ColumnText.NO_MORE_COLUMN ) { // ct.setSimpleColumn(document.left(), bottom, (document.right()/2f)-10f, lworkingYcoord); // } // else { // ct.setYLine(rworkingYcoord); // ++column; // } // // //ct.go(true) consumes input so we reload // phrase = new Phrase(LEADING, "", font); // chunk = new Chunk(headings[idx], obsfont); // phrase.add(chunk); // phrase.add(content[idx]); // ct.setText(phrase); // } // // //while there is text to write, fill columns/page break when page full // while( ct.go() == ColumnText.NO_MORE_COLUMN ) { // if( column % 2 == 0 ) { // lworkingYcoord = bottom; // middle = (document.right()/4f)*3f; // headerContd = headings[idx] + " cont'd"; // cb.setFontAndSize(bf, FONTSIZE); // cb.showTextAligned(PdfContentByte.ALIGN_CENTER, headerContd, middle, rworkingYcoord-phrase.leading(), 0f); // //cb.showTextAligned(PdfContentByte.ALIGN_CENTER, headings[idx] + " cont'd", middle, rworkingYcoord, 0f); // rworkingYcoord -= phrase.leading(); // ct.setSimpleColumn((document.right()/2f)+10f, bottom, document.right(), rworkingYcoord); // } // else { // document.newPage(); // rworkingYcoord = lworkingYcoord = document.top(); // middle = (document.right()/4f); // headerContd = headings[idx] + " cont'd"; // cb.setFontAndSize(bf, FONTSIZE); // cb.showTextAligned(PdfContentByte.ALIGN_CENTER, headerContd, middle, lworkingYcoord-phrase.leading(), 0f); // lworkingYcoord -= phrase.leading(); // ct.setSimpleColumn(document.left(), bottom, (document.right()/2f)-10f, lworkingYcoord); // } // ++column; // } // // if( column % 2 == 0 ) // lworkingYcoord -= (ct.getLinesWritten() * ct.getLeading() + (ct.getLeading() * 2f)); // else // rworkingYcoord -= (ct.getLinesWritten() * ct.getLeading() + (ct.getLeading() * 2f)); // } // cb.endText(); }