diff --git a/pom.xml b/pom.xml index e77e84e..3090fb6 100644 --- a/pom.xml +++ b/pom.xml @@ -1,10 +1,10 @@ - 4.0.0 yanpas pdfmerger - 1.2.2 + 1.2.3 jar UTF-8 @@ -19,7 +19,7 @@ org.apache.pdfbox pdfbox - [2.0.15,) + 2.0.17 diff --git a/src/main/java/yanpas/pdfmerger/SwingMerge.java b/src/main/java/yanpas/pdfmerger/SwingMerge.java index 79de165..23aeb90 100644 --- a/src/main/java/yanpas/pdfmerger/SwingMerge.java +++ b/src/main/java/yanpas/pdfmerger/SwingMerge.java @@ -3,8 +3,6 @@ import javax.swing.*; import java.io.File; -import java.io.FilenameFilter; -import java.io.IOException; import java.util.List; import java.awt.Dimension; import java.awt.FileDialog; @@ -12,9 +10,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; -@SuppressWarnings("serial") class SwingMerge extends JFrame { private class Worker extends SwingWorker { public static final String MERGING = "Merging", SAVING = "Saving"; @@ -30,18 +26,23 @@ public Worker(File[] fileList, String outFile) { @Override public Void doInBackground() { + String documentProcessed = null; try (Merger m = new Merger()) { publish(MERGING); double i = 0; for (File fl : fileList) { + documentProcessed = fl.getName(); m.addDocument(fl); i++; setProgress((int) (100 * i / (double) fileList.length)); } publish(SAVING); + documentProcessed = outFile; m.save(outFile); - } catch (IOException e) { - result = e.getLocalizedMessage(); + } catch (Exception e) { + System.err.printf("Merging failed on %s: %s\n", documentProcessed, e); + e.printStackTrace(System.err); + result = String.format("Error during processing of %s: %s", documentProcessed, e.getLocalizedMessage()); return null; } successful = true; diff --git a/src/pdfmerger b/src/main/resources/pdfmerger similarity index 100% rename from src/pdfmerger rename to src/main/resources/pdfmerger