Subversion Repositories SmartDukaan

Rev

Rev 25462 | Rev 25465 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 25462 Rev 25463
Line 65... Line 65...
65
 
65
 
66
	private static final Locale indianLocale = Locale.getDefault();
66
	private static final Locale indianLocale = Locale.getDefault();
67
 
67
 
68
	private static final Logger LOGGER = LogManager.getLogger(PdfUtils.class);
68
	private static final Logger LOGGER = LogManager.getLogger(PdfUtils.class);
69
 
69
 
-
 
70
	private static final URL iconUrl = PdfUtils.class.getClassLoader().getResource("sdicon.png");
-
 
71
	private static Image iconImg = null;
-
 
72
	static {
-
 
73
		try {
-
 
74
			iconImg = Image.getInstance(iconUrl);
-
 
75
			iconImg.setAbsolutePosition(30, 30);
-
 
76
		} catch (Exception e) {
-
 
77
			e.printStackTrace();
-
 
78
		}
-
 
79
	}
-
 
80
 
70
	public static void generateAndWrite(List<PdfModel> pdfModels, ByteArrayOutputStream outputStream) {
81
	public static void generateAndWrite(List<PdfModel> pdfModels, ByteArrayOutputStream outputStream) {
71
		try {
82
		try {
72
			List<Integer> caneclledPageList = new ArrayList<>();
83
			List<Integer> caneclledPageList = new ArrayList<>();
73
			Document document = new Document();
84
			Document document = new Document();
74
			document.setMargins(0, 0, 25, 0);
85
			document.setMargins(0, 0, 25, 0);
Line 102... Line 113...
102
				columnCustomerInfo.addElement(new Paragraph("Customer Details", FONT_BOLD));
113
				columnCustomerInfo.addElement(new Paragraph("Customer Details", FONT_BOLD));
103
				columnCustomerInfo.addElement(new Paragraph(
114
				columnCustomerInfo.addElement(new Paragraph(
104
						StringUtils.capitalize(customer.getFirstName() + " " + customer.getLastName()), FONT_NORMAL));
115
						StringUtils.capitalize(customer.getFirstName() + " " + customer.getLastName()), FONT_NORMAL));
105
				columnCustomerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1())
116
				columnCustomerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getLine1())
106
						+ ", " + StringUtils.capitalize(customer.getAddress().getLine2()), FONT_NORMAL));
117
						+ ", " + StringUtils.capitalize(customer.getAddress().getLine2()), FONT_NORMAL));
107
				columnCustomerInfo.addElement(new Paragraph(
-
 
108
						StringUtils.capitalize(customer.getAddress().getCity()) + ", "
118
				columnCustomerInfo.addElement(new Paragraph(StringUtils.capitalize(customer.getAddress().getCity())
109
								+ StringUtils.capitalize(customer.getAddress().getState()) + "("
119
						+ ", " + StringUtils.capitalize(customer.getAddress().getState()) + "("
110
								+ pdfModel.getCustomerAddressStateCode() + ")" + "\n" + customer.getAddress().getPinCode(),
120
						+ pdfModel.getCustomerAddressStateCode() + ")" + "\n" + customer.getAddress().getPinCode(),
111
						FONT_NORMAL));
121
						FONT_NORMAL));
112
				columnCustomerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
122
				columnCustomerInfo.addElement(new Paragraph("Mobile - " + customer.getMobileNumber(), FONT_NORMAL));
113
				if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
123
				if (customer.getGstNumber() != null && !customer.getGstNumber().isEmpty()) {
114
					columnCustomerInfo
124
					columnCustomerInfo
115
							.addElement(new Paragraph("GST Number - " + customer.getGstNumber(), FONT_NORMAL));
125
							.addElement(new Paragraph("GST Number - " + customer.getGstNumber(), FONT_NORMAL));
Line 120... Line 130...
120
						.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_BOLD));
130
						.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getName()), FONT_BOLD));
121
				columnRetailerInfo.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getLine1())
131
				columnRetailerInfo.addElement(new Paragraph(StringUtils.capitalize(retailer.getAddress().getLine1())
122
						+ ", " + StringUtils.capitalize(retailer.getAddress().getLine2()) + ", "
132
						+ ", " + StringUtils.capitalize(retailer.getAddress().getLine2()) + ", "
123
						+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
133
						+ StringUtils.capitalize(retailer.getAddress().getCity()) + "-"
124
						+ retailer.getAddress().getPinCode() + ", " + retailer.getAddress().getState() + "("
134
						+ retailer.getAddress().getPinCode() + ", " + retailer.getAddress().getState() + "("
125
						+ (stateGst ? pdfModel.getCustomerAddressStateCode() : pdfModel.getPartnerAddressStateCode()) + ")", FONT_BOLD));
135
						+ (stateGst ? pdfModel.getCustomerAddressStateCode() : pdfModel.getPartnerAddressStateCode())
-
 
136
						+ ")", FONT_BOLD));
126
				columnRetailerInfo
137
				columnRetailerInfo
127
						.addElement(new Paragraph("Contact No.- " + retailer.getAddress().getPhoneNumber(), FONT_BOLD));
138
						.addElement(new Paragraph("Contact No.- " + retailer.getAddress().getPhoneNumber(), FONT_BOLD));
128
				columnRetailerInfo.addElement(new Paragraph("GST NO. " + retailer.getGstNumber(), FONT_BOLD));
139
				columnRetailerInfo.addElement(new Paragraph("GST NO. " + retailer.getGstNumber(), FONT_BOLD));
129
				columnRetailerInfo.setBorder(Rectangle.NO_BORDER);
140
				columnRetailerInfo.setBorder(Rectangle.NO_BORDER);
130
 
141
 
Line 247... Line 258...
247
						cgstTotalAmount = cgstTotalAmount + insurancePolicy.getCgstAmount();
258
						cgstTotalAmount = cgstTotalAmount + insurancePolicy.getCgstAmount();
248
						sgstTotalAmount = sgstTotalAmount + insurancePolicy.getSgstAmount();
259
						sgstTotalAmount = sgstTotalAmount + insurancePolicy.getSgstAmount();
249
					}
260
					}
250
					orders.addCell(new Paragraph(String.format("%.0f", insurancePolicy.getNetAmount()), FONT_NORMAL));
261
					orders.addCell(new Paragraph(String.format("%.0f", insurancePolicy.getNetAmount()), FONT_NORMAL));
251
				}
262
				}
252
 
-
 
-
 
263
				document.add(iconImg);
253
				document.add(paragraphTitle);
264
				document.add(paragraphTitle);
254
				document.add(Chunk.NEWLINE);
265
				document.add(Chunk.NEWLINE);
255
				document.add(Chunk.NEWLINE);
266
				document.add(Chunk.NEWLINE);
256
				document.add(tableCustomerRetailer);
267
				document.add(tableCustomerRetailer);
257
 
268
 
Line 352... Line 363...
352
			e.printStackTrace();
363
			e.printStackTrace();
353
		}
364
		}
354
 
365
 
355
	}
366
	}
356
 
367
 
357
	private static void stampCancelled(ByteArrayOutputStream byteStream, List<Integer> cancelledPage) throws IOException, DocumentException {
368
	private static void stampCancelled(ByteArrayOutputStream byteStream, List<Integer> cancelledPage)
-
 
369
			throws IOException, DocumentException {
358
		ByteArrayInputStream bais = new ByteArrayInputStream(byteStream.toByteArray());
370
		ByteArrayInputStream bais = new ByteArrayInputStream(byteStream.toByteArray());
359
		PdfReader pdfReader = new PdfReader(bais);
371
		PdfReader pdfReader = new PdfReader(bais);
360
		int n = pdfReader.getNumberOfPages();
372
		int n = pdfReader.getNumberOfPages();
361
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
373
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
362
		PdfStamper pdfStamper = new PdfStamper(pdfReader, baos);
374
		PdfStamper pdfStamper = new PdfStamper(pdfReader, baos);
Line 373... Line 385...
373
		float wWaterMark = imgWatermark.getScaledWidth() / 2;
385
		float wWaterMark = imgWatermark.getScaledWidth() / 2;
374
		float hWatermark = imgWatermark.getScaledHeight() / 2;
386
		float hWatermark = imgWatermark.getScaledHeight() / 2;
375
		// transparency
387
		// transparency
376
		PdfGState gs1 = new PdfGState();
388
		PdfGState gs1 = new PdfGState();
377
		gs1.setFillOpacity(0.5f);
389
		gs1.setFillOpacity(0.5f);
-
 
390
		PdfGState gs2 = new PdfGState();
-
 
391
		gs2.setFillOpacity(0.3f);
378
		// properties
392
		// properties
379
		PdfContentByte over;
393
		PdfContentByte over;
380
		Rectangle pagesize;
394
		Rectangle pagesize;
381
		float x, y;
395
		float x, y;
382
 
396
 
Line 395... Line 409...
395
				pagesize = pdfReader.getPageSize(i);
409
				pagesize = pdfReader.getPageSize(i);
396
				x = (pagesize.getLeft() + pagesize.getRight()) / 2;
410
				x = (pagesize.getLeft() + pagesize.getRight()) / 2;
397
				y = (pagesize.getTop() + pagesize.getBottom()) / 2;
411
				y = (pagesize.getTop() + pagesize.getBottom()) / 2;
398
				over = pdfStamper.getOverContent(i);
412
				over = pdfStamper.getOverContent(i);
399
				over.saveState();
413
				over.saveState();
400
				over.setGState(gs1);
414
				over.setGState(gs2);
-
 
415
				over.addImage(imgWatermark, wWaterMark, 0, 0, hWatermark, x - (wWaterMark / 2), y - (hWatermark / 2));
-
 
416
				over.restoreState();
-
 
417
				x = (pagesize.getLeft() + pagesize.getRight()) / 2;
-
 
418
				y = (pagesize.getTop() + pagesize.getBottom()) / 2;
-
 
419
				over = pdfStamper.getOverContent(i);
-
 
420
				over.saveState();
-
 
421
				over.setGState(gs2);
401
				over.addImage(imgWatermark, wWaterMark, 0, 0, hWatermark, x - (wWaterMark / 2), y - (hWatermark / 2));
422
				over.addImage(imgWatermark, wWaterMark, 0, 0, hWatermark, x - (wWaterMark / 2), y - (hWatermark / 2));
402
				over.restoreState();
423
				over.restoreState();
403
			}
424
			}
404
		}
425
		}
405
		pdfStamper.close();
426
		pdfStamper.close();