com.lowagie.text.pdf

Class PdfFileSpecification

public class PdfFileSpecification extends PdfDictionary

Specifies a file or an URL. The file can be extern or embedded.

Author: Paulo Soares (psoares@consiste.pt)

Field Summary
protected PdfIndirectReferenceref
protected PdfWriterwriter
Constructor Summary
PdfFileSpecification()
Creates a new instance of PdfFileSpecification.
Method Summary
voidaddCollectionItem(PdfCollectionItem ci)
Adds the Collection item dictionary.
voidaddDescription(String description, boolean unicode)
Adds a description for the file that is specified here.
static PdfFileSpecificationfileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore)
Creates a file specification with the file embedded.
static PdfFileSpecificationfileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, int compressionLevel)
Creates a file specification with the file embedded.
static PdfFileSpecificationfileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, boolean compress)
Creates a file specification with the file embedded.
static PdfFileSpecificationfileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, boolean compress, String mimeType, PdfDictionary fileParameter)
Creates a file specification with the file embedded.
static PdfFileSpecificationfileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, String mimeType, PdfDictionary fileParameter, int compressionLevel)
Creates a file specification with the file embedded.
static PdfFileSpecificationfileExtern(PdfWriter writer, String filePath)
Creates a file specification for an external file.
PdfIndirectReferencegetReference()
Gets the indirect reference to this file specification.
voidsetMultiByteFileName(byte[] fileName)
Sets the file name (the key /F) string as an hex representation to support multi byte file names.
voidsetUnicodeFileName(String filename, boolean unicode)
Adds the unicode file name (the key /UF).
voidsetVolatile(boolean volatile_file)
Sets a flag that indicates whether an external file referenced by the file specification is volatile.
static PdfFileSpecificationurl(PdfWriter writer, String url)
Creates a file specification of type URL.

Field Detail

ref

protected PdfIndirectReference ref

writer

protected PdfWriter writer

Constructor Detail

PdfFileSpecification

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

Method Detail

addCollectionItem

public void addCollectionItem(PdfCollectionItem ci)
Adds the Collection item dictionary.

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

fileEmbedded

public static PdfFileSpecification fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore)
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)
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 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)
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)
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)
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()
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

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