Class Save

  • All Implemented Interfaces:
    PropertyChangeListener, EventListener, DocumentPanelListener

    public class Save
    extends ViewerWidget
    implements DocumentPanelListener, PropertyChangeListener

    Create a button that will allow the PDF to be saved to disk. If the PDF was originally loaded from a File, the user will not be prompted for a filename, otherwise this feature functions like SaveAs.

    The following initialization parameters can be specified to configure this feature.
    promptOnOverwritetrue to prompt before overwriting files, false otherwise (the default)
    disableUnlessDirtytrue to disable this feature until the PDF has been marked as "dirty" (ie it has been altered), false to always enable this feature (the defualt)
    alwaysCopytrue to always do an inefficient copy from the temporary file to the actual file, to work around a reported issue with saving to Windows Network Drives
    The name of this feature is Save

    This code is copyright the Big Faceless Organization. You're welcome to use, modify and distribute it in any form in your own projects, provided those projects continue to make use of the Big Faceless PDF library.

    Since:
    2.8
    • Constructor Detail

      • Save

        public Save()
    • Method Detail

      • createActionListener

        protected ActionListener createActionListener()
        Description copied from class: ViewerWidget
        Return an ActionListener that will be called when this Widget is activated. Subclasses will typically not need to override this method except in special cases.
        Overrides:
        createActionListener in class ViewerWidget
        Returns:
        ActionListener the ActionListener to be notified when an event fires
        See Also:
        Quit.createActionListener()
      • setPromptOnOverwrite

        public void setPromptOnOverwrite​(boolean prompt)
        Set whether this feature should prompt before overwriting a file
        Parameters:
        prompt - whether to prompt before overwriting a file (detault is false)
        Since:
        2.11.25
      • isPromptOnOverwrite

        public boolean isPromptOnOverwrite()
        Indicates whether this feature should prompt before overwriting a file
        Since:
        2.18
      • setDisableUnlessDirty

        public void setDisableUnlessDirty​(boolean value)
        Set whether this feature should be disabled unless the PDF is marked as "dirty", i.e. it has been changed since it was loaded. The default is false.
        Parameters:
        value - whether to disable this feature unless the PDF is marked as dirty.
        Since:
        2.16.1
      • setEnabledForNewFiles

        public void setEnabledForNewFiles​(boolean value)
        Set whether this feature is disabled when the PDF is marked as "new", i.e. it was not loaded from a local PDF file originally. Prior to 2.24.3 this was false, so the "Save" prompt was always available even for new files. In 2.24.3 this value defaults to true - Save is disabled if the file was imported from an image, or from a URL (although the "Save As" option still allows the file to be saved)
        Since:
        2.24.3
      • save

        public static boolean save​(ViewerEvent event,
                                   Exporter exporter,
                                   String initialpath,
                                   boolean displayprompt,
                                   boolean overwriteprompt)
        Save the Document. Calls save(File,ViewerEvent,List,boolean,boolean) with a list of all the exporters availabe in the viewer, and the specified one first. Note this method is no longer called from within the API, it's here for legacy reasons only.
        Parameters:
        event - the ViewerEvent that launched this action
        exporter - if not null, the initial exporter to use.
        initialpath - the Path to display by default, or null to use the same path as the source file
        displayprompt - whether to prompt the user for a filename. We will always prompt anyway if the document has not yet been saved.
        overwriteprompt - whether to prompt the user if we are about to overwrite a filename.
        Returns:
        true if the file was saved, false otherwise
        Since:
        2.11.10
      • save

        public static boolean save​(File file,
                                   ViewerEvent event,
                                   List<Exporter> exporters,
                                   boolean displayprompt,
                                   boolean overwriteprompt)
        Save the Document.
        Parameters:
        file - the File to save to, or null to use the existing file (if there is one) or prompt otherwise.
        event - the ViewerEvent that launched this action
        exporters - the list of Exporter objects. If a dialog is displayed the list will be presented as options for users, otherwise the first exporter will be used. The list must have at least one item.
        displayprompt - whether to prompt the user for a filename. We will always prompt anyway if the document has not yet been saved.
        overwriteprompt - whether to prompt the user if we are about to overwrite a filename.
        Returns:
        true if the file was saved, false otherwise
        Since:
        2.24.3