Package org.apache.fop.pdf
Class PDFFilterList
- java.lang.Object
-
- org.apache.fop.pdf.PDFFilterList
-
public class PDFFilterList extends java.lang.Object
This class represents a list of PDF filters to be applied when serializing the output of a PDF object.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CONTENT_FILTER
Key for the filter used for normal contentstatic java.lang.String
DEFAULT_FILTER
Key for the default filterstatic java.lang.String
FONT_FILTER
Key for the filter used for fontsstatic java.lang.String
IMAGE_FILTER
Key for the filter used for imagesstatic java.lang.String
JPEG_FILTER
Key for the filter used for JPEG imagesstatic java.lang.String
METADATA_FILTER
Key for the filter used for metadatastatic java.lang.String
PRECOMPRESSED_FILTER
Key for the filter used for precompressed contentstatic java.lang.String
TIFF_FILTER
Key for the filter used for TIFF images
-
Constructor Summary
Constructors Constructor Description PDFFilterList()
Default constructor.PDFFilterList(boolean ignoreASCIIFilters)
Use this descriptor if you want to have ASCII filters (such as ASCIIHex and ASCII85) ignored, for example, when encryption is active.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDefaultFilters(java.util.Map filters, java.lang.String type)
Adds the default filters to this stream.void
addFilter(java.lang.String filterType)
Add a filter for compression of the stream by name.void
addFilter(PDFFilter filter)
Add a filter for compression of the stream.java.io.OutputStream
applyFilters(java.io.OutputStream stream)
Applies all registered filters as necessary.protected java.lang.String
buildFilterDictEntries()
Apply the filters to the data in the order given and return the /Filter and /DecodeParms entries for the stream dictionary.void
ensureFilterInPlace(PDFFilter pdfFilter)
Checks the filter list for the filter and adds it in the correct place if necessary.boolean
isDisableAllFilters()
Returns true if all filters are disabled.boolean
isInitialized()
Indicates whether the filter list is already initialized.protected void
putFilterDictEntries(PDFDictionary dict)
Apply the filters to the data in the order given and add the /Filter and /DecodeParms entries to the stream dictionary.void
setDisableAllFilters(boolean value)
Used to disable all filters.
-
-
-
Field Detail
-
DEFAULT_FILTER
public static final java.lang.String DEFAULT_FILTER
Key for the default filter- See Also:
- Constant Field Values
-
CONTENT_FILTER
public static final java.lang.String CONTENT_FILTER
Key for the filter used for normal content- See Also:
- Constant Field Values
-
PRECOMPRESSED_FILTER
public static final java.lang.String PRECOMPRESSED_FILTER
Key for the filter used for precompressed content- See Also:
- Constant Field Values
-
IMAGE_FILTER
public static final java.lang.String IMAGE_FILTER
Key for the filter used for images- See Also:
- Constant Field Values
-
JPEG_FILTER
public static final java.lang.String JPEG_FILTER
Key for the filter used for JPEG images- See Also:
- Constant Field Values
-
TIFF_FILTER
public static final java.lang.String TIFF_FILTER
Key for the filter used for TIFF images- See Also:
- Constant Field Values
-
FONT_FILTER
public static final java.lang.String FONT_FILTER
Key for the filter used for fonts- See Also:
- Constant Field Values
-
METADATA_FILTER
public static final java.lang.String METADATA_FILTER
Key for the filter used for metadata- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PDFFilterList
public PDFFilterList()
Default constructor.The flag for ignoring ASCII filters defaults to false.
-
PDFFilterList
public PDFFilterList(boolean ignoreASCIIFilters)
Use this descriptor if you want to have ASCII filters (such as ASCIIHex and ASCII85) ignored, for example, when encryption is active.- Parameters:
ignoreASCIIFilters
- true if ASCII filters should be ignored
-
-
Method Detail
-
setDisableAllFilters
public void setDisableAllFilters(boolean value)
Used to disable all filters.- Parameters:
value
- true if all filters shall be disabled
-
isDisableAllFilters
public boolean isDisableAllFilters()
Returns true if all filters are disabled.- Returns:
- true if all filters are disabled
-
isInitialized
public boolean isInitialized()
Indicates whether the filter list is already initialized.- Returns:
- true if more there are filters present
-
addFilter
public void addFilter(PDFFilter filter)
Add a filter for compression of the stream. Filters are applied in the order they are added. This should always be a new instance of the particular filter of choice. The applied flag in the filter is marked true after it has been applied to the data.- Parameters:
filter
- filter to add
-
addFilter
public void addFilter(java.lang.String filterType)
Add a filter for compression of the stream by name.- Parameters:
filterType
- name of the filter to add
-
ensureFilterInPlace
public void ensureFilterInPlace(PDFFilter pdfFilter)
Checks the filter list for the filter and adds it in the correct place if necessary.- Parameters:
pdfFilter
- the filter to check / add
-
addDefaultFilters
public void addDefaultFilters(java.util.Map filters, java.lang.String type)
Adds the default filters to this stream.- Parameters:
filters
- Map of filterstype
- which filter list to modify
-
buildFilterDictEntries
protected java.lang.String buildFilterDictEntries()
Apply the filters to the data in the order given and return the /Filter and /DecodeParms entries for the stream dictionary. If the filters have already been applied to the data (either externally, or internally) then the dictionary entries are built and returned.- Returns:
- a String representing the filter list
-
putFilterDictEntries
protected void putFilterDictEntries(PDFDictionary dict)
Apply the filters to the data in the order given and add the /Filter and /DecodeParms entries to the stream dictionary. If the filters have already been applied to the data (either externally, or internally) then the dictionary entries added.- Parameters:
dict
- the PDFDictionary to set the entries on
-
applyFilters
public java.io.OutputStream applyFilters(java.io.OutputStream stream) throws java.io.IOException
Applies all registered filters as necessary. The method returns an OutputStream which will receive the filtered contents.- Parameters:
stream
- raw data output stream- Returns:
- OutputStream filtered output stream
- Throws:
java.io.IOException
- In case of an I/O problem
-
-