From 09e19d4defad238ecf28a5749a4ce64904fa76b0 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期三, 21 二月 2024 15:33:25 +0800
Subject: [PATCH] 修改

---
 core/src/main/java/com/zt/life/util/test.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 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
new file mode 100644
index 0000000..233c3c3
--- /dev/null
+++ b/core/src/main/java/com/zt/life/util/test.java
@@ -0,0 +1,72 @@
+package com.zt.life.util;
+
+import com.aspose.pdf.*;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class test {
+
+    static String path = "d:\\婧愭枃浠禱\";
+
+    public static void main(String[] args) {
+        try {
+            //鍒涘缓宸ヤ綔绨垮璞�
+            XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(path + "閰嶇疆.xlsx"));
+            //鑾峰彇宸ヤ綔绨夸笅sheet鐨勪釜鏁�
+            int sheetNum = xssfWorkbook.getNumberOfSheets();
+            //閬嶅巻宸ヤ綔绨夸腑鐨勬墍鏈夋暟鎹�
+            for (int i = 0; i < sheetNum; i++) {
+                //璇诲彇绗琲涓伐浣滆〃
+                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();
+                    String targetPath = sheet.getRow(1).getCell(1).toString();
+                    Document pdfDoc = new Document(srcPath);
+                    for (int row = 1; row <= maxRow; row++) {
+                        //鑾峰彇鏈�鍚庡崟鍏冩牸num锛屽嵆鎬诲崟鍏冩牸鏁� ***娉ㄦ剰锛氭澶勪粠1寮�濮嬭鏁�***
+                        // 婧愭枃浠惰矾寰�
+                        String srcPath2 = 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) {
+                            // 杈撳叆鏂囦欢璺緞
+                            targetPath = sheet.getRow(row).getCell(1).toString();
+                            pdfDoc = new Document(srcPath2);
+                        }
+
+                        String srcText = sheet.getRow(row).getCell(2).toString();
+                        String targetText = sheet.getRow(row).getCell(3).toString();
+                        String fontName = sheet.getRow(row).getCell(4).toString();
+
+                        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()) {
+                            textFragment.setText(targetText);
+                            textFragment.getTextState().setFont(FontRepository.findFont(fontName));
+                        }
+                        if (!srcPath2.equals(nextPath)) {
+                            pdfDoc.save(targetPath);
+                        }
+                    }
+                }
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

--
Gitblit v1.9.1