iText 8.0.5 API
iText.Kernel.Pdf.PdfObjectWrapper< T > Class Template Referenceabstract
Inheritance diagram for iText.Kernel.Pdf.PdfObjectWrapper< T >:
iText.Kernel.Pdf.Function.AbstractPdfFunction< T >

Public Member Functions

virtual T  GetPdfObject ()
 
virtual iText.Kernel.Pdf.PdfObjectWrapper< T >  MakeIndirect (PdfDocument document, PdfIndirectReference reference)
  Marks object behind wrapper to be saved as indirect. More...
 
virtual iText.Kernel.Pdf.PdfObjectWrapper< T >  MakeIndirect (PdfDocument document)
  Marks object behind wrapper to be saved as indirect. More...
 
virtual iText.Kernel.Pdf.PdfObjectWrapper< T >  SetModified ()
 
virtual void  Flush ()
 
virtual bool  IsFlushed ()
 

Package Functions

  PdfObjectWrapper (T pdfObject)
 
abstract bool  IsWrappedObjectMustBeIndirect ()
  Defines if the object behind this wrapper must be an indirect object in the resultant document. More...
 
virtual void  SetPdfObject (T pdfObject)
 
virtual void  SetForbidRelease ()
 
virtual void  UnsetForbidRelease ()
 
virtual void  EnsureUnderlyingObjectHasIndirectReference ()
 

Static Package Functions

static void  MarkObjectAsIndirect (PdfObject pdfObject)
 
static void  EnsureObjectIsAddedToDocument (PdfObject @object)
  Some wrappers use object's indirect reference to obtain the PdfDocument to which the object belongs to. More...
 

Member Function Documentation

◆ EnsureObjectIsAddedToDocument()

static void iText.Kernel.Pdf.PdfObjectWrapper< T >.EnsureObjectIsAddedToDocument ( PdfObject object )
inlinestaticpackage

Some wrappers use object's indirect reference to obtain the PdfDocument to which the object belongs to.

Some wrappers use object's indirect reference to obtain the PdfDocument to which the object belongs to. For this matter, for these wrappers it is implicitly defined that they work with indirect objects only. Commonly these wrappers have two constructors: one with PdfDocument as parameter to create a new object, and the other one which wraps around the given PdfObject . This method should be used in the second type of constructors to ensure that wrapper will able to obtain the PdfDocument instance.

Parameters
object the PdfObject to be checked if it is indirect.

◆ IsWrappedObjectMustBeIndirect()

abstract bool iText.Kernel.Pdf.PdfObjectWrapper< T >.IsWrappedObjectMustBeIndirect ( )
packagepure virtual

Defines if the object behind this wrapper must be an indirect object in the resultant document.

Defines if the object behind this wrapper must be an indirect object in the resultant document.

If this method returns true it doesn't necessarily mean that object must be in the indirect state at any moment, but rather defines that when the object will be written to the document it will be transformed into indirect object if it's not indirect yet.

Return value of this method shouldn't depend on any logic, it should return always true or false.

Returns
true if in the resultant document the object behind the wrapper must be indirect, otherwise false.

Implemented in iText.Kernel.Pdf.PdfPage, iText.Kernel.Pdf.Annot.PdfAnnotation, iText.Kernel.Pdf.Extgstate.PdfExtGState, iText.Forms.PdfAcroForm, iText.Kernel.Pdf.Action.PdfAction, iText.Kernel.Pdf.Tagging.PdfStructElem, iText.Kernel.Pdf.Tagging.PdfStructTreeRoot, iText.Kernel.Pdf.Filespec.PdfFileSpec, iText.Kernel.Pdf.PdfResources, iText.Kernel.Pdf.PdfEncryption, iText.Kernel.Font.PdfFont, iText.Kernel.Pdf.PdfViewerPreferences, iText.Kernel.Pdf.Layer.PdfLayer, iText.Kernel.Pdf.Action.PdfAnnotationAdditionalActions, iText.Forms.Fields.AbstractPdfFormField, iText.Signatures.PdfSignature, iText.Kernel.Pdf.Colorspace.PdfShading, iText.Kernel.Pdf.Colorspace.PdfSpecialCs.UncoloredTilingPattern, iText.Kernel.Pdf.Action.PdfTarget, iText.Kernel.Pdf.Tagging.PdfNamespace, iText.Kernel.Pdf.Function.AbstractPdfFunction< T >, iText.Kernel.Pdf.Navigation.PdfExplicitDestination, iText.Kernel.Pdf.Navigation.PdfExplicitRemoteGoToDestination, iText.Kernel.Pdf.Layer.PdfOCProperties, iText.Kernel.Pdf.Colorspace.PdfSpecialCs.Pattern, iText.Forms.PdfSigFieldLock, iText.Kernel.Pdf.Collection.PdfCollectionField, iText.Kernel.Pdf.PdfDate, iText.Kernel.Pdf.Xobject.PdfXObject, iText.Kernel.Pdf.PdfCatalog, iText.Kernel.Pdf.Layer.PdfLayerMembership, iText.Kernel.Pdf.Tagging.PdfUserProperty, iText.Kernel.Pdf.Collection.PdfCollection, iText.Kernel.Pdf.PdfOutputIntent, iText.Kernel.Pdf.Colorspace.PdfPattern, iText.Kernel.Pdf.Tagging.PdfStructureAttributes, iText.Kernel.Pdf.Navigation.PdfStructureDestination, iText.Kernel.Pdf.Collection.PdfCollectionItem, iText.Kernel.Pdf.PdfAnnotationBorder, iText.Kernel.Pdf.PdfEncryptedPayload, iText.Kernel.Pdf.Action.PdfMediaClipData, iText.Kernel.Pdf.Collection.PdfCollectionSort, iText.Kernel.Pdf.Tagging.PdfMcr, iText.Signatures.PdfSignatureBuildProperties, iText.Kernel.Pdf.Xobject.PdfTransparencyGroup, iText.Kernel.Pdf.Action.PdfRendition, iText.Kernel.Pdf.Action.PdfWin, iText.Kernel.Pdf.Annot.PdfFixedPrint, iText.Kernel.Pdf.Layer.PdfVisibilityExpression, iText.Kernel.Pdf.Annot.PdfAnnotationAppearance, iText.Kernel.Pdf.Collection.PdfCollectionSchema, iText.Kernel.Pdf.Colorspace.PdfSpecialCs, iText.Kernel.Pdf.PdfEncryptedPayloadDocument, iText.Kernel.Pdf.Colorspace.PdfCieBasedCs, iText.Signatures.PdfSignatureApp, iText.Kernel.Pdf.Navigation.PdfNamedDestination, iText.Kernel.Pdf.Navigation.PdfStringDestination, iText.Kernel.Pdf.Filespec.PdfStringFS, and iText.Kernel.Pdf.Colorspace.PdfDeviceCs.

◆ MakeIndirect() [1/2]

virtual iText.Kernel.Pdf.PdfObjectWrapper iText.Kernel.Pdf.PdfObjectWrapper< T >.MakeIndirect ( PdfDocument  document )
inlinevirtual

Marks object behind wrapper to be saved as indirect.

Parameters
document a document the indirect reference will belong to.
Returns
object itself.

◆ MakeIndirect() [2/2]

virtual iText.Kernel.Pdf.PdfObjectWrapper iText.Kernel.Pdf.PdfObjectWrapper< T >.MakeIndirect ( PdfDocument  document,
PdfIndirectReference  reference 
)
inlinevirtual

Marks object behind wrapper to be saved as indirect.

Parameters
document a document the indirect reference belongs to.
reference a reference which will be assigned for the object behind wrapper.
Returns
object itself.