org.apache.fop.pdf

## Class PDFResources

- java.lang.Object
- - org.apache.fop.pdf.PDFObject
  - - org.apache.fop.pdf.PDFDictionary
    - - org.apache.fop.pdf.PDFResources

- All Implemented Interfaces:
    PDFWritable

      public class PDFResources
      extends PDFDictionary

  Class representing a /Resources object. /Resources object contain a list of references to the fonts, patterns, shadings, etc., for the document.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Map<org.apache.fop.pdf.PDFResources.LazyName,PDFColorSpace>` | `colorSpaces` Map of color spaces (key: color space name)
    `protected Set<PDFResourceContext>` | `contexts`
    `protected Map<String,PDFDictionary>` | `fonts` /Font objects keyed by their internal name
    `protected Map<String,PDFICCBasedColorSpace>` | `iccColorSpaces` Map of ICC color spaces (key: ICC profile description)
    `protected Map<String,PDFReference>` | `properties` Named properties
    `protected Set<PDFXObject>` | `xObjects` Set of XObjects

    - ### Fields inherited from class org.apache.fop.pdf.PDFDictionary

      `entries, order`

    - ### Fields inherited from class org.apache.fop.pdf.PDFObject

      `log`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PDFResources(PDFDocument doc)` create a /Resources object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addColorSpace(PDFColorSpace colorSpace)` Add a ColorSpace dictionary to the resources.
    `void` | `addContext(PDFResourceContext c)`
    `void` | `addFont(PDFFont font)` add font object to resources list.
    `void` | `addFont(String name, PDFDictionary font)`
    `void` | `addFonts(PDFDocument doc, FontInfo fontInfo)` Add the fonts in the font info to this PDF document's Font Resources.
    `void` | `addProperty(String name, PDFReference property)` Add a named property.
    `void` | `addXObject(PDFXObject xObject)` Add an XObject to the resources.
    `void` | `createFontsAsObj()`
    `void` | `getChildren(Set<PDFObject> children)`
    `PDFColorSpace` | `getColorSpace(PDFName name)` Returns a color space by name.
    `PDFICCBasedColorSpace` | `getICCColorSpaceByProfileName(String desc)` Returns a ICCBased color space by profile name.
    `PDFResources` | `getParentResources()`
    `PDFReference` | `getProperty(String name)` Get a named property.
    `int` | `output(OutputStream stream)` Write the PDF represention of this object
    `void` | `setParentResources(PDFResources p)`

    - ### Methods inherited from class org.apache.fop.pdf.PDFDictionary

      `containsKey, get, getChildren, keySet, put, put, remove, writeDictionary`

    - ### Methods inherited from class org.apache.fop.pdf.PDFObject

      `contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF, toPDFString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### fonts

          protected Map<String,PDFDictionary> fonts

      /Font objects keyed by their internal name

    - #### xObjects

          protected Set<PDFXObject> xObjects

      Set of XObjects

    - #### colorSpaces

          protected Map<org.apache.fop.pdf.PDFResources.LazyName,PDFColorSpace> colorSpaces

      Map of color spaces (key: color space name)

    - #### iccColorSpaces

          protected Map<String,PDFICCBasedColorSpace> iccColorSpaces

      Map of ICC color spaces (key: ICC profile description)

    - #### properties

          protected Map<String,PDFReference> properties

      Named properties

    - #### contexts

          protected Set<PDFResourceContext> contexts

  - ### Constructor Detail

    - #### PDFResources

          public PDFResources(PDFDocument doc)

      create a /Resources object.

  - ### Method Detail

    - #### addContext

          public void addContext(PDFResourceContext c)

    - #### setParentResources

          public void setParentResources(PDFResources p)

    - #### getParentResources

          public PDFResources getParentResources()

    - #### addFont

          public void addFont(PDFFont font)

      add font object to resources list.
      Parameters:
        `font` - the PDFFont to add

    - #### addFont

          public void addFont(String name,
                              PDFDictionary font)

    - #### createFontsAsObj

          public void createFontsAsObj()

    - #### addFonts

          public void addFonts(PDFDocument doc,
                               FontInfo fontInfo)

      Add the fonts in the font info to this PDF document's Font Resources.
      Parameters:
        `doc` - PDF document to add fonts to
        `fontInfo` - font info object to get font information from

    - #### addXObject

          public void addXObject(PDFXObject xObject)

      Add an XObject to the resources.
      Parameters:
        `xObject` - the XObject to add

    - #### addColorSpace

          public void addColorSpace(PDFColorSpace colorSpace)

      Add a ColorSpace dictionary to the resources.
      Parameters:
        `colorSpace` - the color space

    - #### getICCColorSpaceByProfileName

          public PDFICCBasedColorSpace getICCColorSpaceByProfileName(String desc)

      Returns a ICCBased color space by profile name.
      Parameters:
        `desc` - the name of the color space
      Returns:
        the requested color space or null if it wasn't found

    - #### getColorSpace

          public PDFColorSpace getColorSpace(PDFName name)

      Returns a color space by name.
      Parameters:
        `name` - the name of the color space
      Returns:
        the requested color space or null if it wasn't found

    - #### addProperty

          public void addProperty(String name,
                                  PDFReference property)

      Add a named property.
      Parameters:
        `name` - name of property
        `property` - reference to property value

    - #### getProperty

          public PDFReference getProperty(String name)

      Get a named property.
      Parameters:
        `name` - name of property

    - #### output

          public int output(OutputStream stream)
                     throws IOException

      Description copied from class: `PDFDictionary`
      Write the PDF represention of this object
      Overrides:
        `output` in class `PDFDictionary`
      Parameters:
        `stream` - the stream to write the PDF to
      Returns:
        the number of bytes written
      Throws:
        `IOException` - if there is an error writing to the stream

    - #### getChildren

          public void getChildren(Set<PDFObject> children)

      Overrides:
        `getChildren` in class `PDFDictionary`

Copyright © 2023 Apache Software Foundation. All rights reserved.