From 14ecea8537d5b29ca64c75aad4ff49265018415d Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期三, 02 七月 2025 08:51:22 +0800
Subject: [PATCH] zjh20250702

---
 ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java |  123 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 116 insertions(+), 7 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java b/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
index 1922b8f..eb2050c 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/config/pdfutils/PdfUtils.java
@@ -56,7 +56,7 @@
             fontName = fontName + ",0";
         }
         String font = FONT_PATH + fontName;
-        log.info("瀛椾綋璺緞 -> {}",font);
+//        log.info("瀛椾綋璺緞 -> {}",font);
         return BaseFont.createFont(font, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
     }
 
@@ -111,7 +111,7 @@
             return font;
         } catch (Exception e) {
             e.printStackTrace();
-            throw new RuntimeException("璁剧疆瀛椾綋澶辫触锛�");
+            throw new RuntimeException("璁剧疆瀛椾綋澶辫触锛�"+FONT_PATH);
         }
     }
 
@@ -168,7 +168,7 @@
      * @param list
      * @return
      */
-    public static PdfPTable setTable(Font headFont, Font textFont, String[] title, List<TjPdfVO> list) {
+    public static PdfPTable setTable(Font headFont, Font textFont, String[] title, List<TjPdfVO> list,boolean flag) {
         //鍥涘垪
         PdfPTable table = createTable(new float[]{120, 120, 120});
         //鐢绘爣棰�
@@ -181,6 +181,47 @@
             table.addCell(createCell(tjPdfVO.getProResult(), textFont));
             table.addCell(createCell(tjPdfVO.getCompany(), textFont));
 //            table.addCell(createCell(tjPdfVO.getStandardValue(), textFont));
+            if ((tjPdfVO.getSj() != null || tjPdfVO.getTs() != null) && flag){
+                PdfPCell cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("妫�鏌ユ墍瑙侊細", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getSj(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("缁撹锛�", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getTs(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+            }
         }
         return table;
     }
@@ -220,9 +261,10 @@
      * @param list
      * @return
      */
-    public static PdfPTable setTable2(Font headFont, Font textFont, String[] title, List<TjPdfVO> list) {
+    public static PdfPTable setTable2(Font headFont, Font textFont, String[] title, List<TjPdfVO> list,boolean flag,float[] titleWidth) {
         //鍥涘垪
-        PdfPTable table = createTable(new float[]{240, 240,240});
+        PdfPTable table = createTable(titleWidth);
+//        PdfPTable table = createTable(new float[]{240, 240,240});
         //鐢绘爣棰�
         for (String head : title) {
             table.addCell(createCell(head, headFont));
@@ -232,12 +274,53 @@
             table.addCell(createCell(tjPdfVO.getProName(), textFont));
             table.addCell(createCell(tjPdfVO.getProResult(), textFont));
             table.addCell(createCell(tjPdfVO.getCompany(), textFont));
+            if ((tjPdfVO.getSj() != null || tjPdfVO.getTs() != null) && flag){
+                PdfPCell cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("妫�鏌ユ墍瑙侊細", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getSj(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase("缁撹锛�", textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+
+                cell = new PdfPCell();
+                // 姘村钩銆佸瀭鐩村眳涓�
+                cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+                cell.setHorizontalAlignment(Element.ALIGN_LEFT);
+                cell.setPhrase(new Phrase(tjPdfVO.getTs(), textFont));
+                // 璁剧疆鏃犺竟妗�
+                cell.setBorder(Rectangle.NO_BORDER);
+                cell.setColspan(3);
+                table.addCell(cell);
+            }
         }
         return table;
     }
 
 
-    private static PdfPTable createTable(float[] widths) {
+    public static PdfPTable createTable(float[] widths) {
         PdfPTable table = new PdfPTable(widths);
         try {
             // 璁剧疆琛ㄦ牸澶у皬
@@ -262,7 +345,7 @@
         return table;
     }
 
-    private static PdfPCell createCell(String value, Font font) {
+    public static PdfPCell createCell(String value, Font font) {
         PdfPCell cell = new PdfPCell();
         // 姘村钩銆佸瀭鐩村眳涓�
         cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
@@ -277,4 +360,30 @@
 
         return cell;
     }
+
+    /**
+     *
+     * @param value
+     * @param font
+     * @param boder Rectangle绫荤殑鏋氫妇
+     * @param txtAlign Element绫荤殑鏋氫妇
+     * @return
+     */
+    public static PdfPCell createCell(String value, Font font,int boder,int txtAlign,Float paddingTop,Float paddingBottom) {
+        PdfPCell cell = new PdfPCell();
+        // 姘村钩銆佸瀭鐩村眳涓�
+        cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
+        cell.setHorizontalAlignment(txtAlign);
+        cell.setPhrase(new Phrase(value, font));
+        if (paddingTop != null)
+            cell.setPaddingTop(paddingTop);
+        if (paddingBottom != null)
+            cell.setPaddingBottom(paddingBottom);
+        // 璁剧疆鏃犺竟妗�
+        cell.setBorder(boder);
+        // 璁剧疆楂樺害
+        //cell.setFixedHeight(20);
+
+        return cell;
+    }
 }

--
Gitblit v1.8.0