Class PdfFileSpecification


public class PdfFileSpecification extends PdfDictionary
Specifies a file or an URL. The file can be extern or embedded.
  • Field Details

  • Constructor Details

    • PdfFileSpecification

      public PdfFileSpecification()
      Creates a new instance of PdfFileSpecification. The static methods are preferred.
  • Method Details

    • url

      public static PdfFileSpecification url(PdfWriter writer, String url)
      Creates a file specification of type URL.
      Parameters:
      writer - the PdfWriter
      url - the URL
      Returns:
      the file specification
    • fileEmbedded

      public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore) throws IOException
      Creates a file specification with the file embedded. The file may come from the file system or from a byte array. The data is flate compressed.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      fileDisplay - the file information that is presented to the user
      fileStore - the byte array with the file. If it is not null it takes precedence over filePath
      Returns:
      the file specification
      Throws:
      IOException - on error
    • fileEmbedded

      public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, int compressionLevel) throws IOException
      Creates a file specification with the file embedded. The file may come from the file system or from a byte array. The data is flate compressed.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      fileDisplay - the file information that is presented to the user
      fileStore - the byte array with the file. If it is not null it takes precedence over filePath
      compressionLevel - the compression level to be used for compressing the file it takes precedence over filePath
      Returns:
      the file specification
      Throws:
      IOException - on error
      Since:
      2.1.3
    • fileEmbedded

      public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, boolean compress) throws IOException
      Creates a file specification with the file embedded. The file may come from the file system or from a byte array.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      fileDisplay - the file information that is presented to the user
      fileStore - the byte array with the file. If it is not null it takes precedence over filePath
      compress - sets the compression on the data. Multimedia content will benefit little from compression
      Returns:
      the file specification
      Throws:
      IOException - on error
    • fileEmbedded

      public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, boolean compress, String mimeType, PdfDictionary fileParameter) throws IOException
      Creates a file specification with the file embedded. The file may come from the file system or from a byte array.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      fileDisplay - the file information that is presented to the user
      fileStore - the byte array with the file. If it is not null it takes precedence over filePath
      compress - sets the compression on the data. Multimedia content will benefit little from compression
      mimeType - the optional mimeType
      fileParameter - the optional extra file parameters such as the creation or modification date
      Returns:
      the file specification
      Throws:
      IOException - on error
    • fileEmbedded

      public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, String mimeType, PdfDictionary fileParameter, int compressionLevel) throws IOException
      Creates a file specification with the file embedded. The file may come from the file system or from a byte array.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      fileDisplay - the file information that is presented to the user
      fileStore - the byte array with the file. If it is not null it takes precedence over filePath
      mimeType - the optional mimeType
      fileParameter - the optional extra file parameters such as the creation or modification date
      compressionLevel - the level of compression
      Returns:
      the file specification
      Throws:
      IOException - on error
      Since:
      2.1.3
    • fileExtern

      public static PdfFileSpecification fileExtern(PdfWriter writer, String filePath)
      Creates a file specification for an external file.
      Parameters:
      writer - the PdfWriter
      filePath - the file path
      Returns:
      the file specification
    • getReference

      public PdfIndirectReference getReference() throws IOException
      Gets the indirect reference to this file specification. Multiple invocations will retrieve the same value.
      Returns:
      the indirect reference
      Throws:
      IOException - on error
    • setMultiByteFileName

      public void setMultiByteFileName(byte[] fileName)
      Sets the file name (the key /F) string as an hex representation to support multi byte file names. The name must have the slash and backslash escaped according to the file specification rules
      Parameters:
      fileName - the file name as a byte array
    • setUnicodeFileName

      public void setUnicodeFileName(String filename, boolean unicode)
      Adds the unicode file name (the key /UF). This entry was introduced in PDF 1.7. The filename must have the slash and backslash escaped according to the file specification rules.
      Parameters:
      filename - the filename
      unicode - if true, the filename is UTF-16BE encoded; otherwise PDFDocEncoding is used;
    • setVolatile

      public void setVolatile(boolean volatile_file)
      Sets a flag that indicates whether an external file referenced by the file specification is volatile. If the value is true, applications should never cache a copy of the file.
      Parameters:
      volatile_file - if true, the external file should not be cached
    • addDescription

      public void addDescription(String description, boolean unicode)
      Adds a description for the file that is specified here.
      Parameters:
      description - some text
      unicode - if true, the text is added as a unicode string
    • addCollectionItem

      public void addCollectionItem(PdfCollectionItem ci)
      Adds the Collection item dictionary.
      Parameters:
      ci - the PdfCollectionItem to add