You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/09/12 08:20:06 UTC

svn commit: r1893264 - /pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java

Author: tilman
Date: Sun Sep 12 08:20:06 2021
New Revision: 1893264

URL: http://svn.apache.org/viewvc?rev=1893264&view=rev
Log:
PDFBOX-2941: add "Save as..." menu item and simple implementation

Modified:
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java?rev=1893264&r1=1893263&r2=1893264&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java Sun Sep 12 08:20:06 2021
@@ -169,7 +169,6 @@ public class PDFDebugger extends JFrame
     private Tree tree;
     // file menu
     private JMenuItem saveAsMenuItem;
-    private JMenuItem saveMenuItem;
     private JMenu recentFilesMenu;
     private JMenuItem printMenuItem;
     private JMenu printDpiMenu;
@@ -521,6 +520,11 @@ public class PDFDebugger extends JFrame
         addRecentFileItems();
         fileMenu.add(recentFilesMenu);
 
+        saveAsMenuItem = new JMenuItem("Save as...");
+        saveAsMenuItem.addActionListener(this::saveAsMenuItemActionPerformed);
+        saveAsMenuItem.setEnabled(false);        
+        fileMenu.add(saveAsMenuItem);
+
         printMenuItem = new JMenuItem("Print");
         printMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, shortcutKeyMask));
         printMenuItem.setEnabled(false);
@@ -665,6 +669,28 @@ public class PDFDebugger extends JFrame
         exitMenuItemActionPerformed(null);
     }
 
+    //TODO needs to be expanded like openMenuItemActionPerformed
+    // (FileOpenSaveDialog also needs to be expanded to have a method that saves a PDDocumennt)
+    private void saveAsMenuItemActionPerformed(ActionEvent evt)
+    {
+        try
+        {
+            FileDialog openDialog = new FileDialog(this, "Save", FileDialog.SAVE);
+            openDialog.setFilenameFilter((dir, name) -> name.toLowerCase().endsWith(".pdf"));
+            openDialog.setVisible(true);
+            String file = openDialog.getFile();
+            if (file != null)
+            {
+                document.setAllSecurityToBeRemoved(true);
+                document.save(file);
+            }
+        }
+        catch (IOException e)
+        {
+            new ErrorDialog(e).setVisible(true);
+        }
+    }
+
     private void openMenuItemActionPerformed(ActionEvent evt)
     {
         try