From 6a4e3a5c4c34fdef0accc93d8a077ab016d15250 Mon Sep 17 00:00:00 2001
From: zhaowenxuan <chacca165@163.com>
Date: 星期二, 15 七月 2025 18:01:23 +0800
Subject: [PATCH] pdf以及登记身份证人像处理

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java |   68 +++++++++++++++++++++++++++-------
 1 files changed, 54 insertions(+), 14 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
index d4f3bc1..bb465d7 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1847,6 +1847,44 @@
             acroFields.setField(key, hashMap.get(key));
         }
         pdfStamper.setFormFlattening(true);
+
+        String isOpenSfzImg = sysConfigService.selectConfigByKey("pdf_isOpenSfzImg");
+        String pathSfzfilePath = sysConfigService.selectConfigByKey("path_sfzfilePath");
+        if (StrUtil.isNotBlank(isOpenSfzImg) && isOpenSfzImg.equalsIgnoreCase("y")){
+            if (StrUtil.isNotBlank(pathSfzfilePath)){
+                String key = DataSourceContextHolder.getDataSourceKey();
+                key = key.replace("ltkjpeis10_","");
+                if (new File(pathSfzfilePath + File.separator + key + File.separator+customer.getCusId()+".png").exists()) {
+                    String pdfSfzimgwidth = sysConfigService.selectConfigByKey("pdf_sfzimgwidth");
+                    String pdfSfzimgheight = sysConfigService.selectConfigByKey("pdf_sfzimgheight");
+                    String pdfSfzimgy = sysConfigService.selectConfigByKey("pdf_sfzimgy");
+                    String pdfSfzimgx = sysConfigService.selectConfigByKey("pdf_sfzimgx");
+                    int width = 100,height = 100,x = 90,y = 180;
+                    if (StrUtil.isNotBlank(pdfSfzimgwidth)) {
+                        width = Integer.parseInt(pdfSfzimgwidth);
+                    }
+                    if (StrUtil.isNotBlank(pdfSfzimgheight)) {
+                        height = Integer.parseInt(pdfSfzimgheight);
+                    }
+                    if (StrUtil.isNotBlank(pdfSfzimgy)) {
+                        y = Integer.parseInt(pdfSfzimgy);
+                    }
+                    if (StrUtil.isNotBlank(pdfSfzimgx)) {
+                        x = Integer.parseInt(pdfSfzimgx);
+                    }
+                    Image image = Image.getInstance(pathSfzfilePath + File.separator + key + File.separator+customer.getCusId()+".png");
+                    // 璁剧疆鍥剧墖浣嶇疆鍜屽ぇ灏�
+                    // image.setAbsolutePosition(90, 190); // 琛ㄥ崟宸﹁竟
+                    // image.setAbsolutePosition(495, 742); // 鍙充笂瑙�
+                    // image.setAbsolutePosition(250, 50); // 涓笅
+                    image.setAbsolutePosition(x, y);
+                    image.scaleAbsolute(width, height); // 璁剧疆鍥剧墖瀹藉害鍜岄珮搴�
+                    PdfContentByte content = pdfStamper.getOverContent(1);
+                    content.addImage(image);
+                }
+            }
+        }
+
         pdfStamper.close();
         reader4.close();
         // 灏嗕慨鏀瑰悗鐨凱DF鍐呭鍐欏叆
@@ -2345,17 +2383,17 @@
                                 if (StrUtil.isNotBlank(value.get(0).getSj())) {
                                     pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
                                     document1.add(pp);
-                                    ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
+                                    ppp = new Paragraph(value.get(0).getSj().replaceAll("\n",""), remarkFonts);
                                     paragraph.setAlignment(Element.ALIGN_LEFT);
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                 }
-                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs());
-                                document1.add(pp);
-//                                ppp = new Paragraph(value.get(0).getTs(), remarkFonts);
-//                                paragraph.setAlignment(Element.ALIGN_LEFT);
-//                                paragraph.setLeading(5f);
-//                                document1.add(ppp);
+//                                pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細"+value.get(0).getTs().replaceAll("\n",""));
+//                                document1.add(pp);
+                                ppp = new Paragraph("妫�鏌ユ彁绀猴細"+value.get(0).getTs().replaceAll("\n",""), remarkFonts);
+                                paragraph.setAlignment(Element.ALIGN_LEFT);
+                                paragraph.setLeading(5f);
+                                document1.add(ppp);
                             } else {
                                 if (value.get(0).getPid().equals("1862852701533012001")) {
                                     remarkFonts = PdfUtils.setFont(DEFAULT_FONT_SIZE);
@@ -2536,7 +2574,7 @@
                                     if (StrUtil.isNotBlank(value.get(0).getSj())) {
                                         pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
                                         document1.add(pp);
-                                        ppp = new Paragraph(value.get(0).getSj(), remarkFonts);
+                                        ppp = new Paragraph(value.get(0).getSj().replaceAll("\n",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2545,7 +2583,8 @@
                                     if (StrUtil.isNotBlank(value.get(0).getSj()) || StrUtil.isNotBlank(value.get(0).getProResult())) {
                                         pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ墍瑙侊細");
                                         document1.add(pp);
-                                        ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj() : value.get(0).getProResult(), remarkFonts);
+                                        ppp = new Paragraph(value.get(0).getSj() != null ? value.get(0).getSj().replaceAll("\n","")
+                                                : value.get(0).getProResult().replaceAll("\n",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -2555,7 +2594,8 @@
 //                                document1.add(pp);
                                 pp = PdfUtils.setParagraph(remarkFonts, "妫�鏌ユ彁绀猴細");
                                 document1.add(pp);
-                                ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs() : value.get(0).getProResult()), remarkFonts);
+                                ppp = new Paragraph((value.get(0).getTs() != null ? value.get(0).getTs().replaceAll("\n","")
+                                        : value.get(0).getProResult().replaceAll("\n","")), remarkFonts);
                                 paragraph.setAlignment(Element.ALIGN_LEFT);
                                 paragraph.setLeading(5f);
                                 document1.add(ppp);
@@ -2596,7 +2636,7 @@
                                     paragraph.setLeading(5f);
                                     document1.add(ppp);
                                     if (StrUtil.isNotBlank(entry.getKey().getRemark())) {
-                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null",""), remarkFonts);
+                                        ppp = new Paragraph("缁撹锛�" + entry.getKey().getRemark().replaceAll("null","").replaceAll("\n",""), remarkFonts);
                                         paragraph.setAlignment(Element.ALIGN_LEFT);
                                         paragraph.setLeading(5f);
                                         document1.add(ppp);
@@ -3229,7 +3269,7 @@
                         TjProject tjProjectq = projectService.getById(tjOrderDetail.getProject().getProParentId());
                         TjPdfVO tjPdfVO = new TjPdfVO();
                         tjPdfVO.setProName(tjOrderDetail.getProject().getProName());
-                        tjPdfVO.setProResult(tjOrderDetail.getProResult());
+                        tjPdfVO.setProResult(tjOrderDetail.getProResult()==null ? null : tjOrderDetail.getProResult().replaceAll("\n","").replaceAll(" ",""));
                         tjPdfVO.setExc(tjOrderDetail.getExceptionDesc());
                         if (null != tjProject.getProMetering()) {
                             tjPdfVO.setCompany(tjProject.getProMetering());
@@ -3254,8 +3294,8 @@
                                 if(StringUtil.isNotBlank(yxbx)) yxbx = yxbx.replaceAll(regex, "\n$0");
                                 if(StringUtil.isBlank(bgNr)) bgNr = "";
                                 if(StringUtil.isBlank(yxbx)) yxbx = "";
-                                tjPdfVO.setTs(yxbx);
-                                tjPdfVO.setSj(bgNr);
+                                tjPdfVO.setTs(yxbx.replaceAll("\n","").replaceAll(" ",""));
+                                tjPdfVO.setSj(bgNr.replaceAll("\n","").replaceAll(" ",""));
                                 tjPdfVO.setShys(jcbgd.getShysxm());
                                 tjPdfVO.setProName(jcbgd.getXmmc());
                                 ids += "|" + jcbgd.getXmdm();

--
Gitblit v1.8.0