- java.lang.Object
-
- com.lowagie.text.pdf.PdfObject
-
- com.lowagie.text.pdf.PdfDictionary
-
- com.lowagie.text.pdf.PdfFileSpecification
-
public class PdfFileSpecification extends PdfDictionary
Specifies a file or an URL. The file can be extern or embedded.- Author:
- Paulo Soares ([email protected])
-
-
Constructor Summary
Constructors Constructor Description PdfFileSpecification()
Creates a new instance of PdfFileSpecification.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCollectionItem(PdfCollectionItem ci)
Adds the Collection item dictionary.void
addDescription(String description, boolean unicode)
Adds a description for the file that is specified here.static PdfFileSpecification
fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore)
Creates a file specification with the file embedded.static PdfFileSpecification
fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, boolean compress)
Creates a file specification with the file embedded.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.static PdfFileSpecification
fileEmbedded(PdfWriter writer, String filePath, String fileDisplay, byte[] fileStore, int compressionLevel)
Creates a file specification with the file embedded.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.static PdfFileSpecification
fileExtern(PdfWriter writer, String filePath)
Creates a file specification for an external file.PdfIndirectReference
getReference()
Gets the indirect reference to this file specification.void
setMultiByteFileName(byte[] fileName)
Sets the file name (the key /F) string as an hex representation to support multi byte file names.void
setUnicodeFileName(String filename, boolean unicode)
Adds the unicode file name (the key /UF).void
setVolatile(boolean volatile_file)
Sets a flag that indicates whether an external file referenced by the file specification is volatile.static PdfFileSpecification
url(PdfWriter writer, String url)
Creates a file specification of type URL.-
Methods inherited from class com.lowagie.text.pdf.PdfDictionary
clear, contains, get, getAsArray, getAsBoolean, getAsDict, getAsIndirectObject, getAsName, getAsNumber, getAsStream, getAsString, getDirectObject, getKeys, getKeysAndValues, isCatalog, isFont, isOutlineTree, isPage, isPages, merge, mergeDifferent, put, putAll, putEx, remove, size, toPdf, toString
-
Methods inherited from class com.lowagie.text.pdf.PdfObject
canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, length, setContent, setIndRef, type
-
-
-
-
Field Detail
-
writer
protected PdfWriter writer
-
ref
protected PdfIndirectReference ref
-
-
Method Detail
-
url
public static PdfFileSpecification url(PdfWriter writer, String url)
Creates a file specification of type URL.- Parameters:
writer
- thePdfWriter
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
- thePdfWriter
filePath
- the file pathfileDisplay
- the file information that is presented to the userfileStore
- the byte array with the file. If it is notnull
it takes precedence overfilePath
- 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
- thePdfWriter
filePath
- the file pathfileDisplay
- the file information that is presented to the userfileStore
- the byte array with the file. If it is notnull
it takes precedence overfilePath
compressionLevel
- the compression level to be used for compressing the file it takes precedence overfilePath
- 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
- thePdfWriter
filePath
- the file pathfileDisplay
- the file information that is presented to the userfileStore
- the byte array with the file. If it is notnull
it takes precedence overfilePath
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
- thePdfWriter
filePath
- the file pathfileDisplay
- the file information that is presented to the userfileStore
- the byte array with the file. If it is notnull
it takes precedence overfilePath
compress
- sets the compression on the data. Multimedia content will benefit little from compressionmimeType
- the optional mimeTypefileParameter
- 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
- thePdfWriter
filePath
- the file pathfileDisplay
- the file information that is presented to the userfileStore
- the byte array with the file. If it is notnull
it takes precedence overfilePath
mimeType
- the optional mimeTypefileParameter
- the optional extra file parameters such as the creation or modification datecompressionLevel
- 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
- thePdfWriter
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 filenameunicode
- 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 textunicode
- 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
-
-