Class PDFCloneUtility

java.lang.Object
org.apache.pdfbox.multipdf.PDFCloneUtility

public class PDFCloneUtility extends Object
Utility class used to clone PDF objects. It keeps track of objects it has already cloned. Although this class is public, it is for PDFBox internal use and should not be used outside, except by very experienced users. The "public" modifier will be removed in 3.0. The class should not be used on documents that are being generated because these can contain unfinished parts, e.g. font subsetting information.
  • Constructor Details

    • PDFCloneUtility

      public PDFCloneUtility(PDDocument dest)
      Creates a new instance for the given target document.
      Parameters:
      dest - the destination PDF document that will receive the clones
  • Method Details

    • getDestination

      public PDDocument getDestination()
      Returns the destination PDF document this cloner instance is set up for.
      Returns:
      the destination PDF document
    • cloneForNewDocument

      public COSBase cloneForNewDocument(Object base) throws IOException
      Deep-clones the given object for inclusion into a different PDF document identified by the destination parameter.
      Parameters:
      base - the initial object as the root of the deep-clone operation
      Returns:
      the cloned instance of the base object
      Throws:
      IOException - if an I/O error occurs
    • cloneMerge

      public void cloneMerge(COSObjectable base, COSObjectable target) throws IOException
      Merges two objects of the same type by deep-cloning its members.
      Base and target must be instances of the same class.
      Parameters:
      base - the base object to be cloned
      target - the merge target
      Throws:
      IOException - if an I/O error occurs