com.itextpdf.text.pdf
Class PdfStamperImp

java.lang.Object
  extended by com.itextpdf.text.DocWriter
      extended by com.itextpdf.text.pdf.PdfWriter
          extended by com.itextpdf.text.pdf.PdfStamperImp
All Implemented Interfaces:
DocListener, ElementListener, PdfAnnotations, PdfDocumentActions, PdfEncryptionSettings, PdfPageActions, PdfRunDirection, PdfVersion, PdfViewerPreferences, PdfXConformance, EventListener

 class PdfStamperImp
extends PdfWriter


Nested Class Summary
(package private) static class PdfStamperImp.PageStamp
           
 
Nested classes/interfaces inherited from class com.itextpdf.text.pdf.PdfWriter
PdfWriter.PdfBody, PdfWriter.PdfTrailer
 
Field Summary
protected  AcroFields acroFields
           
protected  boolean append
           
(package private)  boolean closed
           
protected  boolean fieldsAdded
           
protected  HashSet<PdfTemplate> fieldTemplates
           
(package private)  RandomAccessFileOrArray file
           
protected  boolean flat
           
protected  boolean flatFreeText
           
protected  int initialXrefSize
           
protected  IntHashtable marked
           
(package private)  IntHashtable myXref
           
protected  int[] namePtr
           
protected  PdfAction openAction
           
(package private)  HashMap<PdfDictionary,PdfStamperImp.PageStamp> pagesToContent
          Integer(page number) -> PageStamp
protected  HashSet<String> partialFlattening
           
(package private)  PdfReader reader
           
(package private)  HashMap<PdfReader,RandomAccessFileOrArray> readers2file
           
(package private)  HashMap<PdfReader,IntHashtable> readers2intrefs
           
private  boolean rotateContents
          Holds value of property rotateContents.
protected  int sigFlags
           
protected  boolean useVp
           
protected  PdfViewerPreferencesImp viewerPreferences
           
 
Fields inherited from class com.itextpdf.text.pdf.PdfWriter
ALLOW_ASSEMBLY, ALLOW_COPY, ALLOW_DEGRADED_PRINTING, ALLOW_FILL_IN, ALLOW_MODIFY_ANNOTATIONS, ALLOW_MODIFY_CONTENTS, ALLOW_PRINTING, ALLOW_SCREENREADERS, AllowAssembly, AllowCopy, AllowDegradedPrinting, AllowFillIn, AllowModifyAnnotations, AllowModifyContents, AllowPrinting, AllowScreenReaders, body, CenterWindow, colorNumber, compressionLevel, crypto, currentPageNumber, currentPdfReaderInstance, defaultColorspace, DID_PRINT, DID_SAVE, directContent, directContentUnder, DirectionL2R, DirectionR2L, DisplayDocTitle, DO_NOT_ENCRYPT_METADATA, DOCUMENT_CLOSE, documentColors, documentExtGState, documentFonts, documentOCG, documentOCGorder, documentPatterns, documentProperties, documentShadingPatterns, documentShadings, documentSpotPatterns, EMBEDDED_FILES_ONLY, ENCRYPTION_AES_128, ENCRYPTION_MASK, extraCatalog, FitWindow, fontNumber, formXObjects, formXObjectsCounter, fullCompression, GENERATION_MAX, group, HideMenubar, HideToolbar, HideWindowUI, imageDictionary, importedPages, JBIG2Globals, newBookmarks, NO_SPACE_CHAR_RATIO, NonFullScreenPageModeUseNone, NonFullScreenPageModeUseOC, NonFullScreenPageModeUseOutlines, NonFullScreenPageModeUseThumbs, OCGLocked, OCGRadioGroup, OCProperties, PAGE_CLOSE, PAGE_OPEN, PageLayoutOneColumn, PageLayoutSinglePage, PageLayoutTwoColumnLeft, PageLayoutTwoColumnRight, PageLayoutTwoPageLeft, PageLayoutTwoPageRight, PageModeFullScreen, PageModeUseAttachments, PageModeUseNone, PageModeUseOC, PageModeUseOutlines, PageModeUseThumbs, pageReferences, patternColorspaceCMYK, patternColorspaceGRAY, patternColorspaceRGB, patternNumber, pdf, pdf_version, PDF_VERSION_1_2, PDF_VERSION_1_3, PDF_VERSION_1_4, PDF_VERSION_1_5, PDF_VERSION_1_6, PDF_VERSION_1_7, PDFA1A, PDFA1B, PDFX1A2001, PDFX32002, PDFXNONE, prevxref, PrintScalingNone, root, RUN_DIRECTION_DEFAULT, RUN_DIRECTION_LTR, RUN_DIRECTION_NO_BIDI, RUN_DIRECTION_RTL, runDirection, SIGNATURE_APPEND_ONLY, SIGNATURE_EXISTS, SPACE_CHAR_RATIO_DEFAULT, STANDARD_ENCRYPTION_128, STANDARD_ENCRYPTION_40, STRENGTH128BITS, STRENGTH40BITS, structureTreeRoot, tabs, tagged, userunit, VERSION_1_2, VERSION_1_3, VERSION_1_4, VERSION_1_5, VERSION_1_6, VERSION_1_7, WILL_PRINT, WILL_SAVE, xmpMetadata
 
Fields inherited from class com.itextpdf.text.DocWriter
closeStream, document, EQUALS, FORWARD, GT, LT, NEWLINE, open, os, pageSize, pause, QUOTE, SPACE, TAB
 
Constructor Summary
PdfStamperImp(PdfReader reader, OutputStream os, char pdfVersion, boolean append)
          Creates new PdfStamperImp.
 
Method Summary
 void addAnnotation(PdfAnnotation annot)
          Use this methods to add a PdfAnnotation or a PdfFormField to the document.
(package private)  void addAnnotation(PdfAnnotation annot, int page)
           
(package private)  void addAnnotation(PdfAnnotation annot, PdfDictionary pageN)
           
 void addComments(FdfReader fdf)
           
(package private)  void addDocumentField(PdfIndirectReference ref)
           
(package private)  void addFieldResources()
           
(package private)  void addFileAttachments()
           
private  void addOrder(PdfLayer parent, PdfArray arr, Map<String,PdfLayer> ocgmap)
          Recursive method to reconstruct the documentOCGorder variable in the writer.
 void addViewerPreference(PdfName key, PdfObject value)
          Adds a viewer preference
(package private)  void alterContents()
           
(package private)  void alterResources(PdfStamperImp.PageStamp ps)
           
(package private)  void applyRotation(PdfDictionary pageN, ByteBuffer out)
           
(package private)  void close(HashMap<String,String> moreInfo)
           
(package private)  void correctAcroFieldPages(int page)
           
(package private)  void deleteOutlines()
           
(package private)  void eliminateAcroformObjects()
           
(package private)  void expandFields(PdfFormField field, ArrayList<PdfAnnotation> allAnnots)
           
(package private) static void findAllObjects(PdfReader reader, PdfObject obj, IntHashtable hits)
           
(package private)  void flatFields()
           
private  void flatFreeTextFields()
           
(package private)  AcroFields getAcroFields()
           
 PdfContentByte getDirectContent()
          Use this method to get the direct content for this document.
 PdfContentByte getDirectContentUnder()
          Use this method to get the direct content under for this document.
protected  int getNewObjectNumber(PdfReader reader, int number, int generation)
           
(package private)  PdfContentByte getOverContent(int pageNum)
           
 PdfIndirectReference getPageReference(int page)
          Use this method to get a reference to a page existing or not.
(package private)  PdfStamperImp.PageStamp getPageStamp(int pageNum)
           
 Map<String,PdfLayer> getPdfLayers()
          Gets the PdfLayer objects in an existing document as a Map with the names/titles of the layers as keys.
(package private)  RandomAccessFileOrArray getReaderFile(PdfReader reader)
           
(package private)  PdfContentByte getUnderContent(int pageNum)
           
(package private)  void insertPage(int pageNumber, Rectangle mediabox)
           
(package private)  boolean isAppend()
          Getter for property append.
(package private)  boolean isContentWritten()
           
(package private)  boolean isRotateContents()
          Getter for property rotateContents.
(package private)  void makePackage(PdfCollection collection)
          Adds or replaces the Collection Dictionary in the Catalog.
protected  void markUsed(int num)
           
protected  void markUsed(PdfObject obj)
           
private static void moveRectangle(PdfDictionary dic2, PdfReader r, int pageImported, PdfName key, String name)
           
private  void outlineTravel(PRIndirectReference outline)
           
(package private)  boolean partialFormFlattening(String name)
           
protected  void readOCProperties()
          Reads the OCProperties dictionary from the catalog of the existing document and fills the documentOCG, documentOCGorder and OCGRadioGroup variables in PdfWriter.
 void registerReader(PdfReader reader, boolean openFile)
           
(package private)  void replacePage(PdfReader r, int pageImported, int pageReplaced)
           
 void setAdditionalAction(PdfName actionType, PdfAction action)
          Additional-actions defining the actions to be taken in response to various trigger events affecting the document as a whole.
 void setDuration(int seconds)
          Always throws an UnsupportedOperationException.
(package private)  void setDuration(int seconds, int page)
          Sets the display duration for the page (for presentations)
(package private)  void setFormFlattening(boolean flat)
           
(package private)  void setFreeTextFlattening(boolean flat)
           
(package private)  void setJavaScript()
           
 void setOpenAction(PdfAction action)
          When the document opens this action will be invoked.
 void setOpenAction(String name)
          When the document opens it will jump to the destination with this name.
(package private)  void setOutlines()
           
 void setPageAction(PdfName actionType, PdfAction action)
          Always throws an UnsupportedOperationException.
(package private)  void setPageAction(PdfName actionType, PdfAction action, int page)
          Sets the open and close page additional action.
(package private)  void setRotateContents(boolean rotateContents)
          Setter for property rotateContents.
 void setSigFlags(int f)
          Set the signature flags.
 void setThumbnail(Image image)
          Use this method to set the thumbnail image for the current page.
(package private)  void setThumbnail(Image image, int page)
           
 void setTransition(PdfTransition transition)
          Always throws an UnsupportedOperationException.
(package private)  void setTransition(PdfTransition transition, int page)
          Sets the transition for the page
 void setViewerPreferences(int preferences)
          Sets the viewer preferences.
(package private)  void sweepKids(PdfObject obj)
           
 void unRegisterReader(PdfReader reader)
           
 
Methods inherited from class com.itextpdf.text.pdf.PdfWriter
add, add, add, addCalculationOrder, addDeveloperExtension, addDirectImageSimple, addDirectImageSimple, addDirectTemplateSimple, addFileAttachment, addFileAttachment, addFileAttachment, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addJavaScript, addLocalDestinations, addNamedDestination, addNamedDestinations, addOCGRadioGroup, addSharedObjectsToBody, addSimple, addSimple, addSimpleExtGState, addSimplePattern, addSimplePatternColorspace, addSimpleProperty, addSimpleShading, addSimpleShadingPattern, addToBody, addToBody, addToBody, addToBody, addToBody, addToBody, clearTextWrap, close, createXmpMetadata, eliminateFontSubset, fillOCProperties, freeReader, getAcroForm, getBoxSize, getCatalog, getColorspaceName, getCompressionLevel, getCurrentDocumentSize, getCurrentPage, getCurrentPageNumber, getDefaultColorspace, getEncryption, getExtraCatalog, getGroup, getImageReference, getImportedPage, getIndirectReferenceNumber, getInfo, getInstance, getInstance, getOCProperties, getOs, getPageEvent, getPageNumber, getPageSize, getPdfDocument, getPdfIndirectReference, getPdfVersion, getPDFXConformance, getReferenceJBIG2Globals, getRootOutline, getRunDirection, getSpaceCharRatio, getStructureTreeRoot, getTabs, getUserunit, getVerticalPosition, isFullCompression, isPageEmpty, isPdfX, isRgbTransparencyBlending, isStrictImageSequence, isTagged, isUserProperties, lockLayer, open, propertyExists, registerLayer, releaseTemplate, reorderPages, resetContent, setAtLeastPdfVersion, setBoxSize, setCollection, setCompressionLevel, setCropBoxSize, setDefaultColorspace, setEncryption, setEncryption, setEncryption, setEncryption, setEncryption, setFullCompression, setGroup, setInitialLeading, setLinearPageMode, setOutlines, setOutputIntents, setOutputIntents, setOutputIntents, setPageEmpty, setPageEvent, setPageLabels, setPageXmpMetadata, setPdfVersion, setPdfVersion, setPDFXConformance, setRgbTransparencyBlending, setRunDirection, setSpaceCharRatio, setStrictImageSequence, setTabs, setTagged, setUserProperties, setUserunit, setXmpMetadata, writeOutlines
 
Methods inherited from class com.itextpdf.text.DocWriter
add, addTabs, flush, getISOBytes, isCloseStream, isPaused, newPage, pause, resetPageCount, resume, setCloseStream, setMarginMirroring, setMarginMirroringTopBottom, setMargins, setPageCount, setPageSize, write, write, writeEnd, writeEnd, writeMarkupAttributes, writeStart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

readers2intrefs

HashMap<PdfReader,IntHashtable> readers2intrefs

readers2file

HashMap<PdfReader,RandomAccessFileOrArray> readers2file

file

RandomAccessFileOrArray file

reader

PdfReader reader

myXref

IntHashtable myXref

pagesToContent

HashMap<PdfDictionary,PdfStamperImp.PageStamp> pagesToContent
Integer(page number) -> PageStamp


closed

boolean closed

rotateContents

private boolean rotateContents
Holds value of property rotateContents.


acroFields

protected AcroFields acroFields

flat

protected boolean flat

flatFreeText

protected boolean flatFreeText

namePtr

protected int[] namePtr

partialFlattening

protected HashSet<String> partialFlattening

useVp

protected boolean useVp

viewerPreferences

protected PdfViewerPreferencesImp viewerPreferences

fieldTemplates

protected HashSet<PdfTemplate> fieldTemplates

fieldsAdded

protected boolean fieldsAdded

sigFlags

protected int sigFlags

append

protected boolean append

marked

protected IntHashtable marked

initialXrefSize

protected int initialXrefSize

openAction

protected PdfAction openAction
Constructor Detail

PdfStamperImp

PdfStamperImp(PdfReader reader,
              OutputStream os,
              char pdfVersion,
              boolean append)
        throws DocumentException,
               IOException
Creates new PdfStamperImp.

Parameters:
reader - the read PDF
os - the output destination
pdfVersion - the new pdf version or '\0' to keep the same version as the original document
append -
Throws:
DocumentException - on error
IOException
Method Detail

close

void close(HashMap<String,String> moreInfo)
     throws IOException
Throws:
IOException

applyRotation

void applyRotation(PdfDictionary pageN,
                   ByteBuffer out)

alterContents

void alterContents()
             throws IOException
Throws:
IOException

alterResources

void alterResources(PdfStamperImp.PageStamp ps)

getNewObjectNumber

protected int getNewObjectNumber(PdfReader reader,
                                 int number,
                                 int generation)
Overrides:
getNewObjectNumber in class PdfWriter

getReaderFile

RandomAccessFileOrArray getReaderFile(PdfReader reader)
Overrides:
getReaderFile in class PdfWriter

registerReader

public void registerReader(PdfReader reader,
                           boolean openFile)
                    throws IOException
Parameters:
reader -
openFile -
Throws:
IOException

unRegisterReader

public void unRegisterReader(PdfReader reader)
Parameters:
reader -

findAllObjects

static void findAllObjects(PdfReader reader,
                           PdfObject obj,
                           IntHashtable hits)

addComments

public void addComments(FdfReader fdf)
                 throws IOException
Parameters:
fdf -
Throws:
IOException

getPageStamp

PdfStamperImp.PageStamp getPageStamp(int pageNum)

getUnderContent

PdfContentByte getUnderContent(int pageNum)

getOverContent

PdfContentByte getOverContent(int pageNum)

correctAcroFieldPages

void correctAcroFieldPages(int page)

moveRectangle

private static void moveRectangle(PdfDictionary dic2,
                                  PdfReader r,
                                  int pageImported,
                                  PdfName key,
                                  String name)

replacePage

void replacePage(PdfReader r,
                 int pageImported,
                 int pageReplaced)

insertPage

void insertPage(int pageNumber,
                Rectangle mediabox)

isRotateContents

boolean isRotateContents()
Getter for property rotateContents.

Returns:
Value of property rotateContents.

setRotateContents

void setRotateContents(boolean rotateContents)
Setter for property rotateContents.

Parameters:
rotateContents - New value of property rotateContents.

isContentWritten

boolean isContentWritten()

getAcroFields

AcroFields getAcroFields()

setFormFlattening

void setFormFlattening(boolean flat)

setFreeTextFlattening

void setFreeTextFlattening(boolean flat)

partialFormFlattening

boolean partialFormFlattening(String name)

flatFields

void flatFields()

eliminateAcroformObjects

void eliminateAcroformObjects()

sweepKids

void sweepKids(PdfObject obj)

flatFreeTextFields

private void flatFreeTextFields()

getPageReference

public PdfIndirectReference getPageReference(int page)
Description copied from class: PdfWriter
Use this method to get a reference to a page existing or not. If the page does not exist yet the reference will be created in advance. If on closing the document, a page number greater than the total number of pages was requested, an exception is thrown.

Overrides:
getPageReference in class PdfWriter
Parameters:
page - the page number. The first page is 1
Returns:
the reference to the page
See Also:
PdfWriter.getPageReference(int)

addAnnotation

public void addAnnotation(PdfAnnotation annot)
Description copied from interface: PdfAnnotations
Use this methods to add a PdfAnnotation or a PdfFormField to the document. Only the top parent of a PdfFormField needs to be added.

Specified by:
addAnnotation in interface PdfAnnotations
Overrides:
addAnnotation in class PdfWriter
Parameters:
annot - the PdfAnnotation or the PdfFormField to add
See Also:
PdfWriter.addAnnotation(com.itextpdf.text.pdf.PdfAnnotation)

addDocumentField

void addDocumentField(PdfIndirectReference ref)

addFieldResources

void addFieldResources()
                 throws IOException
Throws:
IOException

expandFields

void expandFields(PdfFormField field,
                  ArrayList<PdfAnnotation> allAnnots)

addAnnotation

void addAnnotation(PdfAnnotation annot,
                   PdfDictionary pageN)

addAnnotation

void addAnnotation(PdfAnnotation annot,
                   int page)
Overrides:
addAnnotation in class PdfWriter

outlineTravel

private void outlineTravel(PRIndirectReference outline)

deleteOutlines

void deleteOutlines()

setJavaScript

void setJavaScript()
             throws IOException
Throws:
IOException

addFileAttachments

void addFileAttachments()
                  throws IOException
Throws:
IOException

makePackage

void makePackage(PdfCollection collection)
Adds or replaces the Collection Dictionary in the Catalog.

Parameters:
collection - the new collection dictionary.

setOutlines

void setOutlines()
           throws IOException
Throws:
IOException

setViewerPreferences

public void setViewerPreferences(int preferences)
Sets the viewer preferences.

Specified by:
setViewerPreferences in interface PdfViewerPreferences
Overrides:
setViewerPreferences in class PdfWriter
Parameters:
preferences - the viewer preferences
See Also:
PdfWriter.setViewerPreferences(int)

addViewerPreference

public void addViewerPreference(PdfName key,
                                PdfObject value)
Adds a viewer preference

Specified by:
addViewerPreference in interface PdfViewerPreferences
Overrides:
addViewerPreference in class PdfWriter
Parameters:
key - a key for a viewer preference
value - the value for the viewer preference
See Also:
PdfViewerPreferences.addViewerPreference(com.itextpdf.text.pdf.PdfName, com.itextpdf.text.pdf.PdfObject)

setSigFlags

public void setSigFlags(int f)
Set the signature flags.

Specified by:
setSigFlags in interface PdfAnnotations
Overrides:
setSigFlags in class PdfWriter
Parameters:
f - the flags. This flags are ORed with current ones
See Also:
PdfAnnotations.setSigFlags(int)

setPageAction

public void setPageAction(PdfName actionType,
                          PdfAction action)
                   throws PdfException
Always throws an UnsupportedOperationException.

Specified by:
setPageAction in interface PdfPageActions
Overrides:
setPageAction in class PdfWriter
Parameters:
actionType - ignore
action - ignore
Throws:
PdfException - ignore
See Also:
PdfStamper.setPageAction(PdfName, PdfAction, int)

setPageAction

void setPageAction(PdfName actionType,
                   PdfAction action,
                   int page)
             throws PdfException
Sets the open and close page additional action.

Parameters:
actionType - the action type. It can be PdfWriter.PAGE_OPEN or PdfWriter.PAGE_CLOSE
action - the action to perform
page - the page where the action will be applied. The first page is 1
Throws:
PdfException - if the action type is invalid

setDuration

public void setDuration(int seconds)
Always throws an UnsupportedOperationException.

Specified by:
setDuration in interface PdfPageActions
Overrides:
setDuration in class PdfWriter
Parameters:
seconds - ignore
See Also:
PdfPageActions.setDuration(int)

setTransition

public void setTransition(PdfTransition transition)
Always throws an UnsupportedOperationException.

Specified by:
setTransition in interface PdfPageActions
Overrides:
setTransition in class PdfWriter
Parameters:
transition - ignore
See Also:
PdfPageActions.setTransition(com.itextpdf.text.pdf.PdfTransition)

setDuration

void setDuration(int seconds,
                 int page)
Sets the display duration for the page (for presentations)

Parameters:
seconds - the number of seconds to display the page. A negative value removes the entry
page - the page where the duration will be applied. The first page is 1

setTransition

void setTransition(PdfTransition transition,
                   int page)
Sets the transition for the page

Parameters:
transition - the transition object. A null removes the transition
page - the page where the transition will be applied. The first page is 1

markUsed

protected void markUsed(PdfObject obj)

markUsed

protected void markUsed(int num)

isAppend

boolean isAppend()
Getter for property append.

Returns:
Value of property append.

setAdditionalAction

public void setAdditionalAction(PdfName actionType,
                                PdfAction action)
                         throws PdfException
Additional-actions defining the actions to be taken in response to various trigger events affecting the document as a whole. The actions types allowed are: DOCUMENT_CLOSE, WILL_SAVE, DID_SAVE, WILL_PRINT and DID_PRINT.

Specified by:
setAdditionalAction in interface PdfDocumentActions
Overrides:
setAdditionalAction in class PdfWriter
Parameters:
actionType - the action type
action - the action to execute in response to the trigger
Throws:
PdfException - on invalid action type
See Also:
PdfDocumentActions.setAdditionalAction(com.itextpdf.text.pdf.PdfName, com.itextpdf.text.pdf.PdfAction)

setOpenAction

public void setOpenAction(PdfAction action)
Description copied from interface: PdfDocumentActions
When the document opens this action will be invoked.

Specified by:
setOpenAction in interface PdfDocumentActions
Overrides:
setOpenAction in class PdfWriter
Parameters:
action - the action to be invoked
See Also:
PdfWriter.setOpenAction(com.itextpdf.text.pdf.PdfAction)

setOpenAction

public void setOpenAction(String name)
Description copied from interface: PdfDocumentActions
When the document opens it will jump to the destination with this name.

Specified by:
setOpenAction in interface PdfDocumentActions
Overrides:
setOpenAction in class PdfWriter
Parameters:
name - the name of the destination to jump to
See Also:
PdfWriter.setOpenAction(java.lang.String)

setThumbnail

public void setThumbnail(Image image)
Description copied from class: PdfWriter
Use this method to set the thumbnail image for the current page.

Overrides:
setThumbnail in class PdfWriter
Parameters:
image - the image
See Also:
PdfWriter.setThumbnail(com.itextpdf.text.Image)

setThumbnail

void setThumbnail(Image image,
                  int page)
            throws PdfException,
                   DocumentException
Throws:
PdfException
DocumentException

getDirectContentUnder

public PdfContentByte getDirectContentUnder()
Description copied from class: PdfWriter
Use this method to get the direct content under for this document. There is only one direct content, multiple calls to this method will always retrieve the same object.

Overrides:
getDirectContentUnder in class PdfWriter
Returns:
the direct content

getDirectContent

public PdfContentByte getDirectContent()
Description copied from class: PdfWriter
Use this method to get the direct content for this document. There is only one direct content, multiple calls to this method will allways retrieve the same object.

Overrides:
getDirectContent in class PdfWriter
Returns:
the direct content

readOCProperties

protected void readOCProperties()
Reads the OCProperties dictionary from the catalog of the existing document and fills the documentOCG, documentOCGorder and OCGRadioGroup variables in PdfWriter. Note that the original OCProperties of the existing document can contain more information.

Since:
2.1.2

addOrder

private void addOrder(PdfLayer parent,
                      PdfArray arr,
                      Map<String,PdfLayer> ocgmap)
Recursive method to reconstruct the documentOCGorder variable in the writer.

Parameters:
parent - a parent PdfLayer (can be null)
arr - an array possibly containing children for the parent PdfLayer
ocgmap - a HashMap with indirect reference Strings as keys and PdfLayer objects as values.
Since:
2.1.2

getPdfLayers

public Map<String,PdfLayer> getPdfLayers()
Gets the PdfLayer objects in an existing document as a Map with the names/titles of the layers as keys.

Returns:
a Map with all the PdfLayers in the document (and the name/title of the layer as key)
Since:
2.1.2

Hosted by Hostbasket