| 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();
|