edu.harvard.hul.ois.jhove.module
Class PdfModule

java.lang.Object
  extended by edu.harvard.hul.ois.jhove.ModuleBase
      extended by edu.harvard.hul.ois.jhove.module.PdfModule
All Implemented Interfaces:
Module

public class PdfModule
extends ModuleBase

Module for identification and validation of PDF files.


Field Summary
protected  boolean _actionsExist
           
protected  ObjectStream _cachedObjectStream
          Cached object stream.
protected  int _cachedStreamIndex
          Object number of cached object stream.
protected  java.util.Map<java.lang.Integer,PdfObject> _cid0FontsMap
           
protected  java.util.Map<java.lang.Integer,PdfObject> _cid2FontsMap
           
protected  NameTreeNode _destNames
           
protected  PdfDictionary _destsDict
           
protected  java.util.List<Property> _docCatalogList
           
protected  PdfDictionary _docCatDict
           
protected  PdfIndirectObj _docCatDictRef
           
protected  PdfDictionary _docInfoDict
           
protected  PdfIndirectObj _docInfoDictRef
           
protected  java.util.List<Property> _docInfoList
           
protected  PageTreeNode _docTreeRoot
           
protected  NameTreeNode _embeddedFiles
           
protected  PdfDictionary _encryptDict
           
protected  PdfIndirectObj _encryptDictRef
           
protected  boolean _encrypted
           
protected  java.util.List<Property> _encryptList
           
protected  long _eof
           
protected  java.util.List<Property> _extStreamsList
           
protected  java.util.List<Property> _filtersList
           
protected  Property _idProperty
           
protected  java.util.List<Property> _imagesList
           
protected  Property _metadata
           
protected  java.util.Map<java.lang.Integer,PdfObject> _mmFontsMap
           
protected  int _nFonts
          Number of fonts reported so far.
protected  int _numFreeObjects
           
protected  int _numObjects
           
protected  int _numTrailers
           
protected  int _objCount
           
protected  java.util.Map _objects
           
protected  PdfDictionary _outlineDict
           
protected  PdfDictionary _pageLabelDict
           
protected  PageLabelNode _pageLabelRoot
           
protected  PdfIndirectObj _pagesDictRef
           
protected  java.util.Map<java.lang.Integer,java.lang.Integer> _pageSeqMap
           
protected  java.util.List<Property> _pagesList
           
protected  Parser _parser
           
protected  boolean _pdfACompliant
           
protected  long _prevxref
           
protected  java.util.List<PdfProfile> _profile
          List of profile checkers
protected  java.io.RandomAccessFile _raf
           
protected  boolean _recursionWarned
           
protected  boolean _showAnnotations
           
protected  boolean _showFonts
           
protected  boolean _showOutlines
           
protected  boolean _showPages
           
protected  boolean _skippedAnnotationsReported
           
protected  boolean _skippedFontsReported
           
protected  boolean _skippedOutlinesReported
           
protected  boolean _skippedPagesReported
           
protected  long _startxref
           
protected  PdfDictionary _trailerDict
           
protected  java.util.Map<java.lang.Integer,PdfObject> _trueTypeFontsMap
           
protected  java.util.Map<java.lang.Integer,PdfObject> _type0FontsMap
           
protected  java.util.Map<java.lang.Integer,PdfObject> _type1FontsMap
           
protected  java.util.Map<java.lang.Integer,PdfObject> _type3FontsMap
           
protected  java.lang.String _version
           
protected  PdfDictionary _viewPrefDict
           
protected  java.util.Set<java.lang.Integer> _visitedOutlineNodes
          Map of visited nodes when walking through an outline.
protected  Property _xmpProp
           
protected  long[] _xref
           
protected  int[][] _xref2
           
protected  boolean _xrefIsStream
           
protected  int DEFAULT_MAX_FONTS
          PRIVATE INSTANCE FIELDS.
static int F_CID0
          Font type selectors.
static int F_CID2
          Font type selectors.
static int F_MM1
          Font type selectors.
static int F_TT
          Font type selectors.
static int F_TYPE0
          Font type selectors.
static int F_TYPE1
          Font type selectors.
static int F_TYPE3
          Font type selectors.
protected  int maxFonts
          maximum number of fonts to report full information on.
protected static java.lang.String outlinesRecursiveString
           
 
Fields inherited from class edu.harvard.hul.ois.jhove.ModuleBase
_app, _bigEndian, _checksumFinished, _countStream, _coverage, _crc32, _date, _defaultParams, _features, _format, _init, _isRandomAccess, _je, _logger, _md5, _mimeType, _name, _nByte, _note, _param, _release, _repInfoNote, _rights, _sha1, _signature, _specification, _validityNote, _vendor, _verbosity, _wellFormedNote
 
Fields inherited from interface edu.harvard.hul.ois.jhove.Module
MAXIMUM_VERBOSITY, MINIMUM_VERBOSITY
 
Constructor Summary
PdfModule()
          Creates an instance of the module and initializes identifying information.
 
Method Summary
protected  void addDateProperty(PdfDictionary dict, java.util.List<Property> propList, java.lang.String key, java.lang.String propName)
          Add a date proprerty, based on a dictionary entry with a string value, to a specified List.
protected  void addDestination(PdfObject itemObj, java.lang.String propName, java.util.List<Property> propList, RepInfo info)
           
protected  void addFontsProperty(java.util.List<Property> metadataList)
          Add the various font lists as a fonts property.
protected  java.lang.String addFontToMap(PdfDictionary font)
          Add the font to the appropriate map, and return its subtype.
protected  void addPagesProperty(java.util.List<Property> metadataList, RepInfo info)
           
protected  void addStringProperty(PdfDictionary dict, java.util.List<Property> propList, java.lang.String key, java.lang.String propName)
          Add a string proprerty, based on a dictionary entry with a string value, to a specified List.
protected  Property buildAnnotProperty(PdfDictionary annot, RepInfo info)
           
protected  Property buildBitmaskProperty(int val, java.lang.String name, java.lang.String[] valueNames, java.lang.String defaultStr)
           
protected  Property buildCIDInfoProperty(PdfDictionary dict)
           
protected  Property buildCMapDictProperty(PdfStream encoding)
           
protected  Property buildEncodingDictProperty(PdfDictionary encodingDict)
           
protected  Property buildFontDescriptorProperty(PdfDictionary encodingDict)
           
protected  Property buildFontProperty(java.lang.String name, java.util.Map map, int fontType)
           
protected  Property buildMeasureProperty(PdfDictionary meas)
           
protected  Property buildOutlineItemProperty(PdfDictionary dict, RepInfo info)
           
protected  Property buildOutlinesProperty(PdfDictionary dict, RepInfo info)
           
protected  Property buildPageLabelProperty(PageObject page, int pageIndex, int[] nomNumRef)
           
protected  Property buildPageProperty(PageObject page, int idx, RepInfo info)
           
protected  Property buildUserPermProperty(int flags, java.lang.String[] flagStrs)
           
protected  Property buildViewPrefProperty(PdfDictionary prefDict)
           
protected  boolean doOutlineStuff(RepInfo info)
           
protected  java.lang.String extractFilters(Filter[] filters, PdfStream stream)
          Finds the filters in a stream or array object which is the value of a stream's Filter key, and put them in _filtersList if a duplicate isn't there already.
protected  void findExternalStreams(RepInfo info)
           
protected  boolean findFilters(RepInfo info)
          Locates the filters in the content stream dictionaries and generate a list of unique pipelines.
protected  void findFonts(RepInfo info)
           
protected  void findImages(RepInfo info)
           
protected  boolean findLastTrailer(RepInfo info)
          Locate the last trailer of the file
 boolean getActionsExist()
          Return true if Actions have been detected in the file.
 PdfDictionary getCatalogDict()
          Returns the catalog dictionary object.
 PdfDictionary getDocInfo()
          Returns the document information dictionary.
 PageTreeNode getDocumentTree()
          Returns the document tree root.
 NameTreeNode getEmbeddedFiles()
          Returns a NameTreeNode for the EmbeddedFiles entry of the Names dictionary.
 PdfDictionary getEncryptionDict()
          Returns the encryption dictionary.
 java.io.RandomAccessFile getFile()
          Return the RandomAccessFile being read.
 java.util.Map<java.lang.Integer,PdfObject> getFontMap(int selector)
          Get a font map.
 java.util.List<java.util.Map<java.lang.Integer,PdfObject>> getFontMaps()
          Return a List of all the font maps.
protected  PdfObject getObject(int objIndex, int recGuard)
          Returns an object of a given number.
 PdfDictionary getOutlineDict()
          Returns the outlines dictionary object.
 PdfDictionary getTrailerDict()
          Returns the trailer dictionary object.
 PdfDictionary getViewPrefDict()
          Returns the viewer preferences dictionary object.
protected  void initParse()
          Initialize the module.
protected  boolean isFontSubset(java.lang.String baseStr)
           
protected  Property makeRectProperty(PdfArray arrObj, java.lang.String name)
           
 boolean mayBePDFACompliant()
          Returns true if the module hasn't detected any violations of PDF/A compliance.
protected  int nameToNiso(java.lang.String name, java.lang.String[] nameArray, int[] valArray)
           
protected  java.util.List<Property> oneFontPropList(PdfDictionary dict, int fontType)
           
 void param(java.lang.String param)
          Per-action initialization.
 void parse(java.io.RandomAccessFile raf, RepInfo info)
          Parse a file and stores descriptive information.
protected  boolean parseHeader(RepInfo info)
           
protected  boolean parseTrailer(RepInfo info, boolean prevOnly)
           
protected  boolean readDocCatalogDict(RepInfo info)
           
protected  boolean readDocInfoDict(RepInfo info)
           
protected  boolean readDocumentTree(RepInfo info)
           
protected  boolean readEncryptDict(RepInfo info)
           
protected  boolean readPageLabelTree(RepInfo info)
           
protected  boolean readXMPData(RepInfo info)
           
protected  boolean readXRefInfo(RepInfo info)
           
protected  boolean readXRefStreams(RepInfo info)
           
protected  boolean readXRefTables(RepInfo info)
           
 void resetParams()
          Reset parameter settings.
protected  int resolveIndirectDest(PdfSimpleObject key)
           
 PdfObject resolveIndirectObject(PdfObject indObj)
          If the argument is an indirect object reference, returns the object it resolves to, otherwise returns the object itself.
protected static java.lang.String toHex(java.lang.String s)
          PRIVATE CLASS METHODS.
protected static java.lang.String toHex(java.util.Vector<java.lang.Integer> v)
           
 
Methods inherited from class edu.harvard.hul.ois.jhove.ModuleBase
addIntegerProperty, addIntegerProperty, applyDefaultParams, calcRAChecksum, checkSignatures, checkSignatures, getApp, getBase, getBufferedDataStream, getCoverage, getCRC32, getDate, getDefaultParams, getFeatures, getFormat, getMimeType, getName, getNByte, getNote, getRelease, getRepInfoNote, getRights, getSignature, getSpecification, getValidityNote, getVendor, getWellFormedNote, hasFeature, init, initFeatures, isBigEndian, isRandomAccess, parse, readByteBuf, readDouble, readDouble, readDouble, readFloat, readFloat, readSignedByte, readSignedByte, readSignedByte, readSignedInt, readSignedInt, readSignedInt, readSignedLong, readSignedRational, readSignedRational, readSignedShort, readSignedShort, readSignedShort, readUnsignedByte, readUnsignedByte, readUnsignedByte, readUnsignedInt, readUnsignedInt, readUnsignedInt, readUnsignedRational, readUnsignedRational, readUnsignedRational, readUnsignedShort, readUnsignedShort, readUnsignedShort, setApp, setBase, setChecksums, setCRC32, setDefaultParams, setMD5, setNByte, setSHA1, setValidityNote, setVerbosity, show, skipBytes, skipBytes, vectorToPropArray
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

F_TYPE0

public static final int F_TYPE0
Font type selectors.

See Also:
Constant Field Values

F_TYPE1

public static final int F_TYPE1
Font type selectors.

See Also:
Constant Field Values

F_TT

public static final int F_TT
Font type selectors.

See Also:
Constant Field Values

F_TYPE3

public static final int F_TYPE3
Font type selectors.

See Also:
Constant Field Values

F_MM1

public static final int F_MM1
Font type selectors.

See Also:
Constant Field Values

F_CID0

public static final int F_CID0
Font type selectors.

See Also:
Constant Field Values

F_CID2

public static final int F_CID2
Font type selectors.

See Also:
Constant Field Values

DEFAULT_MAX_FONTS

protected int DEFAULT_MAX_FONTS
PRIVATE INSTANCE FIELDS.


_raf

protected java.io.RandomAccessFile _raf

_parser

protected Parser _parser

_version

protected java.lang.String _version

_metadata

protected Property _metadata

_xmpProp

protected Property _xmpProp

_eof

protected long _eof

_startxref

protected long _startxref

_prevxref

protected long _prevxref

_numFreeObjects

protected int _numFreeObjects

_idProperty

protected Property _idProperty

_objCount

protected int _objCount

_numObjects

protected int _numObjects

_numTrailers

protected int _numTrailers

_objects

protected java.util.Map _objects

_xref

protected long[] _xref

_xref2

protected int[][] _xref2

_xrefIsStream

protected boolean _xrefIsStream

_encrypted

protected boolean _encrypted

_docCatalogList

protected java.util.List<Property> _docCatalogList

_encryptList

protected java.util.List<Property> _encryptList

_docInfoList

protected java.util.List<Property> _docInfoList

_extStreamsList

protected java.util.List<Property> _extStreamsList

_imagesList

protected java.util.List<Property> _imagesList

_filtersList

protected java.util.List<Property> _filtersList

_pagesList

protected java.util.List<Property> _pagesList

_type0FontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _type0FontsMap

_type1FontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _type1FontsMap

_mmFontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _mmFontsMap

_type3FontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _type3FontsMap

_trueTypeFontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _trueTypeFontsMap

_cid0FontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _cid0FontsMap

_cid2FontsMap

protected java.util.Map<java.lang.Integer,PdfObject> _cid2FontsMap

_pageSeqMap

protected java.util.Map<java.lang.Integer,java.lang.Integer> _pageSeqMap

_docCatDictRef

protected PdfIndirectObj _docCatDictRef

_encryptDictRef

protected PdfIndirectObj _encryptDictRef

_docInfoDictRef

protected PdfIndirectObj _docInfoDictRef

_pagesDictRef

protected PdfIndirectObj _pagesDictRef

_docCatDict

protected PdfDictionary _docCatDict

_docInfoDict

protected PdfDictionary _docInfoDict

_docTreeRoot

protected PageTreeNode _docTreeRoot

_pageLabelDict

protected PdfDictionary _pageLabelDict

_pageLabelRoot

protected PageLabelNode _pageLabelRoot

_embeddedFiles

protected NameTreeNode _embeddedFiles

_destNames

protected NameTreeNode _destNames

_encryptDict

protected PdfDictionary _encryptDict

_trailerDict

protected PdfDictionary _trailerDict

_viewPrefDict

protected PdfDictionary _viewPrefDict

_outlineDict

protected PdfDictionary _outlineDict

_destsDict

protected PdfDictionary _destsDict

_showFonts

protected boolean _showFonts

_showOutlines

protected boolean _showOutlines

_showAnnotations

protected boolean _showAnnotations

_showPages

protected boolean _showPages

_actionsExist

protected boolean _actionsExist

_pdfACompliant

protected boolean _pdfACompliant

_recursionWarned

protected boolean _recursionWarned

_skippedFontsReported

protected boolean _skippedFontsReported

_skippedOutlinesReported

protected boolean _skippedOutlinesReported

_skippedAnnotationsReported

protected boolean _skippedAnnotationsReported

_skippedPagesReported

protected boolean _skippedPagesReported

_profile

protected java.util.List<PdfProfile> _profile
List of profile checkers


_cachedObjectStream

protected ObjectStream _cachedObjectStream
Cached object stream.


_cachedStreamIndex

protected int _cachedStreamIndex
Object number of cached object stream.


_visitedOutlineNodes

protected java.util.Set<java.lang.Integer> _visitedOutlineNodes
Map of visited nodes when walking through an outline.


maxFonts

protected int maxFonts
maximum number of fonts to report full information on.


_nFonts

protected int _nFonts
Number of fonts reported so far.


outlinesRecursiveString

protected static final java.lang.String outlinesRecursiveString
See Also:
Constant Field Values
Constructor Detail

PdfModule

public PdfModule()
Creates an instance of the module and initializes identifying information.

Method Detail

resetParams

public void resetParams()
                 throws java.lang.Exception
Reset parameter settings. Returns to a default state without any parameters.

Specified by:
resetParams in interface Module
Overrides:
resetParams in class ModuleBase
Throws:
java.lang.Exception

param

public void param(java.lang.String param)
Per-action initialization. May be called multiple times.

Specified by:
param in interface Module
Overrides:
param in class ModuleBase
Parameters:
param - The module parameter; under command-line Jhove, the -p parameter. If the parameter contains the indicated characters, then the specified information is omitted; otherwise, it is included. (This is the reverse of the behavior prior to beta 3.) These characters may be provided as separate parameters, or all in a single parameter.
  • a: annotations
  • f: fonts
  • o: outlines
  • p: pages

The parameter is case-independent. A null parameter is equivalent to the empty string.

parse

public final void parse(java.io.RandomAccessFile raf,
                        RepInfo info)
                 throws java.io.IOException
Parse a file and stores descriptive information. A RandomAccessFile must be used to represent the object.

Specified by:
parse in interface Module
Overrides:
parse in class ModuleBase
Parameters:
raf - A PDF file
info - A clean RepInfo object, which will be modified to hold the descriptive information
Throws:
java.io.IOException

mayBePDFACompliant

public boolean mayBePDFACompliant()
Returns true if the module hasn't detected any violations of PDF/A compliance. This must return true, but is not sufficient by itself, to establish compliance. The AProfile profiler makes the final determination.


getDocumentTree

public PageTreeNode getDocumentTree()
Returns the document tree root.


getDocInfo

public PdfDictionary getDocInfo()
Returns the document information dictionary.


getEncryptionDict

public PdfDictionary getEncryptionDict()
Returns the encryption dictionary.


getActionsExist

public boolean getActionsExist()
Return true if Actions have been detected in the file.


initParse

protected final void initParse()
Initialize the module. This is called at the start of parse restore the module to its initial state.

Overrides:
initParse in class ModuleBase

parseHeader

protected boolean parseHeader(RepInfo info)
                       throws java.io.IOException
Throws:
java.io.IOException

findLastTrailer

protected boolean findLastTrailer(RepInfo info)
                           throws java.io.IOException
Locate the last trailer of the file

Throws:
java.io.IOException

parseTrailer

protected boolean parseTrailer(RepInfo info,
                               boolean prevOnly)
                        throws java.io.IOException
Throws:
java.io.IOException

readXRefInfo

protected boolean readXRefInfo(RepInfo info)
                        throws java.io.IOException
Throws:
java.io.IOException

readXRefStreams

protected boolean readXRefStreams(RepInfo info)
                           throws java.io.IOException
Throws:
java.io.IOException

readXRefTables

protected boolean readXRefTables(RepInfo info)
                          throws java.io.IOException
Throws:
java.io.IOException

readDocCatalogDict

protected boolean readDocCatalogDict(RepInfo info)
                              throws java.io.IOException
Throws:
java.io.IOException

readEncryptDict

protected boolean readEncryptDict(RepInfo info)
                           throws java.io.IOException
Throws:
java.io.IOException

readDocInfoDict

protected boolean readDocInfoDict(RepInfo info)
                           throws java.io.IOException
Throws:
java.io.IOException

readDocumentTree

protected boolean readDocumentTree(RepInfo info)
                            throws java.io.IOException
Throws:
java.io.IOException

readPageLabelTree

protected boolean readPageLabelTree(RepInfo info)

readXMPData

protected boolean readXMPData(RepInfo info)

findExternalStreams

protected void findExternalStreams(RepInfo info)
                            throws java.io.IOException
Throws:
java.io.IOException

findFilters

protected boolean findFilters(RepInfo info)
                       throws java.io.IOException
Locates the filters in the content stream dictionaries and generate a list of unique pipelines.

Returns:
false if the filter structure is defective.
Throws:
java.io.IOException

extractFilters

protected java.lang.String extractFilters(Filter[] filters,
                                          PdfStream stream)
Finds the filters in a stream or array object which is the value of a stream's Filter key, and put them in _filtersList if a duplicate isn't there already. If the name is "Crypt", appends a colon and the name if available. Returns the filter string whether it's added or not, or null if there are no filters.


findImages

protected void findImages(RepInfo info)
                   throws java.io.IOException
Throws:
java.io.IOException

nameToNiso

protected int nameToNiso(java.lang.String name,
                         java.lang.String[] nameArray,
                         int[] valArray)

findFonts

protected void findFonts(RepInfo info)
                  throws java.io.IOException
Throws:
java.io.IOException

addFontToMap

protected java.lang.String addFontToMap(PdfDictionary font)
Add the font to the appropriate map, and return its subtype. If we've exceeded the maximum number of fonts, then ignore it.


toHex

protected static java.lang.String toHex(java.lang.String s)
PRIVATE CLASS METHODS.


toHex

protected static java.lang.String toHex(java.util.Vector<java.lang.Integer> v)

resolveIndirectObject

public PdfObject resolveIndirectObject(PdfObject indObj)
                                throws PdfException,
                                       java.io.IOException
If the argument is an indirect object reference, returns the object it resolves to, otherwise returns the object itself. In particular, calling with null will return null.

Throws:
PdfException
java.io.IOException

getObject

protected PdfObject getObject(int objIndex,
                              int recGuard)
                       throws PdfException,
                              java.io.IOException
Returns an object of a given number. This may involve recursion into object streams, in which case it calls itself.

Parameters:
objIndex - The object number to look up
recGuard - The maximum permitted number of recursion levels; no particular value is required, but 30 or more should avoid false exceptions.
Throws:
PdfException
java.io.IOException

getFile

public java.io.RandomAccessFile getFile()
Return the RandomAccessFile being read.


getCatalogDict

public PdfDictionary getCatalogDict()
Returns the catalog dictionary object.


getTrailerDict

public PdfDictionary getTrailerDict()
Returns the trailer dictionary object.


getViewPrefDict

public PdfDictionary getViewPrefDict()
Returns the viewer preferences dictionary object.


getOutlineDict

public PdfDictionary getOutlineDict()
Returns the outlines dictionary object.


getFontMap

public java.util.Map<java.lang.Integer,PdfObject> getFontMap(int selector)
Get a font map. The map returned is determined by the selector. Any other value returns null.


getFontMaps

public java.util.List<java.util.Map<java.lang.Integer,PdfObject>> getFontMaps()
Return a List of all the font maps. Together, these contain all the fonts and subfonts in the document. Some of the maps may be null.


getEmbeddedFiles

public NameTreeNode getEmbeddedFiles()
Returns a NameTreeNode for the EmbeddedFiles entry of the Names dictionary. Returns null if there isn't one.


addFontsProperty

protected void addFontsProperty(java.util.List<Property> metadataList)
Add the various font lists as a fonts property. Note: only add the "Fonts" property if there are, in fact, fonts defined.


addPagesProperty

protected void addPagesProperty(java.util.List<Property> metadataList,
                                RepInfo info)

buildPageProperty

protected Property buildPageProperty(PageObject page,
                                     int idx,
                                     RepInfo info)
                              throws PdfException
Throws:
PdfException

buildPageLabelProperty

protected Property buildPageLabelProperty(PageObject page,
                                          int pageIndex,
                                          int[] nomNumRef)
                                   throws PdfException
Throws:
PdfException

buildMeasureProperty

protected Property buildMeasureProperty(PdfDictionary meas)

buildAnnotProperty

protected Property buildAnnotProperty(PdfDictionary annot,
                                      RepInfo info)
                               throws PdfException
Throws:
PdfException

addDestination

protected void addDestination(PdfObject itemObj,
                              java.lang.String propName,
                              java.util.List<Property> propList,
                              RepInfo info)
                       throws PdfException
Throws:
PdfException

buildFontProperty

protected Property buildFontProperty(java.lang.String name,
                                     java.util.Map map,
                                     int fontType)

oneFontPropList

protected java.util.List<Property> oneFontPropList(PdfDictionary dict,
                                                   int fontType)

buildCMapDictProperty

protected Property buildCMapDictProperty(PdfStream encoding)

buildCIDInfoProperty

protected Property buildCIDInfoProperty(PdfDictionary dict)

buildEncodingDictProperty

protected Property buildEncodingDictProperty(PdfDictionary encodingDict)

buildFontDescriptorProperty

protected Property buildFontDescriptorProperty(PdfDictionary encodingDict)

buildViewPrefProperty

protected Property buildViewPrefProperty(PdfDictionary prefDict)

isFontSubset

protected boolean isFontSubset(java.lang.String baseStr)

buildOutlinesProperty

protected Property buildOutlinesProperty(PdfDictionary dict,
                                         RepInfo info)
                                  throws PdfException
Throws:
PdfException

buildOutlineItemProperty

protected Property buildOutlineItemProperty(PdfDictionary dict,
                                            RepInfo info)
                                     throws PdfException
Throws:
PdfException

doOutlineStuff

protected boolean doOutlineStuff(RepInfo info)

resolveIndirectDest

protected int resolveIndirectDest(PdfSimpleObject key)
                           throws PdfException
Throws:
PdfException

buildUserPermProperty

protected Property buildUserPermProperty(int flags,
                                         java.lang.String[] flagStrs)

addStringProperty

protected void addStringProperty(PdfDictionary dict,
                                 java.util.List<Property> propList,
                                 java.lang.String key,
                                 java.lang.String propName)
Add a string proprerty, based on a dictionary entry with a string value, to a specified List.


addDateProperty

protected void addDateProperty(PdfDictionary dict,
                               java.util.List<Property> propList,
                               java.lang.String key,
                               java.lang.String propName)
                        throws PdfException
Add a date proprerty, based on a dictionary entry with a string value, to a specified List.

Throws:
PdfException

buildBitmaskProperty

protected Property buildBitmaskProperty(int val,
                                        java.lang.String name,
                                        java.lang.String[] valueNames,
                                        java.lang.String defaultStr)

makeRectProperty

protected Property makeRectProperty(PdfArray arrObj,
                                    java.lang.String name)
                             throws PdfException
Throws:
PdfException