Class PdfShading

java.lang.Object
com.itextpdf.kernel.pdf.PdfObjectWrapper<PdfDictionary>
com.itextpdf.kernel.pdf.colorspace.PdfShading
Direct Known Subclasses:
PdfShading.Axial, PdfShading.CoonsPatchMesh, PdfShading.FreeFormGouraudShadedTriangleMesh, PdfShading.FunctionBased, PdfShading.LatticeFormGouraudShadedTriangleMesh, PdfShading.Radial, PdfShading.TensorProductPatchMesh

public abstract class PdfShading extends PdfObjectWrapper<PdfDictionary>
The abstract PdfShading class that represents the Shading Dictionary PDF object.
  • Constructor Details

  • Method Details

    • makeShading

      public static PdfShading makeShading (PdfDictionary shadingDictionary)
      Creates the PdfShading object from the existing PdfDictionary with corresponding type.
      Parameters:
      shadingDictionary - PdfDictionary from which the PdfShading object will be created.
      Returns:
      Created PdfShading object.
    • getShadingType

      public int getShadingType()
      Gets the shading type.
      Returns:
      int value of PdfName.ShadingType.
    • getColorSpace

      public PdfObject getColorSpace()
      Gets the color space in which colour values shall be expressed.
      Returns:
      PdfObject Color space
    • getFunction

      public PdfObject getFunction()
      Gets the function PdfObject that represents color transitions across the shading geometry.
      Returns:
      PdfObject Function
    • setFunction

      public void setFunction (IPdfFunction function)
      Sets the function that represents color transitions across the shading geometry as one object.
      Parameters:
      function - The IPdfFunction to set.
    • setFunction

      public void setFunction (IPdfFunction[] functions)
      Sets the function object that represents color transitions across the shading geometry as an array of functions.
      Parameters:
      functions - The array of IPdfFunction to be set.
    • flush

      public void flush()
      To manually flush a PdfObject behind this wrapper, you have to ensure that this object is added to the document, i.e. it has an indirect reference. Basically this means that before flushing you need to explicitly call PdfObjectWrapper.makeIndirect(PdfDocument). For example: wrapperInstance.makeIndirect(document).flush(); Note that not every wrapper require this, only those that have such warning in documentation.
      Overrides:
      flush in class PdfObjectWrapper<PdfDictionary>
    • isWrappedObjectMustBeIndirect

      protected boolean isWrappedObjectMustBeIndirect()
      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.
      Specified by:
      isWrappedObjectMustBeIndirect in class PdfObjectWrapper<PdfDictionary>
      Returns:
      true if in the resultant document the object behind the wrapper must be indirect, otherwise false.