Class PdfFormXObject

Direct Known Subclasses:
SvgImageXObject

public class PdfFormXObject extends PdfXObject
A wrapper for Form XObject. ISO 32000-1, 8.10 FormXObjects.
  • Field Details

  • Constructor Details

    • PdfFormXObject

      public PdfFormXObject (Rectangle bBox)
      Creates a new instance of Form XObject.
      Parameters:
      bBox - the form XObject’s bounding box.
    • PdfFormXObject

      public PdfFormXObject (PdfStream pdfStream)
      Create PdfFormXObject instance by PdfStream. Note, this constructor doesn't perform any additional checks
      Parameters:
      pdfStream - PdfStream with Form XObject.
      See Also:
    • PdfFormXObject

      public PdfFormXObject (PdfPage page)
      Creates form XObject from page content. The page shall be from the document, to which FormXObject will be added.
      Parameters:
      page - an instance of PdfPage
    • PdfFormXObject

      public PdfFormXObject (WmfImageData image, PdfDocument pdfDocument)
      Creates a form XObject from WmfImageData. Unlike other images, WmfImageData images are represented as PdfFormXObject, not as PdfImageXObject.
      Parameters:
      image - image to create form object from
      pdfDocument - document instance which is needed for writing form stream contents
  • Method Details

    • calculateBBoxMultipliedByMatrix

      public static Rectangle calculateBBoxMultipliedByMatrix (PdfFormXObject form)
      Calculates the coordinates of the xObject BBox multiplied by the Matrix field.

      For mor information see paragraph 8.10.1 in ISO-32000-1.

      Parameters:
      form - the object for which calculate the coordinates of the bBox
      Returns:
      the bBox Rectangle
    • getResources

      public PdfResources getResources()
      Gets PdfResources of the Form XObject. Note, if there is no resources, a new instance will be created.
      Returns:
      not null instance of PdfResources.
    • getBBox

      public PdfArray getBBox()
      Gets Form XObject's BBox, PdfName.BBox key.
      Returns:
      a PdfArray, that represents Rectangle.
    • setBBox

      public PdfFormXObject setBBox (PdfArray bBox)
      Sets Form XObject's BBox, PdfName.BBox key.
      Parameters:
      bBox - a PdfArray, that represents Rectangle.
      Returns:
      object itself.
    • setGroup

      public PdfFormXObject setGroup (PdfTransparencyGroup transparency)
      Sets a group attributes dictionary indicating that the contents of the form XObject shall be treated as a group and specifying the attributes of that group. PdfName.Group key.
      Parameters:
      transparency - instance of PdfTransparencyGroup.
      Returns:
      object itself.
      See Also:
    • getWidth

      public float getWidth()
      Gets width based on XObject's BBox.
      Overrides:
      getWidth in class PdfXObject
      Returns:
      float value.
    • getHeight

      public float getHeight()
      Gets height based on XObject's BBox.
      Overrides:
      getHeight in class PdfXObject
      Returns:
      float value.
    • 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<PdfStream>
    • setProcessColorModel

      public PdfFormXObject setProcessColorModel (PdfName model)
      Sets process color model for trap network appearance, PdfName.PCM key.
      Parameters:
      model - shall be one of the valid values: PdfName.DeviceGray, PdfName.DeviceRGB, PdfName.DeviceCMYK, PdfName.DeviceCMY, PdfName.DeviceRGBK, and PdfName.DeviceN.
      Returns:
      object itself.
    • getProcessColorModel

      public PdfName getProcessColorModel()
      Gets process color model of trap network appearance, PdfName.PCM key.
      Returns:
      a PdfName instance, possible values: PdfName.DeviceGray, PdfName.DeviceRGB, PdfName.DeviceCMYK, PdfName.DeviceCMY, PdfName.DeviceRGBK, and PdfName.DeviceN.
    • setSeparationColorNames

      public PdfFormXObject setSeparationColorNames (PdfArray colorNames)
      Sets separation color names for the trap network appearance, PdfName.SeparationColorNames key.
      Parameters:
      colorNames - an array of names identifying the colorants that were assumed when the trap network appearance was created.
      Returns:
      object itself.
    • getSeparationColorNames

      public PdfArray getSeparationColorNames()
      Gets separation color names of trap network appearance, PdfName.SeparationColorNames key.
      Returns:
      an PdfArray of names identifying the colorants.
    • setTrapRegions

      public PdfFormXObject setTrapRegions (PdfArray regions)
      Sets an array of TrapRegion objects defining the page’s trapping zones and the associated trapping parameters, as described in Adobe Technical Note #5620, Portable Job Ticket Format. PdfName.TrapRegions key.
      Parameters:
      regions - A PdfArray of indirect references to TrapRegion objects.
      Returns:
      object itself.
    • getTrapRegions

      public PdfArray getTrapRegions()
      Gets an array of TrapRegion objects defining the page’s trapping zones and the associated trapping parameters, as described in Adobe Technical Note #5620, Portable Job Ticket Format. PdfName.TrapRegions key.
      Returns:
      A PdfArray of indirect references to TrapRegion objects.
    • setTrapStyles

      public PdfFormXObject setTrapStyles (PdfString trapStyles)
      Sets a human-readable text string that described this trap network to the user. PdfName.TrapStyles key.
      Parameters:
      trapStyles - a PdfString value.
      Returns:
      object itself.
    • getTrapStyles

      public PdfString getTrapStyles()
      Gets a human-readable text string that described this trap network to the user. PdfName.TrapStyles key.
      Returns:
      a PdfString value.
    • setMarkStyle

      public PdfFormXObject setMarkStyle (PdfString markStyle)
      Sets a text string representing the printer’s mark in human-readable form.
      Parameters:
      markStyle - a string value.
      Returns:
      object itself.
    • getMarkStyle

      public PdfString getMarkStyle()
      Gets a text string representing the printer’s mark in human-readable form.
      Returns:
      a string value.
    • put

      public PdfFormXObject put (PdfName key, PdfObject value)
      Puts the value into Image XObject dictionary and associates it with the specified key. If the key is already present, it will override the old value with the specified one.
      Parameters:
      key - key to insert or to override
      value - the value to associate with the specified key
      Returns:
      object itself.