From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 23 二月 2024 12:19:55 +0800
Subject: [PATCH] 修改

---
 core/src/main/java/com/zt/life/util/test.java |   39 ++++++++++++++++++++++++++++-----------
 1 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/core/src/main/java/com/zt/life/util/test.java b/core/src/main/java/com/zt/life/util/test.java
index 233c3c3..67afa41 100644
--- a/core/src/main/java/com/zt/life/util/test.java
+++ b/core/src/main/java/com/zt/life/util/test.java
@@ -19,10 +19,12 @@
             int sheetNum = xssfWorkbook.getNumberOfSheets();
             //閬嶅巻宸ヤ綔绨夸腑鐨勬墍鏈夋暟鎹�
             for (int i = 0; i < sheetNum; i++) {
+                if (i>1) break;
                 //璇诲彇绗琲涓伐浣滆〃
                 System.out.println("璇诲彇绗�" + (i + 1) + "涓猻heet");
                 XSSFSheet sheet = xssfWorkbook.getSheetAt(i);
                 //鑾峰彇鏈�鍚庝竴琛岀殑num锛屽嵆鎬昏鏁般�傛澶勪粠0寮�濮�
+
                 int maxRow = sheet.getLastRowNum();
                 if (sheet.getRow(1) != null && sheet.getRow(1).getCell(0) != null) {
                     String srcPath = sheet.getRow(1).getCell(0).toString();
@@ -31,36 +33,51 @@
                     for (int row = 1; row <= maxRow; row++) {
                         //鑾峰彇鏈�鍚庡崟鍏冩牸num锛屽嵆鎬诲崟鍏冩牸鏁� ***娉ㄦ剰锛氭澶勪粠1寮�濮嬭鏁�***
                         // 婧愭枃浠惰矾寰�
-                        String srcPath2 = sheet.getRow(row).getCell(0).toString();
+                        srcPath = sheet.getRow(row).getCell(0).toString();
                         String beforePath = sheet.getRow(row - 1).getCell(0).toString();
                         String nextPath = null;
                         if (sheet.getRow(row + 1) != null && sheet.getRow(row + 1).getCell(0) != null) {
                             nextPath = sheet.getRow(row + 1).getCell(0).toString();
                         }
-
-
-                        if (!beforePath.equals(srcPath2) && row - 1 != 0) {
+                        if (!beforePath.equals(srcPath) && row != 1) {
                             // 杈撳叆鏂囦欢璺緞
                             targetPath = sheet.getRow(row).getCell(1).toString();
-                            pdfDoc = new Document(srcPath2);
+                            System.out.println(srcPath);
+                            pdfDoc = new Document(srcPath);
                         }
 
+                        if (srcPath.contains("sb2020-10.pdf")){
+                            System.out.println(111);
+                        }
                         String srcText = sheet.getRow(row).getCell(2).toString();
                         String targetText = sheet.getRow(row).getCell(3).toString();
                         String fontName = sheet.getRow(row).getCell(4).toString();
-
+                        float displacement = (float)sheet.getRow(row).getCell(5).getNumericCellValue();
+                        // 璋冩暣 X 鍧愭爣
+                        if (srcText.equals("1,196.72")){
+                            System.out.println(222);
+                        }
                         TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(srcText);
                         PageCollection pages = pdfDoc.getPages();
                         pages.accept(textFragmentAbsorber);
-                        if (srcText.equals("1300.89")){
-                            System.out.println(111);
-                        }
+
                         for (TextFragment textFragment : textFragmentAbsorber.getTextFragments()) {
+    /*                        // 璁$畻鏇挎崲鍓嶅悗鏂囨湰闀垮害宸紓
+                            int lengthDifference = targetText.length() - srcText.length();
+                            // 濡傛灉宸紓涓烘鏁帮紝鍒欓渶瑕佸悜宸︾Щ鍔� X 鍧愭爣
+                            if (lengthDifference > 0) {
+                                // 璁$畻浣嶇Щ閲忥紝鏍规嵁闇�姹傝嚜琛岃皟鏁�
+                                float displacement = lengthDifference * 3;
+                                // 璋冩暣 X 鍧愭爣
+                                textFragment.setPosition(new Position(textFragment.getPosition().getXIndent() - displacement, textFragment.getPosition().getYIndent()));
+                            }*/
+                            textFragment.setPosition(new Position(textFragment.getPosition().getXIndent() - displacement, textFragment.getPosition().getYIndent()));
                             textFragment.setText(targetText);
                             textFragment.getTextState().setFont(FontRepository.findFont(fontName));
                         }
-                        if (!srcPath2.equals(nextPath)) {
+                        if (!srcPath.equals(nextPath)) {
                             pdfDoc.save(targetPath);
+                            try { Thread.sleep(50); } catch (InterruptedException e) { e.printStackTrace(); }
                         }
                     }
                 }
@@ -69,4 +86,4 @@
             e.printStackTrace();
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.1