@ -205,8 +205,12 @@ public class Worker {
@@ -205,8 +205,12 @@ public class Worker {
var project = docTable . getProject ( resolvedPath ) . orElseGet ( ( ) - > docTable . createProject ( resolvedPath ) ) ;
int rotation = this . rotationAngle ;
File targetFile = prepareProject ( project ) ;
File jpeg = new File ( targetFile + ".jpg" ) ;
File pdf = new File ( targetFile + ".pdf" ) ;
if ( ! JPG . equals ( type ) & & overwriteAbort ( pdf ) ) return ; // if PDF conversion is sheduled: avoid overwriting pdf
if ( overwriteAbort ( jpeg ) ) return ;
var type = getType ( ) ;
var page = project . addPage ( new File ( targetFile + ".jpg" ) ) ;
var page = project . addPage ( jpeg ) ;
scanJpeg ( targetFile , project ) ;
improveJpeg ( targetFile , project , rotation ) ;
@ -232,6 +236,12 @@ public class Worker {
@@ -232,6 +236,12 @@ public class Worker {
preview ( page ) ;
}
private boolean overwriteAbort ( File targetFile ) {
if ( ! targetFile . exists ( ) ) return false ;
var answer = JOptionPane . showConfirmDialog ( mainFrame , t ( "File \"{}\" does already exist and would be overwritten. Continue?" , targetFile ) , t ( "Overwrite file" ) , JOptionPane . YES_NO_OPTION ) ;
return answer ! = JOptionPane . YES_OPTION ;
}
private void performTextRecognition ( File targetFile , Project project ) {
String pdf = targetFile . getName ( ) + ".tmp.pdf" ;
String ocr = targetFile . getName ( ) + ".pdf" ;
@ -546,8 +556,8 @@ public class Worker {
@@ -546,8 +556,8 @@ public class Worker {
cmd . add ( "output" ) ;
var pageReplace = removePageOnStitching ? "" : firstPage + "…" + lastPage ;
File joinedPDF = new File ( project . pattern ( ) . replace ( "[" + PAGE + "]" , pageReplace ) . trim ( ) + ".pdf" ) ;
String target = joinedPDF . getName ( ) ;
cmd . add ( target ) ;
cmd . add ( joinedPDF . getName ( ) ) ;
if ( overwriteAbort ( joinedPDF ) ) return ;
LOG . debug ( "executing {}" , cmd ) ;
var builder = new ProcessBuilder ( cmd ) ;