List of usage examples for com.itextpdf.text.pdf PdfPTable setWidthPercentage
public void setWidthPercentage(final float widthPercentage)
From source file:com.hris.payroll.reports.PayslipReportPDF.java
public PayslipReportPDF(int branchId, Date payrollDate) { this.branchId = branchId; this.payrollDate = payrollDate; Document document = null;/*from w w w . ja v a 2s . c o m*/ Rectangle pageSize = new Rectangle(318, 825); try { // document = new Document(PageSize.A4, 50, 50, 48, 40); document = new Document(pageSize, 37, 37, 37, 37); PdfWriter writer = PdfWriter.getInstance(document, outputStream); document.open(); PdfPTable mainTable = new PdfPTable(1); // mainTable.setTotalWidth(new float[]{ 120, 120 }); mainTable.setWidthPercentage(100); mainTable.setHorizontalAlignment(Element.ALIGN_JUSTIFIED_ALL); // mainTable.getDefaultCell().setBorder(Rectangle.NO_BORDER); // mainTable.setLockedWidth(true); // leftColumnTable(mainTable); // rightColumnTable(mainTable); // for(Employee e : es.findEmployeeByBranch(getBranchId())){ for (PayrollRegister pr : ps.findByBranch(getBranchId(), getPayrollDate())) { document.add(leftColumnTable(pr, getPayrollDate())); document.newPage(); } } catch (DocumentException ex) { Logger.getLogger(PayslipReportPDF.class.getName()).log(Level.SEVERE, null, ex); } finally { document.close(); } }
From source file:com.hris.payroll.reports.PayslipReportPDF.java
private PdfPTable leftColumnTable(PayrollRegister pr, Date payrollDate) throws DocumentException { PdfPTable table = new PdfPTable(3); table.setTotalWidth(new float[] { 120, 20, 103 }); table.setWidthPercentage(100); table.setHorizontalAlignment(Element.ALIGN_LEFT); table.setLockedWidth(true);//from w w w. ja va2 s . co m PdfPCell cellTitle = new PdfPCell(); cellTitle.setColspan(3); Paragraph parTitle = new Paragraph(); parTitle.add(new Phrase("Payslip: ", header)); parTitle.setAlignment(Element.ALIGN_CENTER); cellTitle.addElement(parTitle); cellTitle.setBorder(cellBorder); table.addCell(cellTitle); PdfPCell cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(3); Paragraph parLabel = new Paragraph(); parLabel.add( new Phrase("Payroll Date: " + CommonUtil.convertDateFormat(getPayrollDate().toString()), content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); // PdfPCell cellValue = new PdfPCell(); // cellValue.setUseAscender(true); // Paragraph parValue = new Paragraph(); // parValue.add(new Phrase(CommonUtil.convertDateFormat(getPayrollDate().toString()), content)); // parValue.setAlignment(Element.ALIGN_RIGHT); // cellValue.addElement(parValue); // cellValue.setBorder(cellBorder); // table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(3); parLabel = new Paragraph(); parLabel.add( new Phrase( "Cut-off Date: " + CommonUtil.changeDateFormat(pr.getAttendancePeriodFrom().toString()) + " - " + CommonUtil.changeDateFormat(pr.getAttendancePeriodTo().toString()), content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); // PdfPCell cellValue = new PdfPCell(); // cellValue.setUseAscender(true); // Paragraph parValue = new Paragraph(); // parValue.add(new Phrase(CommonUtil.convertDateFormat(pr.getAttendancePeriodFrom().toString())+" - "+CommonUtil.convertDateFormat(pr.getAttendancePeriodFrom().toString()), content)); // parValue.setAlignment(Element.ALIGN_RIGHT); // cellValue.addElement(parValue); // cellValue.setBorder(cellBorder); // table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(3); parLabel = new Paragraph(); String middlename; if (pr.getMiddlename() == null || pr.getMiddlename().isEmpty()) { middlename = " "; } else { middlename = String.valueOf(pr.getMiddlename().toUpperCase().charAt(0)) + ". "; } String name = pr.getLastname().toUpperCase() + ", " + pr.getFirstname().toUpperCase() + " " + middlename; parLabel.add(new Phrase("Employee Name: " + name, content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); // cellValue = new PdfPCell(); //// cellValue.setUseAscender(true); // parValue = new Paragraph(); // parValue.add(new Phrase(pr.getLastname().toUpperCase()+", "+pr.getFirstname().toUpperCase()+" "+pr.getMiddlename().toUpperCase().charAt(0)+".", employeeName)); //// parValue.add(new Phrase("NAME", content)); // parValue.setAlignment(Element.ALIGN_RIGHT); // cellValue.addElement(parValue); // cellValue.setBorder(cellBorder); // table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(3); parLabel = new Paragraph(); String position = (ephs.findByEmployee(pr.getEmployeeId()).getPosition() == null) ? "N/A" : ephs.findByEmployee(pr.getEmployeeId()).getPosition().toUpperCase(); parLabel.add(new Phrase("POSITION: " + position, smallerFont)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); // cellValue = new PdfPCell(); // cellValue.setUseAscender(true); // parValue = new Paragraph(); // parValue.add(new Phrase(CommonUtil.convertDateFormat(new Date().toString()), content)); // parValue.setAlignment(Element.ALIGN_RIGHT); // cellValue.addElement(parValue); // cellValue.setBorder(cellBorder); // table.addCell(cellValue); cellLabel = new PdfPCell(); // cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("Monthly/Daily Rate: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); PdfPCell cellValue = new PdfPCell(); // cellValue.setUseAscender(true); Paragraph parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getRate()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("Half-month Rate: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getHalfMonthSalary()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Overtime: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add( new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getOvertimePay())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Holiday Premium: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double premium = (pr.getLegalHolidayPay() + pr.getSpecialHolidayPay()) - (pr.getTotalLatesHolidayDeduction() + pr.getTotalUndertimeHolidayDeduction()); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(premium)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Working Day-off: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getWorkingDayOffPay())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Night Differential: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getNightDifferential())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Absences/Lates/Undertime: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double alu = pr.getAbsences() + pr.getTotalLatesDeduction() + pr.getTotalUndertimeDeduction(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(alu)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("GROSS PAY: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getGrossPay())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Allowances: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(" ", content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("COLA: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getColaAllowance()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Meal Allowance: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getMealAllowance()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("AFL: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getAllowanceForLiquidation()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Transportation Allowance: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); cellLabel.setColspan(2); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getTransportationAllowance()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Housing Allowance: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getOtherAllowance()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Communications Allowance: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(pr.getCommunicationAllowance()), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("TOTAL PAY: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double totalPay = pr.getGrossPay() + pr.getCommunicationAllowance() + pr.getTransportationAllowance() + pr.getColaAllowance() + pr.getPerDiemAllowance() + pr.getMealAllowance() + pr.getOtherAllowance() + pr.getAllowanceForLiquidation(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(totalPay)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("DEDUCTIONS: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(" ", content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("SSS Contribution: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getSss())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("PHIC Contribution: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getPhic())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("HDMF Contribution: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getHdmf())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Withholoding Taxes: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getTax())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("SSS Loan: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "sss loan"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("HDMF Loan: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "hdmf loan"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Additional HDMF Contribution: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add( new Phrase( String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces( as.findAdvancesTotalAmount(pr.getPayrollId(), "additional HDMF contribution"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("PAG-IBIG 2: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "pag-ibig ii"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Advances to O/E: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(" ", content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Cash Bond: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "cash bond"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Cash Advance: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "cash advance"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Lending: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "lending"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Jewelry: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "jewelry"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Staffhouse: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase( String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "staffhouse"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Hotel and Restaurant Charges: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add( new Phrase( String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces( as.findAdvancesTotalAmount(pr.getPayrollId(), "hotel and restaurant charges"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Cash Shortages: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "cash shortages"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Employee Charges: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "employee charges"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("ATM Initial Deposit: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil .roundOffToTwoDecimalPlaces(as.findAdvancesTotalAmount(pr.getPayrollId(), "atm initial deposit"))), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.setIndentationLeft(allowances); parLabel.add(new Phrase("Others__________________: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double otherCharges = as.findAdvancesTotalAmount(pr.getPayrollId(), "advances to o/e") + as.findAdvancesTotalAmount(pr.getPayrollId(), "other charges"); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(otherCharges)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("TOTAL DEDUCTIONS:", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double totalDeductions = as.findAdvancesTotalAmount(pr.getPayrollId()) + pr.getTax() + pr.getPhic() + pr.getHdmf() + pr.getSss(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(totalDeductions)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cellValue); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); cellLabel.setColspan(2); parLabel = new Paragraph(); parLabel.add(new Phrase("NET PAY:", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); double netPay = CommonUtil.roundOffToTwoDecimalPlaces(totalPay - totalDeductions); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(netPay)), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); /***************************************************************************/ cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase("Adjustments:", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add( new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(pr.getAdjustments())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); /***************************************************************************/ cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); // parLabel.add(new Phrase("_____________________________", content)); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cellLabel); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); // parValue.add(new Phrase(String.valueOf(totalPay - totalDeductions), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); /***************************************************************************/ cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase("TOTAL AMOUNT TO BE RECEIVED:", smallFont)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase(String.valueOf(CommonUtil.roundOffToTwoDecimalPlaces(netPay + pr.getAdjustments())), content)); parValue.setAlignment(Element.ALIGN_RIGHT); cellValue.addElement(parValue); cellValue.setBorder(Rectangle.TOP | Rectangle.BOTTOM); table.addCell(cellValue); /***************************************************************************/ cellLabel = new PdfPCell(); // cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase("Prepared By: ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellLabel = new PdfPCell(); // cellLabel.setUseAscender(true); parLabel = new Paragraph(); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); // cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase("Conforme: ", content)); parValue.setAlignment(Element.ALIGN_LEFT); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); /***************************************************************************/ int userId = ubas.findUserByBranch(getBranchId()); String employeeId = us.findEmployeeIdByUserId(userId); Employee e = es.findEmployeeById(employeeId); String payrollClerkMiddlename; if (e.getMiddlename() == null || e.getMiddlename().isEmpty()) { payrollClerkMiddlename = " "; } else { payrollClerkMiddlename = String.valueOf(e.getMiddlename().toUpperCase().charAt(0)) + ". "; } String payrollClerk = e.getFirstname().toUpperCase() + " " + payrollClerkMiddlename + e.getLastname().toUpperCase(); String employeeMiddlename; if (pr.getMiddlename() == null || pr.getMiddlename().isEmpty()) { employeeMiddlename = " "; } else { employeeMiddlename = String.valueOf(pr.getMiddlename().toUpperCase().charAt(0)) + ". "; } String employee = pr.getFirstname().toUpperCase() + " " + employeeMiddlename + pr.getLastname().toUpperCase(); cellLabel = new PdfPCell(); cellLabel.setPaddingTop(30); parLabel = new Paragraph(); parLabel.add(new Phrase(payrollClerk, smallerFont)); parLabel.setAlignment(Element.ALIGN_CENTER); cellLabel.addElement(parLabel); cellLabel.setBorder(Rectangle.BOTTOM); table.addCell(cellLabel); cellLabel = new PdfPCell(); cellLabel.setPaddingTop(30); parLabel = new Paragraph(); parLabel.add(new Phrase(" ", content)); parLabel.setAlignment(Element.ALIGN_CENTER); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setPaddingTop(30); parValue = new Paragraph(); parValue.add(new Phrase(employee, smallerFont)); parValue.setAlignment(Element.ALIGN_CENTER); cellValue.addElement(parValue); cellValue.setBorder(Rectangle.BOTTOM); table.addCell(cellValue); /***************************************************************************/ cellLabel = new PdfPCell(); cellLabel.setUseAscender(true); parLabel = new Paragraph(); // parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("Payroll Clerk", content)); parLabel.setAlignment(Element.ALIGN_CENTER); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellLabel = new PdfPCell(); parLabel = new Paragraph(); // parLabel.setIndentationLeft(halfMonthRate); parLabel.add(new Phrase("", content)); parLabel.setAlignment(Element.ALIGN_LEFT); cellLabel.addElement(parLabel); cellLabel.setBorder(cellBorder); table.addCell(cellLabel); cellValue = new PdfPCell(); cellValue.setUseAscender(true); parValue = new Paragraph(); parValue.add(new Phrase("Employee", content)); parValue.setAlignment(Element.ALIGN_CENTER); cellValue.addElement(parValue); cellValue.setBorder(cellBorder); table.addCell(cellValue); return table; }
From source file:com.icebreak.p2p.front.controller.trade.download.InvestReceiptPDFCreator.java
/** * ???/*from ww w . ja v a 2 s. c om*/ * @param tradeId * @param detailId * @param servletPath * @return ? byte[] * @throws Exception */ public byte[] creatFileData4Receipt(long tradeId, long detailId, String servletPath) throws Exception { FileInputStream fis = null; BufferedInputStream buff = null; String fileKey = tradeId + "_" + detailId;//System.currentTimeMillis() + ""; String filePath = servletPath + "/resources/pdf/investReceipt_" + fileKey + ".pdf"; this.receiptFilePath = filePath; File file = new File(filePath); if (!file.exists()) { String timeLimit = ""; String interestRate = ""; String guaranteeName = ""; String investFlowCode = null; String investor = ""; String investorReal = ""; String investorCertNo = ""; String loanner = ""; String loannerReal = ""; String loannerCertNo = ""; String investAmount = ""; String totalAmountStr = ""; String effectiveDate = ""; String expireDate = ""; Trade trade = tradeService.getByTradeId(tradeId); effectiveDate = DateUtil.simpleFormat(trade.getEffectiveDateTime()); expireDate = DateUtil.simpleFormat(trade.getExpireDateTime()); LoanDemandDO loanDemand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); guaranteeName = loanDemand.getGuaranteeName(); if ("W".equals(loanDemand.getTimeLimitUnit()) || "M".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else if ("Y".equals(loanDemand.getTimeLimitUnit())) { timeLimit = loanDemand.getTimeLimit() + ""; } else { timeLimit = loanDemand.getTimeLimit() + ""; } interestRate = CommonUtil.mul(loanDemand.getInterestRate(), 100) + "%"; List<UserInvestEntry> userInvests = tradeService.getEntriesByTradeIdAndDetailId(tradeId, detailId); long totalAmount = 0; if (userInvests != null && userInvests.size() > 0) { UserInvestEntry tradeItem = userInvests.get(0); investAmount = MoneyUtil.getFormatAmount(tradeItem.getAmount()); long investorId = userInvests.get(0).getInvestorId(); long loannerId = userInvests.get(0).getLoanerId(); investorCertNo = getCertNoByUserId(investorId); loannerCertNo = getCertNoByUserId(loannerId); investor = userInvests.get(0).getInvestorUserName(); investorReal = userInvests.get(0).getInvestorRealName(); loannerReal = userInvests.get(0).getLoanerRealName(); loanner = userInvests.get(0).getLoanerUserName(); totalAmount = userInvests.get(0).getAmount(); } //? /*interest = caculateInterest(new Money(totalAmount), loanDemand.getInterestRate(), loanDemand.getTimeLimit(), loanDemand.getTimeLimitUnit());*/ long divisionAmount = 0; long profitAmount = 0; List<TradeDetail> details = tradeService.getInvestProfitTrade(detailId); if (details != null && details.size() > 0) { for (TradeDetail detail : details) { divisionAmount += detail.getAmount(); if (detail.getProfitType() > 0) { profitAmount += detail.getAmount(); } } } totalAmount += divisionAmount; TradeFlowCode tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(detailId); if (tradeFlow != null) { investFlowCode = tradeFlow.getTradeFlowCode(); } String guaranteeLicenseNo = ""; Map<String, Object> cond = new HashMap<String, Object>(); cond.put("roleId", 8L); cond.put("tradeId", trade.getId()); List<TradeQueryDetail> det = loanDemandManager.getTradeDetailByConditions(cond); if (det != null && det.size() > 0) { tradeFlow = tradeService.queryInvestFlowCodesByTradeDetailId(det.get(0).getId()); if (tradeFlow != null) { guaranteeLicenseNo = tradeFlow.getTradeFlowCode(); } } LoanDemandDO demand = loanDemandManager.queryLoanDemandByDemandId(trade.getDemandId()); long divisionTemplateId = demand.getDivisionTemplateId(); DivisionTemplateLoanDO divisionTemplateLoan = divisionTemplateLoanService .getByBaseId(divisionTemplateId); List<DivsionRuleRole> investRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getInvestTemplateId())); List<DivsionRuleRole> repayRolelist = divisionService .getRuleRole(String.valueOf(divisionTemplateLoan.getRepayTemplateId())); //?? double totalAnnualInterest = 0; investRolelist.addAll(repayRolelist); if (investRolelist != null && investRolelist.size() > 0) { for (DivsionRuleRole druleRole : investRolelist) { if (DivisionPhaseEnum.INVESET_PHASE.code().equals(druleRole.getPhase())) { if ("11".equals(String.valueOf(druleRole.getRoleId()))) { totalAnnualInterest += druleRole.getRule(); } } } } totalAmountStr = MoneyUtil.getFormatAmount(totalAmount); String divisionAmountStr = MoneyUtil.getFormatAmount(divisionAmount); FileOutputStream fos = null; Document doc = new Document(PageSize.A4, 20, 20, 140, 20); try { fos = new FileOutputStream(filePath); PdfWriter writer = PdfWriter.getInstance(doc, fos); doc.open(); // BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font titleChinese = new Font(bfChinese, 20, Font.BOLD); // ? Paragraph title = new Paragraph(AppConstantsUtil.getProductName() + "?", titleChinese);// title.setAlignment(Element.ALIGN_CENTER); // title.setLeading(1f);//?//? doc.add(title); Font fontZH = new Font(bfChinese, 12, Font.NORMAL); float[] widths = { 20f, 30f, 25f, 25f }; PdfPTable table = new PdfPTable(widths); table.setSpacingBefore(20f);// ? table.setTotalWidth(500);// table.setWidthPercentage(100);//%100 // table.getDefaultCell().setBorder(0);// PdfPCell cell; // cell = new PdfPCell(new Paragraph("?",fontZH)); // cell.setColspan(4); // table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(AppConstantsUtil.getPlatformName(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getRepayDivisionWayMsg(), fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(interestRate, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(timeLimit, fontZH)); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(guaranteeName, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell( new Paragraph(StringUtil.nullToEmpty(loanDemand.getGuaranteeLicenseNo()), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph((loanDemand.getLoanAmount() / 100) + "", fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(loanDemand.getLoanPurpose(), fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); table.addCell(cell); cell = new PdfPCell(new Paragraph(investFlowCode, fontZH)); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Paragraph("?", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); cell = new PdfPCell(new Paragraph("??", fontZH)); cell.setBackgroundColor(BaseColor.LIGHT_GRAY); cell.setColspan(2); table.addCell(cell); Paragraph iparas = new Paragraph("??" + investor, fontZH); iparas.add(Chunk.NEWLINE); iparas.add("??" + investorReal); iparas.add(Chunk.NEWLINE); iparas.add("??" + StringUtil.subString(investorCertNo, 7, "****")); iparas.add(Chunk.NEWLINE); iparas.add("?" + effectiveDate); iparas.add(Chunk.NEWLINE); iparas.add("" + expireDate); iparas.add(Chunk.NEWLINE); iparas.add("()" + investAmount); iparas.add(Chunk.NEWLINE); iparas.add("()" + divisionAmountStr); iparas.add(Chunk.NEWLINE); iparas.add("()" + totalAmountStr); cell = new PdfPCell(iparas); cell.setColspan(2); cell.setRowspan(8); cell.setMinimumHeight(120); table.addCell(cell); Paragraph paras = new Paragraph("??" + loanner, fontZH); paras.add(Chunk.NEWLINE); paras.add("??" + loannerReal); paras.add(Chunk.NEWLINE); paras.add("??" + StringUtil.subString(loannerCertNo, 7, "****")); paras.add(Chunk.NEWLINE); paras.add("?" + effectiveDate); paras.add(Chunk.NEWLINE); paras.add("" + expireDate); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add(Chunk.NEWLINE); paras.add("()" + totalAmountStr); cell = new PdfPCell(paras); cell.setColspan(2); cell.setRowspan(8); table.addCell(cell); doc.add(table); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); Paragraph tips = new Paragraph(" ?? ?" + AppConstantsUtil.getPlatformName() + "", fontZH);// tips.setLeading(1f);//?//? doc.add(tips); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); doc.add(Chunk.NEWLINE); tips = new Paragraph(" ??" + AppConstantsUtil.getPlatformAddress(), fontZH);// tips.setLeading(1f);//?//? doc.add(tips); // XMLWorkerHelper.getInstance().parseXHtml(writer, doc, // new ByteArrayInputStream(str.getBytes())); doc.close(); logger.info("?"); } catch (Exception e) { logger.error("?", e); throw new Exception("?:" + e.getMessage()); } finally { if (fos != null) { fos.close(); } } } byte[] data = new byte[1024]; file = new File(filePath); try { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] temp = new byte[1024]; int size = 0; fis = new FileInputStream(file); buff = new BufferedInputStream(fis); int i = 0; while ((size = buff.read(temp)) != -1) { out.write(temp, 0, size); i += 1; } data = out.toByteArray(); buff.close(); fis.close(); //file.delete(); if (i == 0 && size == -1) { //PDF file.delete(); } } catch (FileNotFoundException e) { logger.error("?", e); } catch (IOException e) { logger.error("delete file", e); } finally { if (fis != null) { fis.close(); } } return data; }
From source file:com.jpsycn.print.util.PDFUtils.java
/** * ?????/* ww w . j a v a 2 s. co m*/ * * @param mContext * @param file * ?pdf * @param map * ??? * @return */ public static boolean createSamplingPdf(Context mContext, File file, Map<String, String> map) { try { Font simfang12 = FontUtil.getFont(mContext, 12, "simfang.ttf"); Font bf = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.BOLD, null); Document document = setHeader(file, mContext, simfang12, bf, "?????", map.get("sno") == null ? " " : map.get("sno")); // ?100 int cols = 100; // ????5 // ?5 // ?5? int m = 7; int n = 28; int o = 27; int p = 10; int q = 28; PdfPTable table1 = new PdfPTable(cols); // ???80%100% table1.setWidthPercentage(100); table1.setSpacingBefore(3f); table1.addCell(ItextUtil.getCell(simfang12, "?", m + n)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked( new String[] { "", "", "???", "??", "??", "" }, map.get("sample_type")), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "", m + n)); table1.addCell( ItextUtil.getCell(simfang12, ItextUtil.checked( new String[] { "", "", "???", "", "??", "", "?", "", "" }, map.get("sampling_address")), o + p + q, false)); table1.addCell(ItextUtil.getCell(simfang12, "", m, 3)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("name"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", n)); table1.addCell(ItextUtil.getCell(bf, map.get("address"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("contact_and_phone"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", m, 8)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_name"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_type"), o)); table1.addCell(ItextUtil.getCell(simfang12, "?", p)); table1.addCell(ItextUtil.getCell(bf, map.get("product_level"), q)); table1.addCell(ItextUtil.getCell(simfang12, "", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_brand"), o)); table1.addCell(ItextUtil.getCell(simfang12, "", p)); table1.addCell(ItextUtil.getCell(bf, map.get("product_standard"), q)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_sno"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "/?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_date"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("product_expired"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("number"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "", n)); table1.addCell(ItextUtil.getCell(bf, map.get("date"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "???" + ItextUtil.checked(new String[] { "", "?" }, map.get("company_equal_sampling_ground")) + "????", cols)); table1.addCell(ItextUtil.getCell(simfang12, "?", m, 3)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_name"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_address"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_linkman_and_phone"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "", m, 4)); table1.addCell(ItextUtil.getCell(simfang12, "??", n)); table1.addCell(ItextUtil.getCell(bf, map.get("depart_name"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("depart_people"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", n)); table1.addCell(ItextUtil.getCell(bf, map.get("depart_phone"), o + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "/Email", n)); table1.addCell(ItextUtil.getCell(bf, map.get("depart_email"), o + p + q)); // ? Font blackFont = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.NORMAL, BaseColor.WHITE); String remark = map.get("remark") == null ? "" : map.get("remark"); int nn = 25 + 43 * 6; if (remark != null && remark.length() < 25 + 43 * 4) { nn = nn - remark.length(); } table1.addCell(ItextUtil.getRemarkCell(simfang12, blackFont, "?", bf, remark, cols, nn)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??", "?", " ", 35, 7, 6 + 14 * 4 + 14)); table1.addCell(ItextUtil.getMultiCell2(simfang12, blackFont, "", " ", 33, 5 + 14 * 5 + 9)); table1.addCell(ItextUtil.getMultiCell2(simfang12, blackFont, "??", " ", 32, 5 + 13 * 5 + 8)); document.add(table1); Font simfang8 = FontUtil.getFont(mContext, 8, "simfang.ttf"); Paragraph r1 = new Paragraph( ":1.?,???,????", simfang8); document.add(r1); Paragraph r2 = new Paragraph( "2.???3.????", simfang8); document.add(r2); zxing(map.get("zxing"), mContext, document); stmp(mContext, document, 220, 40); Paragraph bbb = new Paragraph(ItextUtil.getBlackStr(88), blackFont); document.add(bbb); // document.close(); return true; } catch (Exception e) { Log.e(TAG, "", e); return false; } }
From source file:com.jpsycn.print.util.PDFUtils.java
/** * ???/??/* ww w .java 2 s . c om*/ * * @param mContext * @param file * @param map * @return */ public static boolean createReSamplePdf(Context mContext, File file, Map<String, String> map) { try { Font simfang12 = FontUtil.getFont(mContext, 12, "simfang.ttf"); Font bf = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.BOLD, null); Document document = setHeader(file, mContext, simfang12, bf, "???/??", map.get("sno") == null ? " " : map.get("sno")); // int cols = 100; int m = 5; int n = 12; int o1 = 11; int o2 = 11; int o3 = 11; int p = 5; int q = 5; int r = 20; int s = 20; int o = o1 + o2 + o3; PdfPTable table1 = new PdfPTable(cols); // ???80%100% table1.setWidthPercentage(100); table1.setSpacingBefore(3f); table1.addCell(ItextUtil.getCell(simfang12, "??", m + n)); table1.addCell(ItextUtil.getCell(bf, map.get("source"), o)); table1.addCell(ItextUtil.getCell(simfang12, "", p + q)); table1.addCell(ItextUtil.getCell(bf, map.get("check_type"), r + s)); table1.addCell(ItextUtil.getCell(simfang12, "???", m, 3, false, true)); table1.addCell(ItextUtil.getCell(simfang12, " ??? ?", n, 3, false, true)); table1.addCell(ItextUtil.getCell(bf, map.get("name"), o)); table1.addCell(ItextUtil.getCell(simfang12, "", p + q)); table1.addCell(ItextUtil.getCell(bf, map.get("legal_representative"), r + s)); table1.addCell(ItextUtil.getCell(bf, map.get("address"), o)); table1.addCell(ItextUtil.getCell(simfang12, "? ??", p + q, 2, false, true)); table1.addCell(ItextUtil.getCell(bf, map.get("contact_and_phone"), r + s, 2)); table1.addCell(ItextUtil.getCell(simfang12, "", o)); table1.addCell(ItextUtil.getCell(simfang12, "??", m, 10, false, true)); table1.addCell(ItextUtil.getCell(simfang12, "????", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_name"), o)); table1.addCell(ItextUtil.getCell(simfang12, "?", p, 10, false, true)); String companyType = map.get("company_type"); table1.addCell(ItextUtil.getCell(simfang12, "", q, 4, false, true)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("", companyType), r)); table1.addCell( ItextUtil.getCell(simfang12, ItextUtil.checked("???", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_address"), o)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("", companyType), r)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("??", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_zip"), o)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("??", companyType), r)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("??", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_legal_representative"), o)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("?", companyType), r)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("?", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_linkman"), o)); table1.addCell(ItextUtil.getCell(simfang12, "?", q, 3, false, true)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("???", companyType), r)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("???", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "??", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_phone"), o)); table1.addCell( ItextUtil.getCell(simfang12, ItextUtil.checked("???", companyType), r, 2)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("??", companyType), s, 2)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_license"), o)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("company_code"), o)); table1.addCell(ItextUtil.getCell(simfang12, "", q, 3, false, true)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("?", companyType), r)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("?", companyType), s)); table1.addCell(ItextUtil.getCell(simfang12, "?", n, 2)); table1.addCell(ItextUtil.getCell(simfang12, "", o1, false)); table1.addCell(ItextUtil.getCell(simfang12, "", o2)); table1.addCell(ItextUtil.getCell(simfang12, "?", o3)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("?", companyType), r, 2)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked("??", companyType), s, 2)); table1.addCell(ItextUtil.getCell(bf, map.get("company_person_number"), o1)); table1.addCell(ItextUtil.getCell(bf, map.get("company_output_value"), o2)); table1.addCell(ItextUtil.getCell(bf, map.get("company_production"), o3)); table1.addCell(ItextUtil.getCell(simfang12, "???", m, 8, false, true)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked(new String[] { "???", "QS", "CCC", "" }, map.get("product_certificate_type")), n + o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", r)); table1.addCell(ItextUtil.getCell(bf, map.get("product_certificate_sno"), s)); table1.addCell(ItextUtil.getCell(simfang12, "???", n + o1)); table1.addCell(ItextUtil.getCell(bf, map.get("product_name"), o2 + o3)); table1.addCell(ItextUtil.getCell(simfang12, "?", p + q + r)); table1.addCell(ItextUtil.getCell(bf, map.get("product_type"), s)); table1.addCell(ItextUtil.getCell(simfang12, "/?", n + o1)); table1.addCell(ItextUtil.getCell(bf, map.get("product_date"), o2 + o3)); table1.addCell(ItextUtil.getCell(simfang12, "", p + q + r)); table1.addCell(ItextUtil.getCell(bf, map.get("product_brand"), s)); // gg(map, simfang12, bf, table1); // table1.addCell(ItextUtil.getCell(simfang12, "", n + o1)); table1.addCell(ItextUtil.getCell(bf, map.get("samplint_date"), o2 + o3)); table1.addCell(ItextUtil.getCell(simfang12, "??", p + q + r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_state"), s)); table1.addCell(ItextUtil.getCell(simfang12, "???", n + o1)); table1.addCell(ItextUtil.getCell(bf, map.get("samplint_volumn_and_storage_address"), o2 + o3)); table1.addCell(ItextUtil.getCell(simfang12, "?", p + q + r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_send_address"), s)); table1.addCell(ItextUtil.getCell(simfang12, "???", n + o1)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked(new String[] { "", "?" }, map.get("is_export_product")), o2 + o3)); table1.addCell(ItextUtil.getCell(simfang12, "?", p + q + r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_send_expired"), s)); table1.addCell(ItextUtil.getCell(simfang12, "??", m, 3, false, true)); table1.addCell(ItextUtil.getCell(simfang12, "????", n)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_name"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "?", r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_people"), s)); table1.addCell(ItextUtil.getCell(simfang12, "???", n)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_address"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_phone"), s)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_zip"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "/Email", r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_email"), s)); Font blackFont = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.NORMAL, BaseColor.WHITE); String remark = map.get("remark") == null ? "" : map.get("remark"); int nn = 30 + 43 * 3; if (remark != null && remark.length() < 25 + 43 * 4) { nn = nn - remark.length(); } table1.addCell(ItextUtil.getRemarkCell(simfang12, blackFont, "?", bf, remark, cols, nn)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "???", "?????", " ", 32, 1, 2 + 13 * 2 + 6)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??", "????", " ", 32, 1, 2 + 13 * 2 + 6)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??", "??", " ", 36, 7 + 15 * 2 + 6, 9)); document.add(table1); Font simfang8 = FontUtil.getFont(mContext, 8, "simfang.ttf"); Paragraph r1 = new Paragraph( "1.??????", simfang8); document.add(r1); Paragraph r2 = new Paragraph( "2.???QS?CCC???3.???????", simfang8); document.add(r2); zxing(map.get("zxing"), mContext, document); stmp(mContext, document, 380, 40); Paragraph bbb = new Paragraph(ItextUtil.getBlackStr(44), blackFont); document.add(bbb); // 5: document.close(); return true; } catch (Exception e) { Log.e(TAG, "", e); return false; } }
From source file:com.jpsycn.print.util.PDFUtils.java
/** * ????/??//from w w w . j a v a2s .c o m * * @param mContext * @param file * @param map * @return */ public static boolean createSpaqPdf(Context mContext, File file, Map<String, String> map) { try { /* * String[] ss = new String[] { "",".", "", "", "?", "?", "", * "", "", "",".", "", "", "?", "?", "", "", "", "",".", * "", "", "", "", "", "", "", "", "", "", ".","", "", * "", "?", "", "", "?", "", "?", "", "", "?", "", "", "", * "?", "", "", "", "", "" }; */ /* * PdfContentByte cb = writer.getDirectContent(); BaseFont simfang = * FontUtil.getBaseFont(mContext, "simfang.ttf"); cb.beginText(); * cb.setFontAndSize(simfang, 12); float w = 595 - 30; for (int i = * 0; i < ss.length; i++) { String temp = ss[i]; if * (temp.equals("") || temp.equals("")) { * cb.showTextAligned(PdfContentByte.ALIGN_CENTER, temp, w+2, * (680f-i*10)+3, 270); } else { cb.setTextMatrix(w, 680f - i * 10); * cb.showText(temp); } } cb.endText(); */ Font simfang12 = FontUtil.getFont(mContext, 12, "simfang.ttf"); Font bf = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.BOLD, null); Document document = setHeader(file, mContext, simfang12, bf, "????/??", map.get("sno") == null ? " " : map.get("sno")); // int cols = 100; int m = 5; int n = 12; int o1 = 11; int o2 = 11; int o3 = 11; int p = 5; int q = 5; int r = 20; int s = 20; int o = o1 + o2 + o3; PdfPTable table1 = new PdfPTable(cols); // ???80%100% table1.setWidthPercentage(100); table1.setSpacingBefore(3f); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", m + n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("source"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", p + q)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("check_type"), r + s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", m, 3, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, "????", n, 3)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("name"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", p + q)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("legal_representative"), r + s)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("address"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", p + q, 2)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("contact_and_phone"), r + s, 2)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", m, 10, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, "????", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_name"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", p, 10, false, true)); String companyType = map.get("company_type"); table1.addCell(ItextUtil.getCell(simfang12, "", q, 4, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("", companyType), r)); table1.addCell( ItextUtil.getCell(20f, simfang12, ItextUtil.checked("???", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_address"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("", companyType), r)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("??", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_zip"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("??", companyType), r)); table1.addCell( ItextUtil.getCell(20f, simfang12, ItextUtil.checked("??", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_legal_representative"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("?", companyType), r)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("?", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_linkman"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", q, 3, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("???", companyType), r)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("???", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_phone"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("???", companyType), r, 2)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("??", companyType), s, 2)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_license"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("company_code"), o)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", q, 3)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("?", companyType), r)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("?", companyType), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n, 2)); StringBuilder sb3 = new StringBuilder(); sb3.append(""); sb3.append(map.get("company_person_number") == null ? " " : map.get("company_person_number")); sb3.append(" "); sb3.append(map.get("company_output_value") == null ? " " : map.get("company_output_value")); sb3.append(" ?"); sb3.append(map.get("company_production") == null ? " " : map.get("company_production")); // sb3.append("10000 5000 ?1000?"); Font simfang10 = FontUtil.getFont(mContext, 9, "simfang.ttf"); table1.addCell(ItextUtil.getCell(20f, simfang10, sb3.toString(), o1 + o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("?", companyType), r, 2)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked("??", companyType), s, 2)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked(new String[] { "", "", "?" }, map.get("company_scope")), o1 + o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", m, 9, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked(new String[] { "?", "??", "?", "??" }, map.get("food_type")), n + o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("product_certificate_sno"), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", n + o1)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("product_name"), o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", p + q + r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("product_type"), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "/?", n + o1)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("product_date"), o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", p + q + r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("product_brand"), s)); // gg(map, simfang12, bf, table1); // table1.addCell(ItextUtil.getCell(20f, simfang12, "", n + o1)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("samplint_date"), o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", p + q + r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_state"), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", n + o1)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("samplint_volumn_and_storage_address"), o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", p + q + r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_send_address"), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", n + o1)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_send_expired"), o2 + o3)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked(new String[] { "??", "???" }, map.get("is_famous_brand")), p + q + r + s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "", n)); table1.addCell(ItextUtil.getCell(20f, simfang12, ItextUtil.checked(new String[] { "???", "", "" }, map.get("sample_address_1")), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, ItextUtil.checked( new String[] { "", "?", "?" }, map.get("sample_address_2")), r + s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "??", m, 3, false, true)); table1.addCell(ItextUtil.getCell(20f, simfang12, "????", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_name"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(20f, simfang12, "?", r)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_people"), s)); table1.addCell(ItextUtil.getCell(20f, simfang12, "???", n)); table1.addCell(ItextUtil.getCell(20f, bf, map.get("sampling_address"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "??", r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_phone"), s)); table1.addCell(ItextUtil.getCell(simfang12, "?", n)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_zip"), o1 + o2 + o3 + p + q)); table1.addCell(ItextUtil.getCell(simfang12, "/Email", r)); table1.addCell(ItextUtil.getCell(bf, map.get("sampling_email"), s)); table1.addCell(ItextUtil.getCell(simfang12, "", m + n, 2)); StringBuilder sb = new StringBuilder(); sb.append("?"); sb.append(ItextUtil.checked(new String[] { "", "" }, map.get("sampling_result_1"))); sb.append("?"); sb.append(ItextUtil.checked(new String[] { "", "?" }, map.get("sampling_result_2"))); sb.append("\n"); sb.append("?"); sb.append(ItextUtil.checked(new String[] { "", "", "" }, map.get("sampling_result_3"))); sb.append("????"); sb.append(ItextUtil.checked(new String[] { "", "?" }, map.get("sampling_result_4"))); table1.addCell(ItextUtil.getCell(simfang12, sb.toString(), o1 + o2 + o3 + p + q + r + s, 2, false)); Font blackFont = FontUtil.getFont(mContext, 12, "simfang.ttf", Font.NORMAL, BaseColor.WHITE); table1.addCell(ItextUtil.getCell(simfang12, "", m + n, 2)); StringBuilder sb2 = new StringBuilder(); sb2.append("??"); sb2.append(ItextUtil.checked(new String[] { "", "" }, map.get("remark_1"))); sb2.append("\n"); sb2.append(""); // sb2.append(map.get("remark_2") == null ? "" : // map.get("remark_2")); String ss = map.get("remark_2") == null ? "" : map.get("remark_2"); table1.addCell(ItextUtil.getCell2(simfang12, sb2.toString(), bf, ss, o1 + o2 + o3 + p + q + r + s)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "???", "?????", " ", 32, 1, 2 + 13 * 2 + 6)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??", "????", " ", 32, 1, 2 + 13 * 2 + 6)); table1.addCell(ItextUtil.getMultiCell3(simfang12, blackFont, "??", "??", " ", 36, 7 + 15 * 2 + 6, 9)); document.add(table1); Font simfang8 = FontUtil.getFont(mContext, 8, "simfang.ttf"); Paragraph r1 = new Paragraph( "1???4??????????????2??????????3????", simfang8); document.add(r1); zxing(map.get("zxing"), mContext, document); stmp(mContext, document, 380, 40); Paragraph bbb = new Paragraph(ItextUtil.getBlackStr(44), blackFont); document.add(bbb); // 5: document.close(); return true; } catch (Exception e) { Log.e(TAG, "", e); return false; } }
From source file:com.jslsolucoes.tagria.lib.grid.exporter.impl.PdfExporter.java
License:Apache License
public void doExport(OutputStream out) throws DocumentException { Document document = new Document(); PdfWriter.getInstance(document, out); document.open();/* ww w.ja v a 2 s . com*/ PdfPTable pdf = new PdfPTable(table.getHeaders().size()); pdf.setWidthPercentage(100); title(pdf); header(pdf); body(pdf); document.add(pdf); document.close(); }
From source file:com.maxl.java.amikodesk.SaveBasket.java
License:Open Source License
public void generatePdf(Author author, String filename, String type) { // A4: 8.267in x 11.692in => 595.224units x 841.824units (72units/inch) // marginLeft, marginRight, marginTop, marginBottom Document document = new Document(PageSize.A4, 50, 50, 80, 50); try {/*from ww w. ja va 2 s.c o m*/ if (m_shopping_basket.size() > 0) { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(filename)); writer.setBoxSize("art", new Rectangle(50, 50, 560, 790)); HeaderFooter event = new HeaderFooter(); writer.setPageEvent(event); document.open(); PdfContentByte cb = writer.getDirectContent(); document.addAuthor("ywesee GmbH"); document.addCreator("AmiKo for Windows"); document.addCreationDate(); // Logo String logoImageStr = m_prefs.get(LogoImageID, Constants.IMG_FOLDER + "empty_logo.png"); File logoFile = new File(logoImageStr); if (!logoFile.exists()) logoImageStr = Constants.IMG_FOLDER + "empty_logo.png"; Image logo = Image.getInstance(logoImageStr); logo.scalePercent(30); logo.setAlignment(Rectangle.ALIGN_RIGHT); document.add(logo); document.add(Chunk.NEWLINE); // Bestelladresse // --> String bestellAdrStr = m_prefs.get(BestellAdresseID, m_rb.getString("noaddress1")); String bestellAdrStr = getAddressAsString(BestellAdresseID); Paragraph p = new Paragraph(12); // p.setIndentationLeft(60); p.add(new Chunk(bestellAdrStr, font_norm_10)); document.add(p); document.add(Chunk.NEWLINE); // Title p = new Paragraph(m_rb.getString("order"), font_bold_16); document.add(p); // Date DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss"); Date date = new Date(); p = new Paragraph(m_rb.getString("date") + ": " + dateFormat.format(date), font_bold_10); p.setSpacingAfter(20); document.add(p); // document.add(Chunk.NEWLINE); // Add addresses (Lieferadresse + Rechnungsadresse) /* --> OLD String lieferAdrStr = m_prefs.get(LieferAdresseID, m_rb.getString("noaddress2")); String rechnungsAdrStr = m_prefs.get(RechnungsAdresseID, m_rb.getString("noaddress3")); */ // --> NEW String lieferAdrStr = getAddressAsString(LieferAdresseID); String rechnungsAdrStr = getAddressAsString(RechnungsAdresseID); PdfPTable addressTable = new PdfPTable(new float[] { 1, 1 }); addressTable.setWidthPercentage(100f); addressTable.getDefaultCell().setPadding(5); addressTable.setSpacingAfter(5f); addressTable.addCell(getStringCell(m_rb.getString("shipaddress"), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); addressTable.addCell(getStringCell(m_rb.getString("billaddress"), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); addressTable.addCell( getStringCell(lieferAdrStr, font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); addressTable.addCell( getStringCell(rechnungsAdrStr, font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); document.add(addressTable); document.add(Chunk.NEWLINE); // Add shopping basket if (type.equals("specific")) document.add(getShoppingBasketForAuthor(author, cb)); else if (type.equals("all")) document.add(getFullShoppingBasket(cb, "all")); else if (type.equals("rest")) document.add(getFullShoppingBasket(cb, "rest")); LineSeparator separator = new LineSeparator(); document.add(separator); } } catch (IOException e) { } catch (DocumentException e) { } document.close(); // System.out.println("Saved PDF to " + filename); }
From source file:com.maxl.java.amikodesk.SaveBasket.java
License:Open Source License
public PdfPTable getShoppingBasketForAuthor(Author a, PdfContentByte cb) { int position = 0; float subtotal_CHF = 0.0f; float shipping_CHF = 0.0f; float vat25_CHF = 0.0f; float vat80_CHF = 0.0f; String author = a.getShortName(); BarcodeEAN codeEAN = new BarcodeEAN(); // Pos | Menge | Eancode | Bezeichnung | MwSt | Preis PdfPTable table = new PdfPTable(new float[] { 1, 2, 3, 6, 1, 2 }); table.setWidthPercentage(100f); table.getDefaultCell().setPadding(5); table.setSpacingAfter(5f);/*from ww w .j a v a2s .c om*/ PdfPCell cell = new PdfPCell(); table.addCell(getStringCell(m_rb.getString("position"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("quantity"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("ean"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("article"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("vat"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_RIGHT, 1)); table.addCell(getStringCell(m_rb.getString("price") + " (CHF)", font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_RIGHT, 1)); if (m_shopping_basket.size() > 0 && !author.isEmpty()) { for (Map.Entry<String, Article> entry : m_shopping_basket.entrySet()) { Article article = entry.getValue(); if (article.getAuthor().trim().toLowerCase().contains(author)) { String price_pruned = ""; String total_price_CHF = ""; if (article.getCode() != null && article.getCode().equals("ibsa")) { float cr = article.getCashRebate(); if (article.getDraufgabe() > 0) { price_pruned = String.format("%.2f", article.getBuyingPrice(0.0f)); total_price_CHF = String.format("%.2f", article.getTotBuyingPrice(0.0f)); } else { price_pruned = String.format("%.2f", article.getBuyingPrice(cr)); total_price_CHF = String.format("%.2f", article.getTotBuyingPrice(cr)); } } else { price_pruned = article.getCleanExfactoryPrice(); total_price_CHF = String.format("%.2f", article.getTotExfactoryPrice()); } if (!price_pruned.isEmpty() && !price_pruned.equals("..")) { // Index table.addCell(getStringCell(Integer.toString(++position), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); // Anzahl table.addCell(getStringCell(Integer.toString(article.getQuantity()), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); // EAN code codeEAN.setCode(article.getEanCode()); Image img = codeEAN.createImageWithBarcode(cb, null, null); img.scalePercent(120); cell = new PdfPCell(img); cell.setBorder(Rectangle.NO_BORDER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setUseBorderPadding(true); cell.setBorderWidth(5); if (position == 1) cell.setPaddingTop(8); else cell.setPaddingTop(0); cell.setPaddingBottom(8); table.addCell(cell); // Artikelbezeichnung table.addCell(getStringCell(article.getPackTitle(), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); // MwSt table.addCell(getStringCell(String.format("%.1f%%", article.getVat()), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 1)); // Preis (exkl. MwSt) // float price_CHF = article.getQuantity()*Float.parseFloat(price_pruned); table.addCell(getStringCell(total_price_CHF, font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 1)); } } } subtotal_CHF = a.getSubtotal(); shipping_CHF = a.getShippingCosts(); vat25_CHF = a.getVat25(); vat80_CHF = a.getVat80() + a.getShippingCosts() * 0.08f; float fulltotal_CHF = subtotal_CHF + shipping_CHF + vat25_CHF + vat80_CHF; table.addCell(getStringCell(m_rb.getString("subtotal"), font_bold_10, Rectangle.TOP, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_bold_10, Rectangle.TOP, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", subtotal_CHF), font_bold_10, Rectangle.TOP, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("shipping"), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", shipping_CHF), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("vat") + " (2.5%)", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", vat25_CHF), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("vat") + " (8.0%)", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", vat80_CHF), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("gesamttotal"), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", fulltotal_CHF), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); } return table; }
From source file:com.maxl.java.amikodesk.SaveBasket.java
License:Open Source License
public PdfPTable getFullShoppingBasket(PdfContentByte cb, String mode) { int position = 0; float sub_total_CHF = 0.0f; BarcodeEAN codeEAN = new BarcodeEAN(); // Pos | Menge | Eancode | Bezeichnung | Preis PdfPTable table = new PdfPTable(new float[] { 1, 1, 3, 6, 2 }); table.setWidthPercentage(100f); table.getDefaultCell().setPadding(5); table.setSpacingAfter(5f);/*from w w w. j a v a2 s .c o m*/ PdfPCell cell = new PdfPCell(); table.addCell(getStringCell(m_rb.getString("position"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("quantity"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("ean"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("article"), font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(m_rb.getString("price") + " (CHF)", font_bold_10, Rectangle.TOP | Rectangle.BOTTOM, Element.ALIGN_RIGHT, 1)); if (m_shopping_basket.size() > 0) { for (Map.Entry<String, Article> entry : m_shopping_basket.entrySet()) { Article article = entry.getValue(); if (mode.equals("all") || (mode.equals("rest") && (m_map_of_authors == null || !anyElemIsContained(m_map_of_authors, article.getAuthor().trim().toLowerCase())))) { String price_pruned = ""; if (article.getCode() != null && article.getCode().equals("ibsa")) { float cr = article.getCashRebate(); if (article.getDraufgabe() > 0) price_pruned = String.format("%.2f", article.getBuyingPrice(0.0f)); else price_pruned = String.format("%.2f", article.getBuyingPrice(cr)); } else { price_pruned = article.getCleanExfactoryPrice(); } if (!price_pruned.isEmpty() && !price_pruned.equals("..")) { table.addCell(getStringCell(Integer.toString(++position), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); table.addCell(getStringCell(Integer.toString(article.getQuantity()), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); codeEAN.setCode(article.getEanCode()); Image img = codeEAN.createImageWithBarcode(cb, null, null); img.scalePercent(120); cell = new PdfPCell(img); cell.setBorder(Rectangle.NO_BORDER); cell.setVerticalAlignment(Element.ALIGN_MIDDLE); cell.setUseBorderPadding(true); cell.setBorderWidth(5); if (position == 1) cell.setPaddingTop(8); else cell.setPaddingTop(0); cell.setPaddingBottom(8); table.addCell(cell); table.addCell(getStringCell(article.getPackTitle(), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 1)); float price_CHF = article.getQuantity() * Float.parseFloat(price_pruned); sub_total_CHF += price_CHF; table.addCell(getStringCell(String.format("%.2f", price_CHF), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 1)); } } } table.addCell(getStringCell(m_rb.getString("subtotal"), font_bold_10, Rectangle.TOP, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_bold_10, Rectangle.TOP, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", sub_total_CHF), font_bold_10, Rectangle.TOP, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("vat") + " (2.5%)", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", sub_total_CHF * 0.025f), font_norm_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); table.addCell(getStringCell(m_rb.getString("gesamttotal"), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell("", font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_MIDDLE, 2)); table.addCell(getStringCell(String.format("%.2f", sub_total_CHF * 1.025f), font_bold_10, PdfPCell.NO_BORDER, Element.ALIGN_RIGHT, 2)); } return table; }