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 Summary
Fields Modifier and Type Field Description private COSDictionaryefDictionaryprivate COSDictionaryfs
-
Constructor Summary
Constructors Constructor Description PDComplexFileSpecification()Default Constructor.PDComplexFileSpecification(COSDictionary dict)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description COSDictionarygetCOSObject()Convert this standard java object to a COS object.private COSDictionarygetEFDictionary()PDEmbeddedFilegetEmbeddedFile()Get the embedded file.PDEmbeddedFilegetEmbeddedFileDos()Get the embedded dos file.PDEmbeddedFilegetEmbeddedFileMac()Get the embedded Mac file.PDEmbeddedFilegetEmbeddedFileUnicode()Get the embedded unicode file.PDEmbeddedFilegetEmbeddedFileUnix()Get the embedded Unix file.java.lang.StringgetFile()This will get the file name.java.lang.StringgetFileDescription()This will get the description.java.lang.StringgetFileDos()This will get the name representing a Dos file.java.lang.StringgetFileMac()This will get the name representing a Mac file.java.lang.StringgetFilename()Preferred method for getting the filename.java.lang.StringgetFileUnicode()This will get the unicode file name.java.lang.StringgetFileUnix()This will get the name representing a Unix file.private COSBasegetObjectFromEFDictionary(COSName key)booleanisVolatile()Get if the file is volatile.voidsetEmbeddedFile(PDEmbeddedFile file)Set the embedded file for this spec.voidsetEmbeddedFileUnicode(PDEmbeddedFile file)Set the embedded Unicode file for this spec.voidsetFile(java.lang.String file)This will set the file name.voidsetFileDescription(java.lang.String description)Set the file description.voidsetFileUnicode(java.lang.String file)This will set the unicode file name.voidsetVolatile(boolean fileIsVolatile)Tell if the underlying file is volatile and should not be cached by the reader application.-
Methods inherited from class org.apache.pdfbox.pdmodel.common.filespecification.PDFileSpecification
createFS
-
-
-
-
Field Detail
-
fs
private final COSDictionary fs
-
efDictionary
private COSDictionary efDictionary
-
-
Constructor Detail
-
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 Detail
-
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()
-
getFilename
public java.lang.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 java.lang.String getFileUnicode()
This will get the unicode file name.- Returns:
- The file name.
-
setFileUnicode
public void setFileUnicode(java.lang.String file)
This will set the unicode file name. If you call this, then do not forget to also callsetFile(String)or the attachment will not be visible on some viewers.- Parameters:
file- The name of the file.
-
getFile
public java.lang.String getFile()
This will get the file name.- Specified by:
getFilein classPDFileSpecification- Returns:
- The file name.
-
setFile
public void setFile(java.lang.String file)
This will set the file name. You should also callsetFileUnicode(String)for cross-platform and cross-language compatibility.- Specified by:
setFilein classPDFileSpecification- Parameters:
file- The name of the file.
-
getFileDos
public java.lang.String getFileDos()
This will get the name representing a Dos file.- Returns:
- The file name.
-
getFileMac
public java.lang.String getFileMac()
This will get the name representing a Mac file.- Returns:
- The file name.
-
getFileUnix
public java.lang.String getFileUnix()
This will get the name representing a Unix file.- Returns:
- The file name.
-
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 callsetEmbeddedFileUnicode(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.
-
getEmbeddedFileMac
public PDEmbeddedFile getEmbeddedFileMac()
Get the embedded Mac file.- Returns:
- The embedded Mac file for this file spec.
-
getEmbeddedFileUnix
public PDEmbeddedFile getEmbeddedFileUnix()
Get the embedded Unix file.- Returns:
- The embedded file for this file spec.
-
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 callsetEmbeddedFile(PDEmbeddedFile)or the attachment will not be visible on some viewers.- Parameters:
file- The Unicode file to be embedded.
-
setFileDescription
public void setFileDescription(java.lang.String description)
Set the file description.- Parameters:
description- The file description
-
getFileDescription
public java.lang.String getFileDescription()
This will get the description.- Returns:
- The file description.
-
-