Class PdfStamperImp

All Implemented Interfaces:
DocListener, ElementListener, EventListener

public class PdfStamperImp extends PdfWriter
  • Field Details

    • readers2intrefs

      HashMap readers2intrefs
    • readers2file

      HashMap readers2file
    • file

    • reader

      PdfReader reader
    • myXref

      IntHashtable myXref
    • pagesToContent

      HashMap 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
    • namedAsNames

      protected boolean namedAsNames
    • newBookmarks

      protected List newBookmarks
    • partialFlattening

      protected HashSet partialFlattening
    • useVp

      protected boolean useVp
    • vp

      protected int vp
    • fieldTemplates

      protected HashMap 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 Details

    • PdfStamperImp

      public 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 Details

    • close

      public void close(HashMap moreInfo) throws DocumentException, IOException
      Throws:
      DocumentException
      IOException
    • close

      public void close()
      Description copied from class: PdfWriter
      Signals that the Document was closed and that no other Elements will be added.

      The pages-tree is built and written to the outputstream. A Catalog is constructed, as well as an Info-object, the referencetable is composed and everything is written to the outputstream embedded in a Trailer.

      Specified by:
      close in interface DocListener
      Overrides:
      close in class PdfWriter
    • 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) throws IOException
      Overrides:
      getReaderFile in class PdfWriter
      Throws:
      IOException
    • 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

      public PdfContentByte getUnderContent(int pageNum)
    • getOverContent

      public PdfContentByte getOverContent(int pageNum)
    • correctAcroFieldPages

      void correctAcroFieldPages(int page)
    • 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

      public AcroFields getAcroFields()
    • setFormFlattening

      public 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
      Gets 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:
    • addAnnotation

      public void addAnnotation(PdfAnnotation annot)
      Description copied from class: PdfWriter
      Adds a PdfAnnotation or a PdfFormField to the document. Only the top parent of a PdfFormField needs to be added.
      Overrides:
      addAnnotation in class PdfWriter
      Parameters:
      annot - the PdfAnnotation or the PdfFormField to add
      See Also:
    • addDocumentField

      void addDocumentField(PdfIndirectReference ref)
    • addFieldResources

      void addFieldResources()
    • expandFields

      void expandFields(PdfFormField field, ArrayList allAnnots)
    • addAnnotation

      void addAnnotation(PdfAnnotation annot, PdfDictionary pageN)
    • addAnnotation

      public 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
    • setOutlines

      void setOutlines() throws IOException
      Throws:
      IOException
    • setOutlines

      void setOutlines(List outlines)
    • setViewerPreferences

      public void setViewerPreferences(int preferences)
      Sets the viewer preferences.
      Overrides:
      setViewerPreferences in class PdfWriter
      Parameters:
      preferences - the viewer preferences
      See Also:
    • setSigFlags

      public void setSigFlags(int f)
      Set the signature flags.
      Overrides:
      setSigFlags in class PdfWriter
      Parameters:
      f - the flags. This flags are ORed with current ones
    • setPageAction

      public void setPageAction(PdfName actionType, PdfAction action) throws PdfException
      Always throws an UnsupportedOperationException.
      Overrides:
      setPageAction in class PdfWriter
      Parameters:
      actionType - ignore
      action - ignore
      Throws:
      PdfException - ignore
      See Also:
    • 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.
      Overrides:
      setDuration in class PdfWriter
      Parameters:
      seconds - ignore
    • setTransition

      public void setTransition(PdfTransition transition)
      Always throws an UnsupportedOperationException.
      Overrides:
      setTransition in class PdfWriter
      Parameters:
      transition - ignore
    • 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.
      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
    • setOpenAction

      public void setOpenAction(PdfAction action)
      Description copied from class: PdfWriter
      When the document opens this action will be invoked.
      Overrides:
      setOpenAction in class PdfWriter
      Parameters:
      action - the action to be invoked
      See Also:
    • setOpenAction

      public void setOpenAction(String name)
      Description copied from class: PdfWriter
      When the document opens it will jump to the destination with this name.
      Overrides:
      setOpenAction in class PdfWriter
      Parameters:
      name - the name of the destination to jump to
      See Also: