Class PDComplexFileSpecification

java.lang.Object
org.apache.pdfbox.pdmodel.common.filespecification.PDFileSpecification
org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification
All Implemented Interfaces:
COSObjectable

public class PDComplexFileSpecification extends PDFileSpecification
This represents a file specification.
  • Field Details

  • Constructor Details

    • PDComplexFileSpecification

      public PDComplexFileSpecification()
      Default Constructor.
    • PDComplexFileSpecification

      public PDComplexFileSpecification(COSDictionary dict)
      Constructor. Creates empty COSDictionary if dict is null.
      Parameters:
      dict - The dictionary that fulfils this file specification.
  • Method Details

    • getCOSObject

      public COSDictionary getCOSObject()
      Convert this standard java object to a COS object.
      Returns:
      The cos object that matches this Java object.
    • getEFDictionary

      private COSDictionary getEFDictionary()
    • getObjectFromEFDictionary

      private COSBase getObjectFromEFDictionary(COSName key)
    • getFilename

      public String getFilename()

      Preferred method for getting the filename. It will determinate the recommended file name.

      First of all we try to get the unicode filename if it exist. If it doesn't exist we take a look at the DOS, MAC UNIX filenames. If no one exist the required F entry will be returned.

      Returns:
      The preferred file name.
    • getFileUnicode

      public String getFileUnicode()
      This will get the unicode file name.
      Returns:
      The file name.
    • setFileUnicode

      public void setFileUnicode(String file)
      This will set the unicode file name. If you call this, then do not forget to also call setFile(String) or the attachment will not be visible on some viewers.
      Parameters:
      file - The name of the file.
    • getFile

      public String getFile()
      This will get the file name.
      Specified by:
      getFile in class PDFileSpecification
      Returns:
      The file name.
    • setFile

      public void setFile(String file)
      This will set the file name. You should also call setFileUnicode(String) for cross-platform and cross-language compatibility.
      Specified by:
      setFile in class PDFileSpecification
      Parameters:
      file - The name of the file.
    • getFileDos

      public String getFileDos()
      This will get the name representing a Dos file.
      Returns:
      The file name.
    • setFileDos

      @Deprecated public void setFileDos(String file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      This will set name representing a dos file.
      Parameters:
      file - The name of the file.
    • getFileMac

      public String getFileMac()
      This will get the name representing a Mac file.
      Returns:
      The file name.
    • setFileMac

      @Deprecated public void setFileMac(String file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      This will set name representing a Mac file.
      Parameters:
      file - The name of the file.
    • getFileUnix

      public String getFileUnix()
      This will get the name representing a Unix file.
      Returns:
      The file name.
    • setFileUnix

      @Deprecated public void setFileUnix(String file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      This will set name representing a Unix file.
      Parameters:
      file - The name of the file.
    • setVolatile

      public void setVolatile(boolean fileIsVolatile)
      Tell if the underlying file is volatile and should not be cached by the reader application. Default: false
      Parameters:
      fileIsVolatile - The new value for the volatility of the file.
    • isVolatile

      public boolean isVolatile()
      Get if the file is volatile. Default: false
      Returns:
      True if the file is volatile attribute is set.
    • getEmbeddedFile

      public PDEmbeddedFile getEmbeddedFile()
      Get the embedded file.
      Returns:
      The embedded file for this file spec.
    • setEmbeddedFile

      public void setEmbeddedFile(PDEmbeddedFile file)
      Set the embedded file for this spec. You should also call setEmbeddedFileUnicode(PDEmbeddedFile) for cross-platform and cross-language compatibility.
      Parameters:
      file - The file to be embedded.
    • getEmbeddedFileDos

      public PDEmbeddedFile getEmbeddedFileDos()
      Get the embedded dos file.
      Returns:
      The embedded dos file for this file spec.
    • setEmbeddedFileDos

      @Deprecated public void setEmbeddedFileDos(PDEmbeddedFile file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      Set the embedded dos file for this spec.
      Parameters:
      file - The dos file to be embedded.
    • getEmbeddedFileMac

      public PDEmbeddedFile getEmbeddedFileMac()
      Get the embedded Mac file.
      Returns:
      The embedded Mac file for this file spec.
    • setEmbeddedFileMac

      @Deprecated public void setEmbeddedFileMac(PDEmbeddedFile file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      Set the embedded Mac file for this spec.
      Parameters:
      file - The Mac file to be embedded.
    • getEmbeddedFileUnix

      public PDEmbeddedFile getEmbeddedFileUnix()
      Get the embedded Unix file.
      Returns:
      The embedded file for this file spec.
    • setEmbeddedFileUnix

      @Deprecated public void setEmbeddedFileUnix(PDEmbeddedFile file)
      Deprecated.
      This method is obsolescent and should not be used by conforming writers.
      Set the embedded Unix file for this spec.
      Parameters:
      file - The Unix file to be embedded.
    • getEmbeddedFileUnicode

      public PDEmbeddedFile getEmbeddedFileUnicode()
      Get the embedded unicode file.
      Returns:
      The embedded unicode file for this file spec.
    • setEmbeddedFileUnicode

      public void setEmbeddedFileUnicode(PDEmbeddedFile file)
      Set the embedded Unicode file for this spec. If you call this, then do not forget to also call setEmbeddedFile(PDEmbeddedFile) or the attachment will not be visible on some viewers.
      Parameters:
      file - The Unicode file to be embedded.
    • setFileDescription

      public void setFileDescription(String description)
      Set the file description.
      Parameters:
      description - The file description
    • getFileDescription

      public String getFileDescription()
      This will get the description.
      Returns:
      The file description.