fix: remove blank pages not handling EXIT_FAILURE code properly
This commit is contained in:
parent
b59651a0fb
commit
06ef09035d
3 changed files with 18 additions and 12 deletions
|
@ -33,7 +33,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import stirling.software.SPDF.model.api.misc.RemoveBlankPagesRequest;
|
import stirling.software.SPDF.model.api.misc.RemoveBlankPagesRequest;
|
||||||
import stirling.software.SPDF.utils.PdfUtils;
|
import stirling.software.SPDF.utils.PdfUtils;
|
||||||
import stirling.software.SPDF.utils.ProcessExecutor;
|
import stirling.software.SPDF.utils.ProcessExecutor;
|
||||||
import stirling.software.SPDF.utils.ProcessExecutor.ProcessExecutorResult;
|
|
||||||
import stirling.software.SPDF.utils.WebResponseUtils;
|
import stirling.software.SPDF.utils.WebResponseUtils;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
|
@ -85,7 +84,7 @@ public class BlankPageController {
|
||||||
List<String> command =
|
List<String> command =
|
||||||
new ArrayList<>(
|
new ArrayList<>(
|
||||||
Arrays.asList(
|
Arrays.asList(
|
||||||
"python3",
|
"python",
|
||||||
System.getProperty("user.dir")
|
System.getProperty("user.dir")
|
||||||
+ "/scripts/detect-blank-pages.py",
|
+ "/scripts/detect-blank-pages.py",
|
||||||
tempFile.toString(),
|
tempFile.toString(),
|
||||||
|
@ -94,18 +93,25 @@ public class BlankPageController {
|
||||||
"--white_percent",
|
"--white_percent",
|
||||||
String.valueOf(whitePercent)));
|
String.valueOf(whitePercent)));
|
||||||
|
|
||||||
|
Boolean blank = false;
|
||||||
// Run CLI command
|
// Run CLI command
|
||||||
ProcessExecutorResult returnCode =
|
try {
|
||||||
ProcessExecutor.getInstance(ProcessExecutor.Processes.PYTHON_OPENCV)
|
ProcessExecutor.getInstance(ProcessExecutor.Processes.PYTHON_OPENCV)
|
||||||
.runCommandWithOutputHandling(command);
|
.runCommandWithOutputHandling(command);
|
||||||
|
} catch (IOException e) {
|
||||||
|
// From detect-blank-pages.py
|
||||||
|
// Return code 1: The image is considered blank.
|
||||||
|
// Return code 0: The image is not considered blank.
|
||||||
|
// Since the process returned with a failure code, it should be blank.
|
||||||
|
blank = true;
|
||||||
|
}
|
||||||
|
|
||||||
// does contain data
|
if (blank) {
|
||||||
if (returnCode.getRc() == 0) {
|
System.out.println("Skipping, Image was blank for page #" + pageIndex);
|
||||||
|
} else {
|
||||||
System.out.println(
|
System.out.println(
|
||||||
"page " + pageIndex + " has image which is not blank");
|
"page " + pageIndex + " has image which is not blank");
|
||||||
pagesToKeepIndex.add(pageIndex);
|
pagesToKeepIndex.add(pageIndex);
|
||||||
} else {
|
|
||||||
System.out.println("Skipping, Image was blank for page #" + pageIndex);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue