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