Skip to content

Commit

Permalink
removed automated filtering, added all remaining options to scanproce…
Browse files Browse the repository at this point in the history
…ssing. updated pdfbox due to security vulnerabilities
  • Loading branch information
kamil-sita committed Jul 6, 2019
1 parent b5dfa44 commit 5fd2b6e
Show file tree
Hide file tree
Showing 18 changed files with 224 additions and 339 deletions.
4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@

<groupId>pl.ksitarski.xis</groupId>
<artifactId>XIS</artifactId>
<version>0.3.2</version>
<version>0.4.0</version>

<dependencies>
<!-- pdfbox for opening pdfs-->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.12</version>
<version>2.0.16</version>
</dependency>

<!-- local dependency for kmeans-->
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/XIS/main/mainView.fxml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
<TilePane fx:id="tilePane" maxWidth="200.0" minWidth="0.0" prefHeight="574.0" prefWidth="232.0" styleClass="tile-pane">
<children>
<Button mnemonicParsing="false" onAction="#mainPress" prefHeight="42.0" prefWidth="200.0" text="About" />
<Button mnemonicParsing="false" onAction="#imageCopyFinderPress" prefHeight="42.0" prefWidth="200.0" text="[Buggy] Image copy finder" />
<Button mnemonicParsing="false" onAction="#scanProcessingPress" prefHeight="42.0" prefWidth="200.0" text="[WIP] Scan processing" />
<Button mnemonicParsing="false" onAction="#imageCompressionPress" prefHeight="42.0" prefWidth="200.0" text="[WIP] Image compression" />
<Button mnemonicParsing="false" onAction="#imageCopyFinderPress" prefHeight="42.0" prefWidth="200.0" text="Image copy finder" />
<Button mnemonicParsing="false" onAction="#scanProcessingPress" prefHeight="42.0" prefWidth="200.0" text="Scan processing" />
<Button mnemonicParsing="false" onAction="#imageCompressionPress" prefHeight="42.0" prefWidth="200.0" text="[Concept] Image compression" />
</children>
</TilePane>
<GridPane prefHeight="523.0" prefWidth="644.0" GridPane.columnIndex="1">
Expand Down

This file was deleted.

This file was deleted.

35 changes: 0 additions & 35 deletions src/main/java/XIS/sections/automatedfilter/PdfFilter.java

This file was deleted.

19 changes: 0 additions & 19 deletions src/main/java/XIS/sections/automatedfilter/automatedFilter.fxml

This file was deleted.

40 changes: 37 additions & 3 deletions src/main/java/XIS/sections/scanprocessing/FilterCaller.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import XIS.sections.Interruptible;
import XIS.sections.SingleJobManager;
import XIS.sections.automatedfilter.PdfFilter;
import XIS.toolset.JavaFXTools;
import XIS.toolset.io.PdfIO;
import XIS.toolset.scanfilters.Filter;
import javafx.application.Platform;
import javafx.scene.image.ImageView;
Expand Down Expand Up @@ -34,13 +34,16 @@ public Runnable onUninterruptedFinish() {
getUserFeedback().reportProgress("Converted image!");

Platform.runLater(() -> setPreview.set(output));
JavaFXTools.showPreview(output, imageView, setPreview, getUserFeedback());
};
}
});
}




public static void multipleImages(File input, File output,
int dpi,
Filter filter,
final JavaFXTools.SetImageDelegate imageOutput) {
SingleJobManager.setAndRunJob(new Interruptible() {
Expand All @@ -49,7 +52,7 @@ public Runnable getRunnable() {
return () -> {
Platform.runLater(() -> getUserFeedback().popup("Popup will show up once PDF is filtered"));
getUserFeedback().reportProgress("Starting...");
PdfFilter.filter(input, output, filter, this, imageOutput);
PdfFilter.filter(input, output, filter, this, imageOutput, dpi);
};
}

Expand All @@ -61,4 +64,35 @@ public Runnable onUninterruptedFinish() {
}
});
}





public static void previewPdf(File input, int dpi, int page,
Filter filter,
ImageView imageView,
final JavaFXTools.SetImageDelegate imageDelegate) {

SingleJobManager.setAndRunJob(new Interruptible() {
BufferedImage output;
@Override
public Runnable getRunnable() {
return () -> {
getUserFeedback().reportProgress("Converting...");
output = PdfIO.getPdfAsImage(input, page, dpi,this);
output = filter.filter(output, this);
};
}

@Override
public Runnable onUninterruptedFinish() {
return () -> {
getUserFeedback().reportProgress("Converted image!");

Platform.runLater(() -> imageDelegate.set(output));
};
}
});
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package XIS.sections.automatedfilter;
package XIS.sections.scanprocessing;

import XIS.toolset.JavaFXTools;
import org.apache.pdfbox.pdmodel.PDDocument;
Expand Down Expand Up @@ -33,7 +33,6 @@ public void append(BufferedImage image) {
} catch (Exception e) {
e.printStackTrace();
}
document.addPage(new PDPage(new PDRectangle()));

if (delegate != null) {
delegate.set(image);
Expand Down
50 changes: 50 additions & 0 deletions src/main/java/XIS/sections/scanprocessing/PdfFilter.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package XIS.sections.scanprocessing;

import XIS.sections.Interruptible;
import XIS.toolset.JavaFXTools;
import XIS.toolset.scanfilters.Filter;

import java.io.File;

public class PdfFilter {
public static void filter(File inputFile, File outputFile, Filter filter, Interruptible interruptible, JavaFXTools.SetImageDelegate delegate, int dpi) {
PdfImageList pdfImageList = null;
PdfCreator creator = null;
try {


pdfImageList = PdfImageList.create(inputFile, dpi);
if (pdfImageList == null) {
interruptible.reportProgress("Failure");
return;
}
creator = new PdfCreator();
creator.setDelegate(delegate);
for (int i = 0; i < pdfImageList.size(); i++) {
var image = pdfImageList.at(i);
var filteredImage = filter.filter(image, interruptible);
interruptible.reportProgress((1.0*i + 1) / pdfImageList.size());
interruptible.reportProgress("Progress: page " + (i + 1) + "/" + pdfImageList.size() + ".");
creator.append(filteredImage);

}
interruptible.reportProgress("Finished");
creator.save(outputFile);


} finally {
try {
if (pdfImageList != null) {
pdfImageList.close();
}
if (creator != null) {
creator.close();
}
} catch (Exception e) {
e.printStackTrace();
}

}

}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package XIS.sections.automatedfilter;
package XIS.sections.scanprocessing;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.rendering.ImageType;
Expand Down
Loading

0 comments on commit 5fd2b6e

Please sign in to comment.