Explorar o código

修改从pdf中获取电签id时出现索引越界的问题

lvy hai 1 mes
pai
achega
a01f53a694

+ 2 - 2
blade-service/blade-business/src/main/java/org/springblade/business/utils/PDFUtil.java

@@ -105,7 +105,7 @@ public class PDFUtil {
             for(int k=0;k<lines.length;k++){
                 String textStr = lines[k];
                 int index = textStr.indexOf("*");
-                if(index>=0 && textStr.charAt(index+1) != '✹'){
+                if(index>=0 && textStr.lastIndexOf("*")+1 < textStr.length() && textStr.charAt(index+1) != '✹'){
                     textStr = textStr.substring(textStr.lastIndexOf("*")+1,textStr.length());
                 }
 
@@ -140,7 +140,7 @@ public class PDFUtil {
                         eVisaConfigList.add(txt);
                     }
                 }
-                if (textStr.contains("✹")) {
+                if (textStr.contains("✹") && textStr.indexOf("✹") + 1 < textStr.length()) {
                     String textString = textStr.substring(textStr.indexOf("✹") + 1);
                     if (textString.contains("||✹")) {
                         String[] textS1 = Func.toStrArray("\\|\\|✹",textString);

+ 4 - 4
blade-service/blade-e-visa/src/main/java/org/springblade/evisa/utils/PDFUtils.java

@@ -33,7 +33,7 @@ public class PDFUtils {
             for(int k=0;k<lines.length;k++){
                 String textStr = lines[k];
                 int index = textStr.indexOf("*");
-                if(index>=0 && textStr.charAt(index+1) != '✹'){
+                if(index>=0 && textStr.lastIndexOf("*")+1 < textStr.length() && textStr.charAt(index+1) != '✹'){
                     textStr = textStr.substring(textStr.lastIndexOf("*")+1,textStr.length());
                 }
 
@@ -74,7 +74,7 @@ public class PDFUtils {
                         eVisaConfigList.add(txt);
                     }
                 }
-                if (textStr.contains("✹")) {
+                if (textStr.contains("✹") && textStr.indexOf("✹") + 1 < textStr.length()) {
                     String textString = textStr.substring(textStr.indexOf("✹") + 1);
                     if (textString.contains("||✹")) {
                         String[] textS1 = Func.toStrArray("\\|\\|✹",textString);
@@ -137,7 +137,7 @@ public class PDFUtils {
             for(int k=0;k<lines.length;k++){
                 String textStr = lines[k];
                 int index = textStr.indexOf("*");
-                if(index>=0 && textStr.charAt(index+1) != '✹'){
+                if(index>=0 && textStr.lastIndexOf("*")+1 < textStr.length() && textStr.charAt(index+1) != '✹'){
                     textStr = textStr.substring(textStr.lastIndexOf("*")+1,textStr.length());
                 }
 
@@ -172,7 +172,7 @@ public class PDFUtils {
                         eVisaConfigList.add(txt);
                     }
                 }
-                if (textStr.contains("✹")) {
+                if (textStr.contains("✹") && textStr.indexOf("✹") + 1 < textStr.length()) {
                     String textString = textStr.substring(textStr.indexOf("✹") + 1);
                     if (textString.contains("||✹")) {
                         String[] textS1 = Func.toStrArray("\\|\\|✹",textString);