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