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