# Adobe PDF Library 18 Java API Reference APDFL18.0.5PlusP2e > The Adobe PDF Library Java API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. - Product: Adobe PDF Library 18 - Language: Java - Version: APDFL18.0.5PlusP2e - HTML page: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e - Version index: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/llms.txt The Adobe PDF Library Java API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. ## Instantiating the Library The Library object must be instantiated on each thread before any of the PDFL objects are used. If the Library object is instantiated on any thread, it must also at least be instantiated on the main thread. In addition, for cleanup purposes, the Delete method **must** be called on the Library object before the thread is terminated. ```java Library lib = new Library(); // your application code that uses PDFL goes here... lib.delete(); ``` The Library object can be instantiated without specifying flags or a list of Resource locations. User resources will be placed first in the search list. ## Activating a License-Managed version To use an activation key, the *setLicenseKey()* static method of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```java Library.setLicenseKey("xxxx-xxxx-xxxx-xxxx"); Library lib = new Library(); ``` --- # Action Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action ```java class Action ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`GoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`URIAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/URIAction.md) ## Description When a user clicks a link or bookmark in a PDF, an action occurs, moving the reader to a new location. An action can involve moving the reader to a new page in the file, for example. Also, with a PDF Viewer a PDF file can have an Action that runs automatically when a user opens the file, or reaches a specific page. Applications can support Actions in custom annotation types they add. Only GoTo and URI Actions are supported; you can only use an Action with the interface to move from one part of a file to another or open an external web page. **Referenced by:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`URIAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/URIAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### Action ```java com.datalogics.PDFL.Action.Action(Document doc, String type) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document in which the action is created. - `type` (`String`): The string corresponding to the action's subtype. Creates a new action object. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Action.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Action.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Action.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Action.finalize() ``` *protected* **Returns:** `void` ### getPDFDict ```java PDFDict com.datalogics.PDFL.Action.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this Action. Retrieve the PDFObject representation of this object. ### getSubtype ```java String com.datalogics.PDFL.Action.getSubtype() ``` **Returns:** `String` The subtype string for this action, such as "GoTo", "URI", "Launch", or "GoToR". The action's subtype. ### toString ```java String com.datalogics.PDFL.Action.toString() ``` **Returns:** `String` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # Annotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation ```java class Annotation ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md) ## Description Associates an object with its location on a page of a PDF document. An annotation associates an object such as a note, sound, or movie with a location on a page of a PDF document, or provides a way to interact with the user by means of the mouse and keyboard. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Annotation ```java com.datalogics.PDFL.Annotation.Annotation(Page page, String subtype, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `subtype` (`String`): The type of the annotation. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. Create a new Annotation at the end of a page's annotation array. To create an annotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### Annotation ```java com.datalogics.PDFL.Annotation.Annotation(Page page, String subtype, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `subtype` (`String`): The type of the annotation. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. Create a new Annotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Annotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Annotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Annotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.Annotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the visual appearance, or null if the appearance could not be generated. Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.Annotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version level (e.g. 1.3, 1.4, or 1.5). The minimum PDF version necessary to support the features used in this annotation. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.Annotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`): The target PDF version level. Features requiring a higher version will be removed. **Returns:** `void` Removes features not supported in the supplied version number. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # AxialShadingPattern Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern ```java class AxialShadingPattern : ShadingPattern ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md) ## Description A color blend that varies along an axis. An axial shading specifies a color blend that varies along a linear axis between two endpoints, and indefinitely perpendicular to that axis. **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### AxialShadingPattern ```java com.datalogics.PDFL.AxialShadingPattern.AxialShadingPattern(ColorSpace colorSpace, java.util.List< Point > coords, java.util.List< Function > function) ``` *constructor* **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The color space for the pattern. - `coords` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The coordinates of the two endpoints of the axial shading. - `function` ([`java.util.List< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): One 1-in n-out function, or an array of n 1-in 1-out functions that determine the values of the color channels. Create an AxialShadingPattern. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.AxialShadingPattern.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.AxialShadingPattern.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.AxialShadingPattern.finalize() ``` *protected* **Returns:** `void` ### getAntiAlias ```java boolean com.datalogics.PDFL.ShadingPattern.getAntiAlias() ``` **Returns:** `boolean` true if anti-aliasing is enabled, false otherwise. Gets whether anti-aliasing is enabled for the shading. When enabled, the shading function is filtered to prevent aliasing artifacts. ### getBackgroundColor ```java Color com.datalogics.PDFL.ShadingPattern.getBackgroundColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The background Color, or NULL if none is set. Gets the background color of the shading pattern. This color must be in the color space of the shading pattern. If present, it is used to fill the areas that are outside the bounds of the shading object. May be NULL. ### getBoundingBox ```java Rect com.datalogics.PDFL.ShadingPattern.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box Rect, or NULL if none is set. Gets the bounding box of the shading. The coordinates are interpreted in the target coordinate space. If present, provides an additional, temporary clipping boundary to the shading. ### getColorSpace ```java ColorSpace com.datalogics.PDFL.ShadingPattern.getColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The ColorSpace of the shading pattern. Gets the color space of a shading pattern. This space is restricted to be any space except a Pattern space. ### getCoords ```java java.util.List< Point > com.datalogics.PDFL.AxialShadingPattern.getCoords() ``` **Returns:** [`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) A list of two Point objects defining the start and end of the axis. The coordinates of the two endpoints of the axial shading. ### getDomain ```java java.util.List< Double > com.datalogics.PDFL.AxialShadingPattern.getDomain() ``` **Returns:** `java.util.List< Double >` A list of two doubles, or null if not set. The domain of the parametric variable t for the axial shading. An array of two numbers that specify the limiting values of the parametric variable t. This variable t varies linearly between these two values as the gradient varies between the starting and ending points of the axis. Defaults to [0, 1]. May be NULL. ### getExtend ```java java.util.List< Boolean > com.datalogics.PDFL.AxialShadingPattern.getExtend() ``` **Returns:** `java.util.List< Boolean >` A list of two booleans, or null if not set. Whether the shading extends beyond the start and end points of the axis. An array of two boolean values indicating whether to extend the shading beyond the starting and ending points of the axis, respectively. Default value: [false, false]. May be NULL. ### getFunction ```java java.util.List< Function > com.datalogics.PDFL.AxialShadingPattern.getFunction() ``` **Returns:** [`java.util.List< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) A list of Function objects used to compute color values. The function(s) that determine the color channel values for the shading. One 1-in n-out function, or an array of n 1-in 1-out functions that determine the values of the color channels, where n is the number of color components in the shading's color space. The functions are called with a parametric variable t which varies across the Domain. ### getPDFObject ```java PDFObject com.datalogics.PDFL.Pattern.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject representing this pattern in the PDF document. Gets the underlying PDF object for this pattern. ### setAntiAlias ```java void com.datalogics.PDFL.ShadingPattern.setAntiAlias(boolean antiAlias) ``` **Parameters** - `antiAlias` (`boolean`): true to enable anti-aliasing, false to disable it. **Returns:** `void` Sets whether anti-aliasing is enabled for the shading. When enabled, the shading function is filtered to prevent aliasing artifacts. ### setBackgroundColor ```java void com.datalogics.PDFL.ShadingPattern.setBackgroundColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The background Color to set, or NULL to remove it. **Returns:** `void` Sets the background color of the shading pattern. This color must be in the color space of the shading pattern. If present, it is used to fill the areas that are outside the bounds of the shading object. Set to NULL to remove the background color. ### setBoundingBox ```java void com.datalogics.PDFL.ShadingPattern.setBoundingBox(Rect boundingBox) ``` **Parameters** - `boundingBox` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The bounding box Rect to set, or NULL to remove it. **Returns:** `void` Sets the bounding box of the shading. The coordinates are interpreted in the target coordinate space. If present, provides an additional, temporary clipping boundary to the shading. Set to NULL to remove the bounding box. ### setColorSpace ```java void com.datalogics.PDFL.ShadingPattern.setColorSpace(ColorSpace colorSpace) ``` **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The ColorSpace to set for the shading pattern. **Returns:** `void` Sets the color space of a shading pattern. This space is restricted to be any space except a Pattern space. ### setCoords ```java void com.datalogics.PDFL.AxialShadingPattern.setCoords(java.util.List< Point > coords) ``` **Parameters** - `coords` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): A list of exactly two Point objects defining the start and end of the axis. **Returns:** `void` Set the coordinates of the two endpoints of the axial shading. ### setDomain ```java void com.datalogics.PDFL.AxialShadingPattern.setDomain(java.util.List< Double > domain) ``` **Parameters** - `domain` (`java.util.List< Double >`): A list of exactly two doubles, or null to remove. **Returns:** `void` Set the domain of the parametric variable t for the axial shading. An array of two numbers that specify the limiting values of the parametric variable t. This variable t varies linearly between these two values as the gradient varies between the starting and ending points of the axis. Default value: [0, 1]. Pass NULL to remove the domain entry. ### setExtend ```java void com.datalogics.PDFL.AxialShadingPattern.setExtend(java.util.List< Boolean > extend) ``` **Parameters** - `extend` (`java.util.List< Boolean >`): A list of exactly two booleans, or null to remove. **Returns:** `void` Set whether the shading extends beyond the start and end points of the axis. An array of two boolean values indicating whether to extend the shading beyond the starting and ending points of the axis, respectively. Default value: [false, false]. Pass NULL to remove the extend entry. ### setFunction ```java void com.datalogics.PDFL.AxialShadingPattern.setFunction(java.util.List< Function > function) ``` **Parameters** - `function` ([`java.util.List< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): A list of one or more Function objects. Must contain at least one function. **Returns:** `void` Set the function(s) that determine the color channel values for the shading. One 1-in n-out function, or an array of n 1-in 1-out functions that determine the values of the color channels, where n is the number of color components in the shading's color space. The functions are called with a parametric variable t which varies across the Domain. ### toString ```java String com.datalogics.PDFL.AxialShadingPattern.toString() ``` **Returns:** `String` A formatted string describing this AxialShadingPattern. Return a string representation of the AxialShadingPattern. The string includes the color space, background color, bounding box, anti-alias flag, coordinates, function, domain, and extend values. --- # BaseInputNozzle Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle ```java class BaseInputNozzle ``` **Namespace:** `com::datalogics::PDFL` **Referenced by:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md) ## Constructors ### BaseInputNozzle ```java com.datalogics.PDFL.BaseInputNozzle.BaseInputNozzle() ``` *constructor* ## Methods ### close ```java void com.datalogics.PDFL.BaseInputNozzle.close() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.BaseInputNozzle.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.BaseInputNozzle.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.BaseInputNozzle.finalize() ``` *protected* **Returns:** `void` --- # BaseOutputNozzle Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseOutputNozzle ```java class BaseOutputNozzle ``` **Namespace:** `com::datalogics::PDFL` **Referenced by:** [`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ## Constructors ### BaseOutputNozzle ```java com.datalogics.PDFL.BaseOutputNozzle.BaseOutputNozzle() ``` *constructor* ## Methods ### close ```java void com.datalogics.PDFL.BaseOutputNozzle.close() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.BaseOutputNozzle.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.BaseOutputNozzle.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.BaseOutputNozzle.finalize() ``` *protected* **Returns:** `void` --- # Bookmark Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark ```java class Bookmark ``` **Namespace:** `com::datalogics::PDFL` ## Description A bookmark on a page of a PDF document. Each bookmark has a title that appears on screen, and an action that specifies what happens when a user clicks on the bookmark. The typical action for a user-created bookmark is to move to another location in the current document, although any action (see Action) can be specified. **Referenced by:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Methods ### addChild ```java void com.datalogics.PDFL.Bookmark.addChild(Bookmark child) ``` **Parameters** - `child` ([`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md)): the bookmark being added. **Returns:** `void` Add an existing bookmark to be the child bookmark of a parent. ### addNextSibling ```java void com.datalogics.PDFL.Bookmark.addNextSibling(Bookmark NewRightSibling) ``` **Parameters** - `NewRightSibling` ([`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md)): The bookmark to become the new right sibling. **Returns:** `void` Add a bookmark to a tree as the next (right) sibling. ### addPreviousSibling ```java void com.datalogics.PDFL.Bookmark.addPreviousSibling(Bookmark NewLeftSibling) ``` **Parameters** - `NewLeftSibling` ([`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md)): The bookmark to become the new left sibling. **Returns:** `void` Add a bookmark to a tree as the previous (left) sibling. ### addSubtree ```java void com.datalogics.PDFL.Bookmark.addSubtree(Bookmark subtree, String title) ``` **Parameters** - `subtree` ([`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md)): The bookmark subtree to add. - `title` (`String`): the title of the newly added subtree. **Returns:** `void` Add a copy of a subtree as the new last child of a parent bookmark, and gives the subtree an initial title. ### createNewChild ```java Bookmark com.datalogics.PDFL.Bookmark.createNewChild(Page page, String title) ``` **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The PDF page of the new child bookmark. - `title` (`String`): The initial title of the new child bookmark. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The newly created child bookmark. (Deprecated, function may be removed in the future, use single-parameter CreateNewChild() method instead) Create a bookmark and add to a parent as the last child bookmark, and give the new bookmark an initial title. ### createNewChild ```java Bookmark com.datalogics.PDFL.Bookmark.createNewChild(String title) ``` **Parameters** - `title` (`String`): The initial text of the new child bookmark. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The newly created child bookmark. Create a new bookmark and add to a parent as the last child bookmark, using supplied string as the initial text. ### createNewSibling ```java Bookmark com.datalogics.PDFL.Bookmark.createNewSibling(String title) ``` **Parameters** - `title` (`String`): The initial text for the new right sibling. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The newly created sibling bookmark. Create a new bookmark in a tree as the next (right) sibling, using supplied string as the initial text. ### delete ```java synchronized void com.datalogics.PDFL.Bookmark.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Bookmark.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.Bookmark.destroy() ``` **Returns:** `void` Removes a bookmark subtree from the bookmark tree containing it. ### equals ```java boolean com.datalogics.PDFL.Bookmark.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Bookmark.finalize() ``` *protected* **Returns:** `void` ### findDescendentBookmark ```java Bookmark com.datalogics.PDFL.Bookmark.findDescendentBookmark(String title) ``` **Parameters** - `title` (`String`): The title of the bookmark for which to search. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The bookmark within this bookmark's tree that has the supplied title. Returns NULL if there is no bookmark with the supplied title. Find bookmark by its title within the subtree of which this bookmark is the root, searching within the entire subtree. ### findDescendentBookmark ```java Bookmark com.datalogics.PDFL.Bookmark.findDescendentBookmark(String title, int maxDepth) ``` **Parameters** - `title` (`String`): The title of the bookmark for which to search. - `maxDepth` (`int`): If supplied, declares the number of levels below this bookmark to search. (If omitted, the entire subtree is searched.) **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The bookmark within this bookmark's tree that has the supplied title. Returns NULL if there is no bookmark with the supplied title. Find bookmark by its title within the subtree of which this bookmark is the root, searching within the subtree to a depth determined by maxDepth (e.g., 0 = this bookmark only and not any of its children, 1 = search one level below this bookmark level, etc.) ### getAction ```java Action com.datalogics.PDFL.Bookmark.getAction() ``` **Returns:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) The action of the bookmark. Get the Action for a bookmark. ### getColor ```java Color com.datalogics.PDFL.Bookmark.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) the color, or null if no color was specified Get the color of the bookmark. ### getCount ```java int com.datalogics.PDFL.Bookmark.getCount() ``` **Returns:** `int` the number of open bookmarks. Get the number of open bookmarks in the subtree under this bookmark. ### getFirstChild ```java Bookmark com.datalogics.PDFL.Bookmark.getFirstChild() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The first child of Bookmark, or null if Bookmark has no children. Gets a bookmark's first child. ### getFlags ```java java.util.EnumSet< BookmarkFlags > com.datalogics.PDFL.Bookmark.getFlags() ``` **Returns:** `java.util.EnumSet< BookmarkFlags >` the flags Get the flags for the bookmark. ### getIndent ```java int com.datalogics.PDFL.Bookmark.getIndent() ``` **Returns:** `int` the indentation level of the bookmark. Get the indentation level of a bookmark in its containing tree. ### getLastChild ```java Bookmark com.datalogics.PDFL.Bookmark.getLastChild() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The last child of Bookmark, or null if Bookmark has no children. Gets a bookmark's last child. ### getNext ```java Bookmark com.datalogics.PDFL.Bookmark.getNext() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The Bookmark object's next (right) sibling. It returns null if Bookmark has no next sibling (that is, it is its parent's last child). Gets a bookmark's next (right) sibling. ### getOpen ```java boolean com.datalogics.PDFL.Bookmark.getOpen() ``` **Returns:** `boolean` true if the bookmark is open. Is the bookmark open? ### getPDFDict ```java PDFDict com.datalogics.PDFL.Bookmark.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The dictionary associated with the bookmark. Get the dictionary associated with the bookmark. ### getParent ```java Bookmark com.datalogics.PDFL.Bookmark.getParent() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The Bookmark object's parent. It returns null if Bookmark has no parent (that is, it is the root of the tree). Gets a bookmark's parent. ### getPrevious ```java Bookmark com.datalogics.PDFL.Bookmark.getPrevious() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The Bookmark object's previous (left) sibling. It returns null if Bookmark has no previous sibling (that is, it is its parent's first child). Gets a bookmark's previous (left) sibling. ### getTitle ```java String com.datalogics.PDFL.Bookmark.getTitle() ``` **Returns:** `String` The title of the bookmark. ### getViewDestination ```java ViewDestination com.datalogics.PDFL.Bookmark.getViewDestination() ``` **Returns:** [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) the view destination If this bookmark has a GoTo action, then return the destination of the action, else return null. ### hasChildren ```java boolean com.datalogics.PDFL.Bookmark.hasChildren() ``` **Returns:** `boolean` true if the bookmark has children. Does the bookmark have children? ### isOpen ```java boolean com.datalogics.PDFL.Bookmark.isOpen() ``` **Returns:** `boolean` true if the bookmark is open. Is the bookmark open? ### setAction ```java void com.datalogics.PDFL.Bookmark.setAction(Action action) ``` **Parameters** - `action` ([`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md)): The action to set for the bookmark. **Returns:** `void` Set the Action for a bookmark. ### setColor ```java void com.datalogics.PDFL.Bookmark.setColor(Color bookmarkcolor) ``` **Parameters** - `bookmarkcolor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)) **Returns:** `void` Set the color of the bookmark. ### setFlags ```java void com.datalogics.PDFL.Bookmark.setFlags(java.util.EnumSet< BookmarkFlags > arg0) ``` **Parameters** - `arg0` (`java.util.EnumSet< BookmarkFlags >`) **Returns:** `void` Set the flags for the bookmark to the parameter values. ### setOpen ```java void com.datalogics.PDFL.Bookmark.setOpen(boolean openvalue) ``` **Parameters** - `openvalue` (`boolean`) **Returns:** `void` Set if the bookmark is open or closed. ### setTitle ```java void com.datalogics.PDFL.Bookmark.setTitle(String title) ``` **Parameters** - `title` (`String`) **Returns:** `void` The title of the bookmark. ### toString ```java String com.datalogics.PDFL.Bookmark.toString() ``` **Returns:** `String` A string describing this Bookmark and its properties. Returns a string representation of this Bookmark. The string includes the title, color, flags, count, indent level, open state, and view destination if available. ### unlink ```java void com.datalogics.PDFL.Bookmark.unlink() ``` **Returns:** `void` Unlinks the bookmark from the bookmark tree that contains it and adjusts the tree appropriately. --- # BooleanVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BooleanVector ```java class BooleanVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### BooleanVector ```java com.datalogics.PDFL.BooleanVector.BooleanVector() ``` *constructor* ### BooleanVector ```java com.datalogics.PDFL.BooleanVector.BooleanVector(Iterable< Boolean > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Boolean >`) ### BooleanVector ```java com.datalogics.PDFL.BooleanVector.BooleanVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.BooleanVector.add(boolean x) ``` **Parameters** - `x` (`boolean`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.BooleanVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.BooleanVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.BooleanVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.BooleanVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.BooleanVector.finalize() ``` *protected* **Returns:** `void` ### get ```java boolean com.datalogics.PDFL.BooleanVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `boolean` ### isEmpty ```java boolean com.datalogics.PDFL.BooleanVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.BooleanVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.BooleanVector.set(int i, boolean val) ``` **Parameters** - `i` (`int`) - `val` (`boolean`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.BooleanVector.size() ``` **Returns:** `long` --- # ByteVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ByteVector ```java class ByteVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### ByteVector ```java com.datalogics.PDFL.ByteVector.ByteVector() ``` *constructor* ### ByteVector ```java com.datalogics.PDFL.ByteVector.ByteVector(Iterable< Byte > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Byte >`) ### ByteVector ```java com.datalogics.PDFL.ByteVector.ByteVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.ByteVector.add(short x) ``` **Parameters** - `x` (`short`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.ByteVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.ByteVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.ByteVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ByteVector.finalize() ``` *protected* **Returns:** `void` ### get ```java short com.datalogics.PDFL.ByteVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `short` ### isEmpty ```java boolean com.datalogics.PDFL.ByteVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.ByteVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.ByteVector.set(int i, short val) ``` **Parameters** - `i` (`int`) - `val` (`short`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.ByteVector.size() ``` **Returns:** `long` --- # CalGrayColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalGrayColorSpace ```java class CalGrayColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description A calibrated gray color space. A CalGray color space is a special case of a single-component CIE-based color space, known as a CIE-based A color space. This type of space is the one-dimensional (and usually achromatic) analog of CIE-based ABC spaces. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### CalGrayColorSpace ```java com.datalogics.PDFL.CalGrayColorSpace.CalGrayColorSpace(java.util.List< Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. Create a CalGray color space. The blackPoint defaults to [0.0, 0.0, 0.0]. The gamma defaults to 1 ### CalGrayColorSpace ```java com.datalogics.PDFL.CalGrayColorSpace.CalGrayColorSpace(java.util.List< Double > whitePoint, java.util.List< Double > blackPoint, double gamma) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. - `blackPoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. - `gamma` (`double`): A number G defining the gamma for the gray component. G must be positive and is generally greater than or equal to 1. Create a CalGray color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CalGrayColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CalGrayColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.CalGrayColorSpace.finalize() ``` *protected* **Returns:** `void` ### getBlackPoint ```java java.util.List< Double > com.datalogics.PDFL.CalGrayColorSpace.getBlackPoint() ``` **Returns:** `java.util.List< Double >` An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. ### getGamma ```java double com.datalogics.PDFL.CalGrayColorSpace.getGamma() ``` **Returns:** `double` A number G defining the gamma for the gray component. G must be positive and is generally greater than or equal to 1. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### getWhitePoint ```java java.util.List< Double > com.datalogics.PDFL.CalGrayColorSpace.getWhitePoint() ``` **Returns:** `java.util.List< Double >` An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # CalRGBColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalRGBColorSpace ```java class CalRGBColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description A calibrated RGB color space. A CalRGB color space (Red, Green, Blue) is a CIE-based ABC color space with only one transformation stage instead of two. In this type of space, A, B, and C represent calibrated red, green, and blue color values. These three color components must be in the range 0.0 to 1.0; component values falling outside that range are adjusted to the nearest valid value without error indication. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### CalRGBColorSpace ```java com.datalogics.PDFL.CalRGBColorSpace.CalRGBColorSpace(java.util.List< Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. Create a CalRGB color space. The blackPoint defaults to [0.0, 0.0, 0.0]. The gamma defaults to [1.0, 1.0, 1.0]. The matrix defaults to [1 0 0 0 1 0 0 0 1] ### CalRGBColorSpace ```java com.datalogics.PDFL.CalRGBColorSpace.CalRGBColorSpace(java.util.List< Double > whitePoint, java.util.List< Double > blackPoint, java.util.List< Double > gamma, java.util.List< Double > matrix) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. - `blackPoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. - `gamma` (`java.util.List< Double >`): An array of three numbers [ GR GG GB ] specifying the gamma for the red, green, and blue (A, B, and C) components of the color space. - `matrix` (`java.util.List< Double >`): An array of nine numbers [ XA YA ZA XB YB ZB XC YC ZC ] specifying the linear interpretation of the decoded A, B, and C components of the color space with respect to the final XYZ representation. Create a CalRGB color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CalRGBColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CalRGBColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.CalRGBColorSpace.finalize() ``` *protected* **Returns:** `void` ### getBlackPoint ```java java.util.List< Double > com.datalogics.PDFL.CalRGBColorSpace.getBlackPoint() ``` **Returns:** `java.util.List< Double >` An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. ### getGamma ```java java.util.List< Double > com.datalogics.PDFL.CalRGBColorSpace.getGamma() ``` **Returns:** `java.util.List< Double >` A number G defining the gamma for the gray component. G must be positive and is generally greater than or equal to 1. ### getMatrix ```java java.util.List< Double > com.datalogics.PDFL.CalRGBColorSpace.getMatrix() ``` **Returns:** `java.util.List< Double >` An array of nine numbers [ XA YA ZA XB YB ZB XC YC ZC ] specifying the linear interpretation of the decoded A, B, and C components of the color space with respect to the final XYZ representation. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### getWhitePoint ```java java.util.List< Double > com.datalogics.PDFL.CalRGBColorSpace.getWhitePoint() ``` **Returns:** `java.util.List< Double >` An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # CancelProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc ```java class CancelProc ``` **Namespace:** `com::datalogics::PDFL` ## Description A callback function used to abort an operation. A CancelProc() value is typically passed to a method that uses it to determine if an asynchronous operation should be ended. At periodic intervals, the method calls the CancelProc. If the CancelProc returns a "true" boolean value, the method cancels the operation. If CancelProc returns false, the method allows the operation to continue. For example, CancelProc could be used to allow a user to click a Cancel button to end a function. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SignDoc.md) ## Constructors ### CancelProc ```java com.datalogics.PDFL.CancelProc.CancelProc() ``` *constructor* A callback function used to abort an operation. A CancelProc() value is typically passed to a method that uses it to determine if an asynchronous operation should be ended. At periodic intervals, the method calls the CancelProc. If the CancelProc returns a "true" boolean value, the method cancels the operation. If CancelProc returns false, the method allows the operation to continue. For example, CancelProc could be used to allow a user to click a Cancel button to end a function. ## Methods ### Call ```java boolean com.datalogics.PDFL.CancelProc.Call() ``` **Returns:** `boolean` ### delete ```java synchronized void com.datalogics.PDFL.CancelProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CancelProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CancelProc.finalize() ``` *protected* **Returns:** `void` --- # CircleAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation ```java class CircleAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A circle annotation is an annotation surrounded by a curved and possibly elliptical border. The circle is inscribed within the annotation rectangle. Despite the circle name, the width and height of the annotation rectangle need not be equal. So the circle can actually be an ellipse. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### CircleAnnotation ```java com.datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the CircleAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. Create a new CircleAnnotation at the end of a page's annotation array. To create a CircleAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### CircleAnnotation ```java com.datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. Create a new CircleAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CircleAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CircleAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.CircleAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.CircleAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the visual appearance of this annotation, or null if the appearance could not be generated (e.g. due to an invalid border style). Generate a new appearance stream for this circle annotation. Creates an appearance based on the current annotation properties, including color, interior color, border style, and bounding rectangle. The circle (or ellipse) is inscribed within the annotation rectangle. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.CircleAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version level (e.g. 1.3, 1.4, or 1.5). The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.CircleAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.CircleAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.CircleAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.CircleAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.CircleAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.CircleAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.CircleAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # Clip Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip ```java class Clip ``` **Namespace:** `com::datalogics::PDFL` ## Description A clipping path is used to mark an area within a page to be highlighted or removed. The clipping path clips out part of the design. A clip can also be used with text. The clipping path defines an area within a page (text or graphic) that will be highlighted or removed. For example, a clipping path could be used to remove the background in a photograph, to highlight a person or object in front, or to super-impose text over an image. Only part of the image appears through a shape created with the clipping path. The Clip class is made up of a list of path and text elements. Any element can have a clip associated with it, and clip objects can hold arbitrary levels of nested container and group objects. If a group object is inside a clip object, and the clip object also contains at least one text object and no path objects, the group object has a special meaning. All text objects contained in a group object like this are considered to be part of the same BT/ET block. This means that the union of these text objects makes up a single clipping path. The text objects do not intersect. **Referenced by:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Constructors ### Clip ```java com.datalogics.PDFL.Clip.Clip() ``` *constructor* Creates an empty Clip object. This represents a clipping object that has no effect on elements that refer to it. ## Methods ### addElement ```java void com.datalogics.PDFL.Clip.addElement(Element element) ``` **Parameters** - `element` ([`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md)): The Element to add to the Clip. **Returns:** `void` Adds an Element to a Clip path as the first indexed Element. ### addElement ```java void com.datalogics.PDFL.Clip.addElement(Element element, int addAfterIndex) ``` **Parameters** - `element` ([`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md)): The Element to add to the Clip. - `addAfterIndex` (`int`): The index after which this Element will be added to the Clip's list of Elements. If omitted, it will be added as index 0, i.e., the first Element. **Returns:** `void` Adds an Element to a Clip path, after the Element index specified. ### clone ```java Clip com.datalogics.PDFL.Clip.clone() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) A new clip object deep copy Makes a new deep copy of this Clip object in memory. ### delete ```java synchronized void com.datalogics.PDFL.Clip.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Clip.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Clip.finalize() ``` *protected* **Returns:** `void` ### getElement ```java Element com.datalogics.PDFL.Clip.getElement(int index) ``` **Parameters** - `index` (`int`): The index of the desired Element. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) - The Element found at the supplied index in the Clip's Element list. Gets an Element from a Clip path. ### numElements ```java int com.datalogics.PDFL.Clip.numElements() ``` **Returns:** `int` - The number of top-level Elements in the Clip. Gets the number of top-level Elements in a Clip object. ### removeElements ```java void com.datalogics.PDFL.Clip.removeElements(int index) ``` **Parameters** - `index` (`int`): The index of the Element to remove. **Returns:** `void` Removes an Element from a Clip object. ### removeElements ```java void com.datalogics.PDFL.Clip.removeElements(int index, int count) ``` **Parameters** - `index` (`int`): The index of the first Element to remove. - `count` (`int`): The number of Elements to remove, starting with the index Element. **Returns:** `void` Removes one or more Elements from a Clip object. ### toString ```java String com.datalogics.PDFL.Clip.toString() ``` **Returns:** `String` --- # ClosePath Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ClosePath ```java class ClosePath : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description An operator that completes a vector shape, drawing a line from the first point to the last point. A path is a series of commands that define the boundary of a vector shape. The ClosePath command draws a line from the current location back to its starting point, effectively closing a box or parabolic shape on a page. ## Constructors ### ClosePath ```java com.datalogics.PDFL.ClosePath.ClosePath() ``` *constructor* Close the current subpath by appending a straight line segment from the current point to the starting point of the subpath. If the current subpath is already closed, ClosePath does nothing. This segment terminates the current subpath. Appending another segment to the current path begins a new subpath, even if the new segment begins at the endpoint reached by the ClosePath operation. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ClosePath.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ClosePath.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ClosePath.finalize() ``` *protected* **Returns:** `void` ### toString ```java String com.datalogics.PDFL.ClosePath.toString() ``` **Returns:** `String` --- # Collection Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Collection ```java class Collection ``` **Namespace:** `com::datalogics::PDFL` ## Description Allows for manipulation of PDF collections, or portfolios. The class illustrates how to process a collection's schema. It also describes sorting of a portfolio. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`CollectionSchema`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchema.md), [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) ## Methods ### changeCollectionViewMode ```java void com.datalogics.PDFL.Collection.changeCollectionViewMode(CollectionViewType view, CollectionSplitType split) ``` **Parameters** - `view` (`CollectionViewType`): one of the members of CollectionViewMode enum. - `split` (`CollectionSplitType`): enum of split mode (selector) **Returns:** `void` SetCollectionView sets view mode value to the Collection. ### delete ```java synchronized void com.datalogics.PDFL.Collection.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Collection.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Collection.finalize() ``` *protected* **Returns:** `void` ### getSchema ```java CollectionSchema com.datalogics.PDFL.Collection.getSchema() ``` **Returns:** [`CollectionSchema`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchema.md) Schema object. GetSchema allows to obtain Schema object for current Collection. The Schema object does not have constructor. Only Collection is able to create Schema. ### getSort ```java java.util.List< CollectionSortItem > com.datalogics.PDFL.Collection.getSort() ``` **Returns:** [`java.util.List< CollectionSortItem >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) the list of CollectionSortItem, which contains field/fields name to sort Collection by and sort order. GetSort gets sort parameters for the Collection. ### setSort ```java void com.datalogics.PDFL.Collection.setSort(java.util.List< CollectionSortItem > sort) ``` **Parameters** - `sort` ([`java.util.List< CollectionSortItem >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md)): the list of CollectionSortItem. **Returns:** `void` SetSort allows to set field/fields to sort by as well as sort order (ascending or descending). --- # CollectionSchema Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchema ```java class CollectionSchema ``` **Namespace:** `com::datalogics::PDFL` ## Description Provides for adding/removing/retrieving schema fields in a collection. **Referenced by:** [`Collection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Collection.md) **Uses types:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) ## Methods ### addField ```java void com.datalogics.PDFL.CollectionSchema.addField(CollectionSchemaField field) ``` **Parameters** - `field` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): CollectionSchemaField object which will be added to the schema. **Returns:** `void` AddField allows to set new field to the CollectionSchema object.If the target field exists, it is overwritten. The schema fields contain all information required to organize Collection in a certain way. ### delete ```java synchronized void com.datalogics.PDFL.CollectionSchema.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CollectionSchema.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CollectionSchema.finalize() ``` *protected* **Returns:** `void` ### getField ```java CollectionSchemaField com.datalogics.PDFL.CollectionSchema.getField(int idx) ``` **Parameters** - `idx` (`int`): index of the object to find. **Returns:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) CollectionSchemaField object if found or NULL otherwise. GetField allows to obtain CollectionSchemaField object by its index. ### getField ```java CollectionSchemaField com.datalogics.PDFL.CollectionSchema.getField(String name) ``` **Parameters** - `name` (`String`): textual field name. **Returns:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) CollectionSchemaField object if found or NULL otherwise. GetField allows to obtain CollectionSchemaField by name. ### getFieldsNumber ```java int com.datalogics.PDFL.CollectionSchema.getFieldsNumber() ``` **Returns:** `int` the fields number. GetFieldsNumber allows to obtain fields number in the schema. ### removeField ```java void com.datalogics.PDFL.CollectionSchema.removeField(CollectionSchemaField field) ``` **Parameters** - `field` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): CollectionSchemaField which will be removed from the schema. **Returns:** `void` RemoveField allows to remove specified field from the schema. NOTE: to distinguish whether specified object belongs to the schema this uses CollectionSchemaField's name. --- # CollectionSchemaField Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField ```java class CollectionSchemaField ``` **Namespace:** `com::datalogics::PDFL` ## Description Allows for the creation of collection schema field objects. Parameters that are part of a schema's field may be set. **Referenced by:** [`CollectionSchema`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchema.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md) ## Constructors ### CollectionSchemaField ```java com.datalogics.PDFL.CollectionSchemaField.CollectionSchemaField(String fieldID, SchemaFieldSubtype subtype) ``` *constructor* **Parameters** - `fieldID` (`String`): the schema field ID. The ID is used during creation and extraction of the schema field. It is the unique identifier of the schema field. - `subtype` (`SchemaFieldSubtype`): the schema field subtype. The subtypes are predefined. The value of this parameter must correspond to the one of the SchemaFieldSubtype enum values. CCollectionSchemaField allows to create CollectionSchemaField object. The constructor accepts identifier value and subtype required by the schema field. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CollectionSchemaField.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CollectionSchemaField.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CollectionSchemaField.finalize() ``` *protected* **Returns:** `void` ### getEditable ```java boolean com.datalogics.PDFL.CollectionSchemaField.getEditable() ``` **Returns:** `boolean` whether edit mode is allowed or not. GetEditable allows to obtain information about edit mode of the current field. ### getID ```java String com.datalogics.PDFL.CollectionSchemaField.getID() ``` **Returns:** `String` the unique field's id. GetID allows to obtain the unique id with which schema field has been created. ### getIndex ```java int com.datalogics.PDFL.CollectionSchemaField.getIndex() ``` **Returns:** `int` the index of the field. GetIndex allows to obtain field index. ### getName ```java String com.datalogics.PDFL.CollectionSchemaField.getName() ``` **Returns:** `String` the field name. GetName allows to obtain field name. ### getSubtype ```java SchemaFieldSubtype com.datalogics.PDFL.CollectionSchemaField.getSubtype() ``` **Returns:** `SchemaFieldSubtype` field subtype. One of the ShemaFieldSubtype enum values. GetSubtype allows to obtain the field subtype. ### getVisible ```java boolean com.datalogics.PDFL.CollectionSchemaField.getVisible() ``` **Returns:** `boolean` true if current schema field is visible, false otherwise. GetVisible allows to obtain information about filed visibility. ### setEditable ```java void com.datalogics.PDFL.CollectionSchemaField.setEditable(boolean isEditable) ``` **Parameters** - `isEditable` (`boolean`): pass true to allow to edit this field or false otherwise. **Returns:** `void` SetEditable allows to change edit mode for shema field.Its value false by default. ### setIndex ```java void com.datalogics.PDFL.CollectionSchemaField.setIndex(int idx) ``` **Parameters** - `idx` (`int`): field index. **Returns:** `void` SetIndex allows to set field index. NOTE: the field indexes are zero-based in ascending order without gaps. ### setName ```java void com.datalogics.PDFL.CollectionSchemaField.setName(String name) ``` **Parameters** - `name` (`String`): the new field name. **Returns:** `void` SetName allows to change field name. ### setVisible ```java void com.datalogics.PDFL.CollectionSchemaField.setVisible(boolean isVisible) ``` **Parameters** - `isVisible` (`boolean`): the visibility flag. **Returns:** `void` SetVisible allows to set field's default visibility.Its value true by default. --- # CollectionSortItem Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem ```java class CollectionSortItem ``` **Namespace:** `com::datalogics::PDFL` ## Description Stores data about fields that viewers use for sorting collection items. Collections are aslo known as portfolios. **Referenced by:** [`Collection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Collection.md), [`CollectionSortItemPtrVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItemPtrVector.md) ## Constructors ### CollectionSortItem ```java com.datalogics.PDFL.CollectionSortItem.CollectionSortItem(String fieldID, boolean order) ``` *constructor* **Parameters** - `fieldID` (`String`): the schema field's id. - `order` (`boolean`): true for ascending, false for descending CCollectionSortItem allows to construct sort item which will be used for collection sorting. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CollectionSortItem.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CollectionSortItem.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CollectionSortItem.finalize() ``` *protected* **Returns:** `void` ### getAscending ```java boolean com.datalogics.PDFL.CollectionSortItem.getAscending() ``` **Returns:** `boolean` true if the sort order is ascending, false if descending. Gets whether the sort order is ascending. ### getName ```java String com.datalogics.PDFL.CollectionSortItem.getName() ``` **Returns:** `String` The field name to sort by. Gets the field name used for sorting. This is the schema field identifier that determines which collection field is used as the sort key. --- # CollectionSortItemPtrVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItemPtrVector ```java class CollectionSortItemPtrVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) ## Constructors ### CollectionSortItemPtrVector ```java com.datalogics.PDFL.CollectionSortItemPtrVector.CollectionSortItemPtrVector() ``` *constructor* ### CollectionSortItemPtrVector ```java com.datalogics.PDFL.CollectionSortItemPtrVector.CollectionSortItemPtrVector(Iterable< CollectionSortItem > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< CollectionSortItem >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md)) ### CollectionSortItemPtrVector ```java com.datalogics.PDFL.CollectionSortItemPtrVector.CollectionSortItemPtrVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.CollectionSortItemPtrVector.add(CollectionSortItem x) ``` **Parameters** - `x` ([`CollectionSortItem`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.CollectionSortItemPtrVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.CollectionSortItemPtrVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.CollectionSortItemPtrVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CollectionSortItemPtrVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CollectionSortItemPtrVector.finalize() ``` *protected* **Returns:** `void` ### get ```java CollectionSortItem com.datalogics.PDFL.CollectionSortItemPtrVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) ### isEmpty ```java boolean com.datalogics.PDFL.CollectionSortItemPtrVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.CollectionSortItemPtrVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.CollectionSortItemPtrVector.set(int i, CollectionSortItem val) ``` **Parameters** - `i` (`int`) - `val` ([`CollectionSortItem`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSortItem.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.CollectionSortItemPtrVector.size() ``` **Returns:** `long` --- # Color Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color ```java class Color ``` **Namespace:** `com::datalogics::PDFL` ## Description A color specified by values appropriate for its color space. The values that are offered range from 0 to 1.0 for red, green, and blue (RGB) or cyan, magenta, yellow, and black (CYMK). **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`Style`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Style.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Pattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern.md) ## Constructors ### Color ```java com.datalogics.PDFL.Color.Color(ColorSpace colorSpace, java.util.List< Double > values) ``` *constructor* **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): the color space in which to create the color - `values` (`java.util.List< Double >`): the values to place into the color Create a new color in an arbitrary color space. The number of values passed must match the number of values in the color space. ### Color ```java com.datalogics.PDFL.Color.Color(double c, double m, double y, double k) ``` *constructor* **Parameters** - `c` (`double`): the cyan color value for the new color (0.0 - 1.0) - `m` (`double`): the magenta color value for the new color (0.0 - 1.0) - `y` (`double`): the yellow color value for the new color (0.0 - 1.0) - `k` (`double`): the black color value for the new color (0.0 - 1.0) Create a new color in the DeviceCMYK colorspace with the specified value. ### Color ```java com.datalogics.PDFL.Color.Color(double grey) ``` *constructor* **Parameters** - `grey` (`double`): the grayscale color value for the new color (0.0 - 1.0) Create a new color in the DeviceGray colorspace with the specified value. ### Color ```java com.datalogics.PDFL.Color.Color(double r, double g, double b) ``` *constructor* **Parameters** - `r` (`double`): the red color value for the new color (0.0 - 1.0) - `g` (`double`): the green color value for the new color (0.0 - 1.0) - `b` (`double`): the blue color value for the new color (0.0 - 1.0) Create a new color in the DeviceRGB colorspace with the specified value. ### Color ```java com.datalogics.PDFL.Color.Color(Pattern pattern) ``` *constructor* **Parameters** - `pattern` ([`Pattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern.md)): The pattern to turn into a color Create a new color in the pattern color space. ## Methods ### colorFromAWTColor ```java static Color com.datalogics.PDFL.Color.colorFromAWTColor(java.awt.Color c) ``` *static* **Parameters** - `c` (`java.awt.Color`): the java.awt.Color object to use as a source **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) Create a Color from a standard java.awt.Color object. ### delete ```java synchronized void com.datalogics.PDFL.Color.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Color.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Color.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Color.finalize() ``` *protected* **Returns:** `void` ### getPattern ```java Pattern com.datalogics.PDFL.Color.getPattern() ``` **Returns:** [`Pattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern.md) The Pattern associated with this color, or null if the color is not pattern-based. The pattern of the color. Only valid for pattern-based colors. ### getSpace ```java ColorSpace com.datalogics.PDFL.Color.getSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The ColorSpace that this color belongs to. The color space of the color. ### getValue ```java java.util.List< Double > com.datalogics.PDFL.Color.getValue() ``` **Returns:** `java.util.List< Double >` A list of color component values, each ranging from 0.0 to 1.0. The values of the color. Not valid for pattern-based colors. ### toString ```java String com.datalogics.PDFL.Color.toString() ``` **Returns:** `String` A string describing the color, including its color space and component values. Returns a string representation of this Color. --- # ColorConvertActions Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions ```java class ColorConvertActions ``` **Namespace:** `com::datalogics::PDFL` ## Description Class that defines color conversion actions for an object described by certain attributes. **Referenced by:** [`ColorConvertActionsVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActionsVector.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams.md) ## Constructors ### ColorConvertActions ```java com.datalogics.PDFL.ColorConvertActions.ColorConvertActions() ``` *constructor* Default constructor for the ColorConvertActions class.Sets default values to the members. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertActions.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertActions.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ColorConvertActions.finalize() ``` *protected* **Returns:** `void` ### getAction ```java ColorConvertActionType com.datalogics.PDFL.ColorConvertActions.getAction() ``` **Returns:** `ColorConvertActionType` Gets / sets the action, specifying what to do when an object matches this Settings record. ### getColorantName ```java String com.datalogics.PDFL.ColorConvertActions.getColorantName() ``` **Returns:** `String` For ink actions (which describe a single colorant, whether used in Separation or DeviceN, and which are not matched using the above matching fields) this describes the colorant of the ink. ### getConvertIntent ```java RenderIntent com.datalogics.PDFL.ColorConvertActions.getConvertIntent() ``` **Returns:** `RenderIntent` Gets / sets the intent that overrides the object's original render intent when performing color conversion.UseProfileIntent means that the intent of the object must not be overridden. ### getConvertProfile ```java ColorProfile com.datalogics.PDFL.ColorConvertActions.getConvertProfile() ``` **Returns:** `ColorProfile` Gets / sets the target ColorProfile for the conversion.If the output intent is embedded, this should be the output intent profile. ### getConvertProfilePath ```java String com.datalogics.PDFL.ColorConvertActions.getConvertProfilePath() ``` **Returns:** `String` Gets / sets the target ColorProfile for the conversion using the profile found at the path provided.If the output intent is embedded, this should be the output intent profile.NOTE: If specifying a path, ConvertProfile must be set to Null_ColorProfile. ### getEmbedColorProfile ```java boolean com.datalogics.PDFL.ColorConvertActions.getEmbedColorProfile() ``` **Returns:** `boolean` If true, embed the target profile.If false, the resulting color is Device, if possible. ### getInkAlias ```java String com.datalogics.PDFL.ColorConvertActions.getInkAlias() ``` **Returns:** `String` Gets / sets the ink alias, this only applies to ink actions. ### getIntentToMatch ```java RenderIntent com.datalogics.PDFL.ColorConvertActions.getIntentToMatch() ``` **Returns:** `RenderIntent` Gets / sets the rendering intent of the object.If this is UseProfileIntent this action applies to any intent. ### getIsInkAction ```java boolean com.datalogics.PDFL.ColorConvertActions.getIsInkAction() ``` **Returns:** `boolean` Marks this Action to be applied to inks. ### getIsProcessColor ```java boolean com.datalogics.PDFL.ColorConvertActions.getIsProcessColor() ``` **Returns:** `boolean` True if this ink is a process ink. ### getMaxFontSizeMatch ```java double com.datalogics.PDFL.ColorConvertActions.getMaxFontSizeMatch() ``` **Returns:** `double` Gets / sets the maximum font size to match for text objects. ### getMinFontSizeMatch ```java double com.datalogics.PDFL.ColorConvertActions.getMinFontSizeMatch() ``` **Returns:** `double` Gets / sets the minimum font size to match for text objects. ### getMustMatchAllAttrs ```java ColorConvertObjAttrs com.datalogics.PDFL.ColorConvertActions.getMustMatchAllAttrs() ``` **Returns:** `ColorConvertObjAttrs` A bit field that gets / sets the attributes an element must match to be color converted.The element must match ALL these attributes to be color converted. ### getMustMatchAllCSAttrs ```java ColorConvertCSpaceType com.datalogics.PDFL.ColorConvertActions.getMustMatchAllCSAttrs() ``` **Returns:** `ColorConvertCSpaceType` A bit field that gets / sets the Color Space attributes an object must match to be color converted.The element must match ALL these Color Space attributes to be color converted. ### getMustMatchAnyAttrs ```java ColorConvertObjAttrs com.datalogics.PDFL.ColorConvertActions.getMustMatchAnyAttrs() ``` **Returns:** `ColorConvertObjAttrs` A bit field that gets / sets the attributes an element must match to be color converted.The element can match ONE OR MORE of these attributes to be color converted. ### getMustMatchAnyCSAttrs ```java ColorConvertCSpaceType com.datalogics.PDFL.ColorConvertActions.getMustMatchAnyCSAttrs() ``` **Returns:** `ColorConvertCSpaceType` A bit field that gets / sets the Color Space attributes an object must match to be color converted.The element can match ONE OR MORE Color Space attributes to be color converted. ### getPreserveBlack ```java boolean com.datalogics.PDFL.ColorConvertActions.getPreserveBlack() ``` **Returns:** `boolean` If true, perform a black-preserving transform when converting. ### getPreserveCMYKPrimaries ```java boolean com.datalogics.PDFL.ColorConvertActions.getPreserveCMYKPrimaries() ``` **Returns:** `boolean` If true, use a primary-preserving CMYK to CMYK transform. ### getPromoteGrayToCMYK ```java boolean com.datalogics.PDFL.ColorConvertActions.getPromoteGrayToCMYK() ``` **Returns:** `boolean` If true, promote DeviceGray objects to DeviceCMYK with k = 1.0 - gray value. ### getUseBlackPointCompensation ```java boolean com.datalogics.PDFL.ColorConvertActions.getUseBlackPointCompensation() ``` **Returns:** `boolean` If true, turn on black point compensation for color conversions. ### setAction ```java void com.datalogics.PDFL.ColorConvertActions.setAction(ColorConvertActionType newAction) ``` **Parameters** - `newAction` (`ColorConvertActionType`) **Returns:** `void` ### setColorantName ```java void com.datalogics.PDFL.ColorConvertActions.setColorantName(String newName) ``` **Parameters** - `newName` (`String`) **Returns:** `void` ### setConvertIntent ```java void com.datalogics.PDFL.ColorConvertActions.setConvertIntent(RenderIntent newIntent) ``` **Parameters** - `newIntent` (`RenderIntent`) **Returns:** `void` ### setConvertProfile ```java void com.datalogics.PDFL.ColorConvertActions.setConvertProfile(ColorProfile newProfile) ``` **Parameters** - `newProfile` (`ColorProfile`) **Returns:** `void` ### setConvertProfilePath ```java void com.datalogics.PDFL.ColorConvertActions.setConvertProfilePath(String newProfilePath) ``` **Parameters** - `newProfilePath` (`String`) **Returns:** `void` ### setEmbedColorProfile ```java void com.datalogics.PDFL.ColorConvertActions.setEmbedColorProfile(boolean newEmbedCProfile) ``` **Parameters** - `newEmbedCProfile` (`boolean`) **Returns:** `void` ### setInkAlias ```java void com.datalogics.PDFL.ColorConvertActions.setInkAlias(String newAlias) ``` **Parameters** - `newAlias` (`String`) **Returns:** `void` ### setIntentToMatch ```java void com.datalogics.PDFL.ColorConvertActions.setIntentToMatch(RenderIntent newIntent) ``` **Parameters** - `newIntent` (`RenderIntent`) **Returns:** `void` ### setIsInkAction ```java void com.datalogics.PDFL.ColorConvertActions.setIsInkAction(boolean newIsInkAction) ``` **Parameters** - `newIsInkAction` (`boolean`) **Returns:** `void` ### setIsProcessColor ```java void com.datalogics.PDFL.ColorConvertActions.setIsProcessColor(boolean newIsProcessColor) ``` **Parameters** - `newIsProcessColor` (`boolean`) **Returns:** `void` ### setMaxFontSizeMatch ```java void com.datalogics.PDFL.ColorConvertActions.setMaxFontSizeMatch(double newSize) ``` **Parameters** - `newSize` (`double`) **Returns:** `void` ### setMinFontSizeMatch ```java void com.datalogics.PDFL.ColorConvertActions.setMinFontSizeMatch(double newSize) ``` **Parameters** - `newSize` (`double`) **Returns:** `void` ### setMustMatchAllAttrs ```java void com.datalogics.PDFL.ColorConvertActions.setMustMatchAllAttrs(ColorConvertObjAttrs newAttrs) ``` **Parameters** - `newAttrs` (`ColorConvertObjAttrs`) **Returns:** `void` ### setMustMatchAllCSAttrs ```java void com.datalogics.PDFL.ColorConvertActions.setMustMatchAllCSAttrs(ColorConvertCSpaceType newCSAttrs) ``` **Parameters** - `newCSAttrs` (`ColorConvertCSpaceType`) **Returns:** `void` ### setMustMatchAnyAttrs ```java void com.datalogics.PDFL.ColorConvertActions.setMustMatchAnyAttrs(ColorConvertObjAttrs newAttrs) ``` **Parameters** - `newAttrs` (`ColorConvertObjAttrs`) **Returns:** `void` ### setMustMatchAnyCSAttrs ```java void com.datalogics.PDFL.ColorConvertActions.setMustMatchAnyCSAttrs(ColorConvertCSpaceType newCSAttrs) ``` **Parameters** - `newCSAttrs` (`ColorConvertCSpaceType`) **Returns:** `void` ### setPreserveBlack ```java void com.datalogics.PDFL.ColorConvertActions.setPreserveBlack(boolean newPreserveBlack) ``` **Parameters** - `newPreserveBlack` (`boolean`) **Returns:** `void` ### setPreserveCMYKPrimaries ```java void com.datalogics.PDFL.ColorConvertActions.setPreserveCMYKPrimaries(boolean newPreserveCMYKPrimaries) ``` **Parameters** - `newPreserveCMYKPrimaries` (`boolean`) **Returns:** `void` ### setPromoteGrayToCMYK ```java void com.datalogics.PDFL.ColorConvertActions.setPromoteGrayToCMYK(boolean newPromoteGrayToCMYK) ``` **Parameters** - `newPromoteGrayToCMYK` (`boolean`) **Returns:** `void` ### setUseBlackPointCompensation ```java void com.datalogics.PDFL.ColorConvertActions.setUseBlackPointCompensation(boolean newBlackPointCompensation) ``` **Parameters** - `newBlackPointCompensation` (`boolean`) **Returns:** `void` --- # ColorConvertActionsVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActionsVector ```java class ColorConvertActionsVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md) ## Constructors ### ColorConvertActionsVector ```java com.datalogics.PDFL.ColorConvertActionsVector.ColorConvertActionsVector() ``` *constructor* ### ColorConvertActionsVector ```java com.datalogics.PDFL.ColorConvertActionsVector.ColorConvertActionsVector(Iterable< ColorConvertActions > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< ColorConvertActions >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md)) ## Methods ### add ```java void com.datalogics.PDFL.ColorConvertActionsVector.add(ColorConvertActions x) ``` **Parameters** - `x` ([`ColorConvertActions`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.ColorConvertActionsVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.ColorConvertActionsVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertActionsVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertActionsVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ColorConvertActionsVector.finalize() ``` *protected* **Returns:** `void` ### get ```java ColorConvertActions com.datalogics.PDFL.ColorConvertActionsVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md) ### isEmpty ```java boolean com.datalogics.PDFL.ColorConvertActionsVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.ColorConvertActionsVector.set(int i, ColorConvertActions val) ``` **Parameters** - `i` (`int`) - `val` ([`ColorConvertActions`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.ColorConvertActionsVector.size() ``` **Returns:** `long` --- # ColorConvertParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams ```java class ColorConvertParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Holds parameters to be passed to a color convert method.This includes the actions to take in case of a match.Each object is compared against the selection criteria for each of the actions, in order, until a matching action is found. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md) ## Constructors ### ColorConvertParams ```java com.datalogics.PDFL.ColorConvertParams.ColorConvertParams(java.util.List< ColorConvertActions > convActions) ``` *constructor* **Parameters** - `convActions` ([`java.util.List< ColorConvertActions >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md)): The list of ColorConvertActions to apply during color conversion. Constructs a ColorConvertParams with the specified color conversion actions. Initializes AllowLossyCompression to false, all default color profiles to null, and all render intents to Perceptual. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ColorConvertParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ColorConvertParams.finalize() ``` *protected* **Returns:** `void` ### getAllowLossyCompression ```java boolean com.datalogics.PDFL.ColorConvertParams.getAllowLossyCompression() ``` **Returns:** `boolean` If true, DCT or JPX encoding will be used resulting in a smaller PDF.If false, FlateDecoding will be used instead. ### getColorConvActions ```java java.util.List< ColorConvertActions > com.datalogics.PDFL.ColorConvertParams.getColorConvActions() ``` **Returns:** [`java.util.List< ColorConvertActions >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md) The list of ColorConvertActions to apply during color conversion. Each object in the document is compared against the selection criteria for each action, in order, until a matching action is found. ### getDefaultCMYK ```java ColorProfile com.datalogics.PDFL.ColorConvertParams.getDefaultCMYK() ``` **Returns:** `ColorProfile` The default CMYK ColorProfile used when a document object has no embedded CMYK profile. Initially set to the null color profile. ### getDefaultGray ```java ColorProfile com.datalogics.PDFL.ColorConvertParams.getDefaultGray() ``` **Returns:** `ColorProfile` The default Gray ColorProfile used when a document object has no embedded Gray profile. Initially set to the null color profile. ### getDefaultRGB ```java ColorProfile com.datalogics.PDFL.ColorConvertParams.getDefaultRGB() ``` **Returns:** `ColorProfile` The default RGB ColorProfile used when a document object has no embedded RGB profile. Initially set to the null color profile. ### getIntentCMYK ```java RenderIntent com.datalogics.PDFL.ColorConvertParams.getIntentCMYK() ``` **Returns:** `RenderIntent` The RenderIntent used for CMYK color conversion. Initially set to Perceptual. ### getIntentGray ```java RenderIntent com.datalogics.PDFL.ColorConvertParams.getIntentGray() ``` **Returns:** `RenderIntent` The RenderIntent used for Gray color conversion. Initially set to Perceptual. ### getIntentRGB ```java RenderIntent com.datalogics.PDFL.ColorConvertParams.getIntentRGB() ``` **Returns:** `RenderIntent` The RenderIntent used for RGB color conversion. Initially set to Perceptual. ### setAllowLossyCompression ```java void com.datalogics.PDFL.ColorConvertParams.setAllowLossyCompression(boolean newAllowLossyCompression) ``` **Parameters** - `newAllowLossyCompression` (`boolean`) **Returns:** `void` ### setColorConvActions ```java void com.datalogics.PDFL.ColorConvertParams.setColorConvActions(java.util.List< ColorConvertActions > newActions) ``` **Parameters** - `newActions` ([`java.util.List< ColorConvertActions >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertActions.md)) **Returns:** `void` ### setDefaultCMYK ```java void com.datalogics.PDFL.ColorConvertParams.setDefaultCMYK(ColorProfile defaultCMYK) ``` **Parameters** - `defaultCMYK` (`ColorProfile`) **Returns:** `void` ### setDefaultGray ```java void com.datalogics.PDFL.ColorConvertParams.setDefaultGray(ColorProfile defaultGray) ``` **Parameters** - `defaultGray` (`ColorProfile`) **Returns:** `void` ### setDefaultRGB ```java void com.datalogics.PDFL.ColorConvertParams.setDefaultRGB(ColorProfile defaultRGB) ``` **Parameters** - `defaultRGB` (`ColorProfile`) **Returns:** `void` ### setIntentCMYK ```java void com.datalogics.PDFL.ColorConvertParams.setIntentCMYK(RenderIntent intentCMYK) ``` **Parameters** - `intentCMYK` (`RenderIntent`) **Returns:** `void` ### setIntentGray ```java void com.datalogics.PDFL.ColorConvertParams.setIntentGray(RenderIntent intentGray) ``` **Parameters** - `intentGray` (`RenderIntent`) **Returns:** `void` ### setIntentRGB ```java void com.datalogics.PDFL.ColorConvertParams.setIntentRGB(RenderIntent intentRGB) ``` **Parameters** - `intentRGB` (`RenderIntent`) **Returns:** `void` --- # ColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace ```java class ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) ## Description Base class for all color spaces. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.ColorSpace.finalize() ``` *protected* **Returns:** `void` ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # ColorValueConverter Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorValueConverter ```java class ColorValueConverter ``` **Namespace:** `com::datalogics::PDFL` ## Description This class contains methods used to convert sets of values from one Colorspace to another. ## Constructors ### ColorValueConverter ```java com.datalogics.PDFL.ColorValueConverter.ColorValueConverter() ``` *constructor* This class contains methods used to convert sets of values from one Colorspace to another. ## Methods ### convertValues ```java byte[] com.datalogics.PDFL.ColorValueConverter.convertValues(ColorProfile sourceColorProfile, ColorProfile destinationColorProfile, RenderIntent intent, long numberOfInputValueSets, byte[] inputValueSets) ``` **Parameters** - `sourceColorProfile` (`ColorProfile`): The Color Profile to be used for input values. - `destinationColorProfile` (`ColorProfile`): The Color Profile to be used for output values. - `intent` (`RenderIntent`): The Render Intent used during the conversion. - `numberOfInputValueSets` (`long`): The number of sets of input values to be converted. - `inputValueSets` (`byte[]`): The input values to be converted which are divided into sets, e.g., would represent 2 sets of CMYK colors: [255 140 0 0] and [120 0 60 0] and numberOfInputValueSets should be 2. **Returns:** `byte[]` A list of converted color values in the destination colorspace. Converts sets of values from a Source ColorSpace to a Destination colorspace using a specified Render Intent. ### convertValues ```java byte[] com.datalogics.PDFL.ColorValueConverter.convertValues(ColorProfile sourceColorProfile, String destinationColorProfilePath, RenderIntent intent, long numberOfInputValueSets, byte[] inputValueSets) ``` **Parameters** - `sourceColorProfile` (`ColorProfile`): The Color Profile to be used for input values. - `destinationColorProfilePath` (`String`): The Color Profile to be used for output values, loaded from a path on disk. - `intent` (`RenderIntent`): The Render Intent used during the conversion. - `numberOfInputValueSets` (`long`): The number of sets of input values to be converted. - `inputValueSets` (`byte[]`): The input values to be converted which are divided into sets, e.g., would represent 2 sets of CMYK colors: [255 140 0 0] and [120 0 60 0] and numberOfInputValueSets should be 2. **Returns:** `byte[]` A list of converted color values in the destination colorspace. Converts sets of values from a Source ColorSpace to a Destination colorspace using a specified Render Intent. ### convertValues ```java byte[] com.datalogics.PDFL.ColorValueConverter.convertValues(String sourceColorProfilePath, ColorProfile destinationColorProfile, RenderIntent intent, long numberOfInputValueSets, byte[] inputValueSets) ``` **Parameters** - `sourceColorProfilePath` (`String`): The Color Profile to be used for input values, loaded from a path on disk. - `destinationColorProfile` (`ColorProfile`): The Color Profile to be used for output values. - `intent` (`RenderIntent`): The Render Intent used during the conversion. - `numberOfInputValueSets` (`long`): The number of sets of input values to be converted. - `inputValueSets` (`byte[]`): The input values to be converted which are divided into sets, e.g., would represent 2 sets of CMYK colors: [255 140 0 0] and [120 0 60 0] and numberOfInputValueSets should be 2. **Returns:** `byte[]` A list of converted color values in the destination colorspace. Converts sets of values from a Source ColorSpace to a Destination colorspace using a specified Render Intent. ### convertValues ```java byte[] com.datalogics.PDFL.ColorValueConverter.convertValues(String sourceColorProfilePath, String destinationColorProfilePath, RenderIntent intent, long numberOfInputValueSets, byte[] inputValueSets) ``` **Parameters** - `sourceColorProfilePath` (`String`): The Color Profile to be used for input values, loaded from a path on disk. - `destinationColorProfilePath` (`String`): The Color Profile to be used for output values, loaded from a path on disk. - `intent` (`RenderIntent`): The Render Intent used during the conversion. - `numberOfInputValueSets` (`long`): The number of sets of input values to be converted. - `inputValueSets` (`byte[]`): The input values to be converted which are divided into sets, e.g. < 255 140 0 0 120 0 60 0 > would represent 2 sets of CMYK colors: [255 140 0 0] and [120 0 60 0] and numberOfInputValueSets should be 2. **Returns:** `byte[]` A list of converted color values in the destination colorspace. Converts sets of values from a Source ColorSpace to a Destination colorspace using a specified Render Intent. ### delete ```java synchronized void com.datalogics.PDFL.ColorValueConverter.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ColorValueConverter.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ColorValueConverter.finalize() ``` *protected* **Returns:** `void` --- # Container Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container ```java class Container : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description A container class represents a group of elements on a page in a PDF file. In the PDF file, every container has a set of Marked Content tags, starting with Begin Marked Content (BMC or BDC) and ending with End Marked Content (EMC), so each container has a BMC/EMC or BDC/EMC pair of tags. These tags can be used to define the beginning and end of metadata around objects, providing information about the text and shapes within a PDF file. Containers can be nested within other containers. **Referenced by:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Container ```java com.datalogics.PDFL.Container.Container() ``` *constructor* Create a new Container. The new Container has no tag and is not associated with a dictionary. ### Container ```java com.datalogics.PDFL.Container.Container(String mcTag) ``` *constructor* **Parameters** - `mcTag` (`String`): The tag name for the Container. Create a new Container with a given Marked Content Tag. The new Container has a Marked Content tag but is not associated with a dictionary. ### Container ```java com.datalogics.PDFL.Container.Container(String mcTag, PDFDict propertyList, boolean isInline) ``` *constructor* **Parameters** - `mcTag` (`String`): The tag name for the Container. - `propertyList` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)): The dictionary representing the Property List to associate with the Container. - `isInline` (`boolean`): If true, it's part of content stream. If false, its emitted outside of the content stream and referenced by name. Create a new Container with a given Marked Content Tag and Property list. The new Container has a Marked Content tag and is associated with a dictionary. ## Methods ### clone ```java Container com.datalogics.PDFL.Container.clone() ``` **Returns:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md) The copied container. Makes a copy of the container. Make a copy of an container to obtain a new container that has a distinct set of attributes. ### clone ```java Container com.datalogics.PDFL.Container.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md) The copied container. Makes a copy of the container. Make a copy of an container to obtain a new container that has a distinct set of attributes. ### colorConvert ```java Container com.datalogics.PDFL.Container.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the objects calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting objects, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md) A new Container with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the objects in the Container ### delete ```java synchronized void com.datalogics.PDFL.Container.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Container.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Container.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getContent ```java Content com.datalogics.PDFL.Container.getContent() ``` **Returns:** [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md) Obtain the content of a container. ### getMarkedContentTag ```java String com.datalogics.PDFL.Container.getMarkedContentTag() ``` **Returns:** `String` The container's Marked Content Tag. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Container.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Container. Setting this property will attach the Container to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Container is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Container.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) Retrieve the PDFObject representation of this object ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Container.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to check visibility against. **Returns:** `boolean` true if the container is currently visible. Tests whether a container is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the container occurs more than once within the content, this method only checks the visibility of the first occurrence of the container. This method determines visibility without considering the visbility of the Content object that the container belongs to. To determine the visibility of a container while taking the Content's visibility into consideration, use the alternate version of this method. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Container.isCurrentlyVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to check visibility against. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The Content containing the container, used to determine container visibility within the content hierarchy. **Returns:** `boolean` true if the container is currently visible. Tests whether a container is visible in a given optional content context and content. If the container occurs more than once within the content, this method only checks the visibility of the first occurrence of the container. ### makeVisible ```java boolean com.datalogics.PDFL.Container.makeVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which the container is made visible. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the container. **Returns:** `boolean` true if the container is successfully made visible in the given context and content, false otherwise Makes a container visible in a given optional content context and content by manipulating the ON-OFF states of the optional content groups. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setContent ```java void com.datalogics.PDFL.Container.setContent(Content content) ``` **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The new Content of the container. **Returns:** `void` Set the content of a container. ### setMarkedContentTag ```java void com.datalogics.PDFL.Container.setMarkedContentTag(String mcTag) ``` **Parameters** - `mcTag` (`String`) **Returns:** `void` The container's Marked Content Tag. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Container.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Container. Setting this property will attach the Container to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Container is detached from any OptionalContentMembershipDict. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # Content Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content ```java class Content ``` **Namespace:** `com::datalogics::PDFL` ## Description Class that represents the collection of elements on a PDF page. A content object represents a collection of elements that make up a page in a PDF file. A content object is more convenient to use than directly parsing or working with a page content stream. This is because a page can include a large collection of individual stream objects. Working with a content object, you can avoid focusing on this level of detail. The content converts individual stream items to a structured form, making it unnecessary to parse the individual syntax for each one. A content object can be associated with a large amount of unmanaged memory in APDFL and should be deleted when the object is no longer in use. The index associated with Content is 0-based, so 0 is the first element. **Referenced by:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Content ```java com.datalogics.PDFL.Content.Content() ``` *constructor* Create content ### Content ```java com.datalogics.PDFL.Content.Content(Element firstElem) ``` *constructor* **Parameters** - `firstElem` ([`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md)): The Element which is to be added to the beginning of the new Content object. Create content with a first Element. ## Fields ### BEFORE_FIRST ```java static final int com.datalogics.PDFL.Content.BEFORE_FIRST ``` *static* Position for inserting an element before the first element. ## Methods ### addElement ```java void com.datalogics.PDFL.Content.addElement(Element NewElem) ``` **Parameters** - `NewElem` ([`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md)): The Element which is to be added to the end of the existing Content object. **Returns:** `void` Adds an existing Element at the end of the content object. ### addElement ```java void com.datalogics.PDFL.Content.addElement(Element NewElem, int addAfterIndex) ``` **Parameters** - `NewElem` ([`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md)): The Element which is to be added to the end of the existing Content object. - `addAfterIndex` (`int`): The position after which to insert the new Element, the index is 0-based so 0 is the first element. To insert a new element as the first element use the Content.BeforeFirst constant. **Returns:** `void` Adds an existing Element at the given index of the content object. ### addPage ```java void com.datalogics.PDFL.Content.addPage(int insertAfterIndex, Document containerDoc, Page srcPage, Matrix dstMatrix, java.util.List< String > annotTypes, java.util.EnumSet< AddPageFlags > flags, Rect bbox) ``` **Parameters** - `insertAfterIndex` (`int`): The index indicates the location after which the specified element is to be added. The index should be BeforeFirst to add to the beginning of the display list. - `containerDoc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which the page is contained. - `srcPage` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page that will be inserted at insertAfterIndex in theContent. - `dstMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): (May be NULL) The matrix applied to the default matrix of the Page that is inserted into the Document. - `annotTypes` (`java.util.List< String >`): If the page contains annotations, the annotTypes list is used to determine which annotation types are pumped into the page contents of the CosDoc. - `flags` (`java.util.EnumSet< AddPageFlags >`): (May be 0) AllAnnotations specifies all annotation types. If this is not set, then the annotTypes list will be consulted. - `bbox` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): (May be NULL) specifies the destination BBox for the page being inserted. If it is NULL, the new page's media box is used. **Returns:** `void` Adds the specfied Page to the Content as a Form. It adds a reference to the Xobject form at the indicated index in the Content; the index may be less than 0, which indicates the object is to be appended to the content. ### delete ```java synchronized void com.datalogics.PDFL.Content.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Content.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Content.finalize() ``` *protected* **Returns:** `void` ### flattenOptionalContent ```java boolean com.datalogics.PDFL.Content.flattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `boolean` true if the content was successfully flattened, false otherwise. Flattens optional content within this Content object. Removes elements that are not visible in the given optional content context and removes optional content information from any visible elements. The optional content information formerly associated with this Content object will NOT be deleted from the document, as it is possible that content elsewhere in the document may be using the information. ### getBoundingBox ```java Rect com.datalogics.PDFL.Content.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) A Rect representing the bounding box of all elements in this Content. The bounding box for this content. The bounding box is a rectangle that is at least large enough to contain the bounding boxes for all the elements in the Content. ### getDefaultColorSpace ```java ColorSpace com.datalogics.PDFL.Content.getDefaultColorSpace(String name) ``` **Parameters** - `name` (`String`): The name of the color space to get. It must be one of DefaultRGB, DefaultCMYK, or DefaultGray. **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The color space used as the default. May return null if no default is set. Get a default color space from a Content object. ### getElement ```java Element com.datalogics.PDFL.Content.getElement(int index) ``` **Parameters** - `index` (`int`): The zero-based index of the element to retrieve. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The Element at the specified index. Get the element specified by index. ### getNumElements ```java int com.datalogics.PDFL.Content.getNumElements() ``` **Returns:** `int` The number of elements contained in this Content. The number of elements in the Content object. ### removeElement ```java void com.datalogics.PDFL.Content.removeElement(int index) ``` **Parameters** - `index` (`int`): The position at which to remove the Element **Returns:** `void` Removes the Element at the specified index. ### setDefaultColorSpace ```java void com.datalogics.PDFL.Content.setDefaultColorSpace(String name, ColorSpace colorSpace) ``` **Parameters** - `name` (`String`): The name of the color space to set. It must be one of DefaultRGB, DefaultCMYK, or DefaultGray. - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The color space to set. It may not be a Lab, Indexed or Pattern color space. **Returns:** `void` Set a default color space from a Content object. ### toString ```java String com.datalogics.PDFL.Content.toString() ``` **Returns:** `String` A string describing this Content object. Returns a string representation of this Content object. The string includes the number of elements in the Content. --- # CurveTo Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveTo ```java class CurveTo : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description The curveto operator is used to draw a Bezier curve. The curved segment is appended to a path. The curveto operator calculates the curve between two endpoints, the current (beginning) point and the final (end) point, and in relation to two matching control points. The control points define the nature of the curve between the two endpoints. These values are represented by a series of x and y coordinates. **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveTo ```java com.datalogics.PDFL.CurveTo.CurveTo(double x1, double y1, double x2, double y2, double x3, double y3) ``` *constructor* **Parameters** - `x1` (`double`): The x-coordinate of the first control point. - `y1` (`double`): The y-coordinate of the first control point. - `x2` (`double`): The x-coordinate of the second control point. - `y2` (`double`): The y-coordinate of the second control point. - `x3` (`double`): The x-coordinate of the new current point. - `y3` (`double`): The y-coordinate of the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points.The new current point is (x3 , y3). ### CurveTo ```java com.datalogics.PDFL.CurveTo.CurveTo(Point point1, Point point2, Point point3) ``` *constructor* **Parameters** - `point1` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the first control point. - `point2` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the second control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to point3, using point1 and point2 as the Bézier control points.The new current point is point3. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CurveTo.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CurveTo.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CurveTo.finalize() ``` *protected* **Returns:** `void` ### getPoint1 ```java Point com.datalogics.PDFL.CurveTo.getPoint1() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The first control point. ### getPoint2 ```java Point com.datalogics.PDFL.CurveTo.getPoint2() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The second control point. ### getPoint3 ```java Point com.datalogics.PDFL.CurveTo.getPoint3() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The new current point. ### setPoint1 ```java void com.datalogics.PDFL.CurveTo.setPoint1(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The first control point. ### setPoint2 ```java void com.datalogics.PDFL.CurveTo.setPoint2(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The second control point. ### setPoint3 ```java void com.datalogics.PDFL.CurveTo.setPoint3(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The new current point. ### toString ```java String com.datalogics.PDFL.CurveTo.toString() ``` **Returns:** `String` --- # CurveToV Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToV ```java class CurveToV : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description A curveto operator where the first control point matches the beginning. The current point is the beginning point in the curve. The name CurveToV is drawn from the "V" path construction operator. **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveToV ```java com.datalogics.PDFL.CurveToV.CurveToV(double x2, double y2, double x3, double y3) ``` *constructor* **Parameters** - `x2` (`double`): The x-coordinate of the second control point. - `y2` (`double`): The y-coordinate of the second control point. - `x3` (`double`): The x-coordinate of the new current point. - `y3` (`double`): The y-coordinate of the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bézier control points.The new current point is (x3 ,y3). ### CurveToV ```java com.datalogics.PDFL.CurveToV.CurveToV(Point point2, Point point3) ``` *constructor* **Parameters** - `point2` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the second control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to point3, using the current point and point2 as the Bézier control points.The new current point is point3. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CurveToV.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CurveToV.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CurveToV.finalize() ``` *protected* **Returns:** `void` ### getPoint2 ```java Point com.datalogics.PDFL.CurveToV.getPoint2() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The second control point. ### getPoint3 ```java Point com.datalogics.PDFL.CurveToV.getPoint3() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The new current point. ### setPoint2 ```java void com.datalogics.PDFL.CurveToV.setPoint2(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The second control point. ### setPoint3 ```java void com.datalogics.PDFL.CurveToV.setPoint3(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The new current point. ### toString ```java String com.datalogics.PDFL.CurveToV.toString() ``` **Returns:** `String` --- # CurveToY Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToY ```java class CurveToY : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description A curveto operator where the second control point matches the end point. Here the new current point is the end point in the curve. The name CurveToY is drawn from the "Y" path construction operator. **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveToY ```java com.datalogics.PDFL.CurveToY.CurveToY(double x1, double y1, double x3, double y3) ``` *constructor* **Parameters** - `x1` (`double`): The x-coordinate of the first control point. - `y1` (`double`): The y-coordinate of the first control point. - `x3` (`double`): The x-coordinate of the new current point. - `y3` (`double`): The y-coordinate of the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bézier control points.The new current point is (x3 ,y3). ### CurveToY ```java com.datalogics.PDFL.CurveToY.CurveToY(Point point1, Point point3) ``` *constructor* **Parameters** - `point1` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the first control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the new current point. Append a cubic Bézier curve to the current path.The curve extends from the current point to point3, using point1 and point3 as the Bézier control points.The new current point is point3. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.CurveToY.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.CurveToY.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.CurveToY.finalize() ``` *protected* **Returns:** `void` ### getPoint1 ```java Point com.datalogics.PDFL.CurveToY.getPoint1() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The first control point. ### getPoint3 ```java Point com.datalogics.PDFL.CurveToY.getPoint3() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The new current point. ### setPoint1 ```java void com.datalogics.PDFL.CurveToY.setPoint1(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The first control point. ### setPoint3 ```java void com.datalogics.PDFL.CurveToY.setPoint3(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The new current point. ### toString ```java String com.datalogics.PDFL.CurveToY.toString() ``` **Returns:** `String` --- # DeviceNColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace ```java class DeviceNColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Represents a color space with an arbitrary number of color components. DeviceN color spaces were designed to represent color spaces containing multiple color components that correspond to the colorants of some target device. They provide greater flexibility than is possible with standard device color spaces such as DeviceCMYK or with individual Separation color spaces. For example, it is possible to create a DeviceN color space consisting of only the cyan, magenta, and yellow color components, with the black component excluded. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### DeviceNColorSpace ```java com.datalogics.PDFL.DeviceNColorSpace.DeviceNColorSpace(java.util.List< String > names, ColorSpace alternate, Function tintTransform) ``` *constructor* **Parameters** - `names` (`java.util.List< String >`): the names of the colorants that the DeviceN space is intended to represent, among which may be All, or None - `alternate` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): the alternate color space, which can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN). - `tintTransform` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space. Create a DeviceN color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DeviceNColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DeviceNColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.DeviceNColorSpace.finalize() ``` *protected* **Returns:** `void` ### getAlternate ```java ColorSpace com.datalogics.PDFL.DeviceNColorSpace.getAlternate() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) the alternate color space, which can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN). ### getAttributes ```java PDFDict com.datalogics.PDFL.DeviceNColorSpace.getAttributes() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The dictionary of extended attributes associated with the color space. ### getFunction ```java Function com.datalogics.PDFL.DeviceNColorSpace.getFunction() ``` **Returns:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) A function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNames ```java java.util.List< String > com.datalogics.PDFL.DeviceNColorSpace.getNames() ``` **Returns:** `java.util.List< String >` the names of the colorant that the DeviceN space is intended to represent, some of which may be All or None. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # DocTextFinder Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinder ```java class DocTextFinder ``` **Namespace:** `com::datalogics::PDFL` ## Description A class used to extract words from a document using a regular expression. **Uses types:** [`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md), [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig.md) ## Constructors ### DocTextFinder ```java com.datalogics.PDFL.DocTextFinder.DocTextFinder(Document doc, WordFinderConfig wbConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): document to search - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): WordFinder configuration to use Create a DocTextFinder ### DocTextFinder ```java com.datalogics.PDFL.DocTextFinder.DocTextFinder(Document doc, WordFinderConfig wbConfig, DocTextFinderConfig dtfConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): document to search - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): WordFinder configuration to use - `dtfConfig` ([`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md)): DocTextFinder configuration to use Create a DocTextFinder with a DocTextFinderConfig ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinder.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinder.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinder.finalize() ``` *protected* **Returns:** `void` ### getMatchList ```java java.util.List< DocTextFinderMatch > com.datalogics.PDFL.DocTextFinder.getMatchList(int beginPageNumber, int endPageNumber, String regexstr) ``` **Parameters** - `beginPageNumber` (`int`): the beginning page number included in the search. - `endPageNumber` (`int`): the ending page number included in the search. - `regexstr` (`String`): the regular expression to use for the search. **Returns:** [`java.util.List< DocTextFinderMatch >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md) a structure containing matching phrases along with its quads. Finds all matching strings for a given regular expression for the specified page range. It returns a vector containing words along with the page and matching phrase that was found. --- # DocTextFinderConfig Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderConfig ```java class DocTextFinderConfig ``` **Namespace:** `com::datalogics::PDFL` ## Description A document text finder configuration that customizes the way the extracted text is processed. In the default configuration, all options are false. Structure representing configuration options for DocTextFinder. **Referenced by:** [`DocTextFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinder.md) ## Constructors ### DocTextFinderConfig ```java com.datalogics.PDFL.DocTextFinderConfig.DocTextFinderConfig() ``` *constructor* A document text finder configuration that customizes the way the extracted text is processed. In the default configuration, all options are false. Structure representing configuration options for DocTextFinder. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderConfig.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderConfig.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinderConfig.finalize() ``` *protected* **Returns:** `void` ### getPreserveLineBreaks ```java boolean com.datalogics.PDFL.DocTextFinderConfig.getPreserveLineBreaks() ``` **Returns:** `boolean` If true, inserts chars instead of spaces wherever ends of lines are detected within extracted text. ### setPreserveLineBreaks ```java void com.datalogics.PDFL.DocTextFinderConfig.setPreserveLineBreaks(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` If true, inserts chars instead of spaces wherever ends of lines are detected within extracted text. --- # DocTextFinderMatch Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch ```java class DocTextFinderMatch ``` **Namespace:** `com::datalogics::PDFL` ## Description A phrase in the document that matched the supplied regular expression along with its associated quad bounding box(es). **Referenced by:** [`DocTextFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`DocTextFinderMatchVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatchVector.md) **Uses types:** [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderMatch.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderMatch.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinderMatch.finalize() ``` *protected* **Returns:** `void` ### getMatchString ```java String com.datalogics.PDFL.DocTextFinderMatch.getMatchString() ``` **Returns:** `String` The matched text string from the document. Gets the text string that matched the regular expression. ### getQuadInfo ```java java.util.List< DocTextFinderQuadInfo > com.datalogics.PDFL.DocTextFinderMatch.getQuadInfo() ``` **Returns:** [`java.util.List< DocTextFinderQuadInfo >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) A list of DocTextFinderQuadInfo objects describing where the match is located. Gets the quad info and page numbers for the matched text. Each DocTextFinderQuadInfo in the returned list contains the page number and bounding box quads for a portion of the matched text. --- # DocTextFinderMatchVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatchVector ```java class DocTextFinderMatchVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md) ## Constructors ### DocTextFinderMatchVector ```java com.datalogics.PDFL.DocTextFinderMatchVector.DocTextFinderMatchVector() ``` *constructor* ### DocTextFinderMatchVector ```java com.datalogics.PDFL.DocTextFinderMatchVector.DocTextFinderMatchVector(Iterable< DocTextFinderMatch > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< DocTextFinderMatch >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md)) ## Methods ### add ```java void com.datalogics.PDFL.DocTextFinderMatchVector.add(DocTextFinderMatch x) ``` **Parameters** - `x` ([`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.DocTextFinderMatchVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.DocTextFinderMatchVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderMatchVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderMatchVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinderMatchVector.finalize() ``` *protected* **Returns:** `void` ### get ```java DocTextFinderMatch com.datalogics.PDFL.DocTextFinderMatchVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md) ### isEmpty ```java boolean com.datalogics.PDFL.DocTextFinderMatchVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.DocTextFinderMatchVector.set(int i, DocTextFinderMatch val) ``` **Parameters** - `i` (`int`) - `val` ([`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.DocTextFinderMatchVector.size() ``` **Returns:** `long` --- # DocTextFinderQuadInfo Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo ```java class DocTextFinderQuadInfo ``` **Namespace:** `com::datalogics::PDFL` ## Description A bounding box quad of a character in a PDF file that was part of a string that matched a given regular expression. **Referenced by:** [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md), [`DocTextFinderQuadInfoVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfoVector.md) **Uses types:** [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) ## Constructors ### DocTextFinderQuadInfo ```java com.datalogics.PDFL.DocTextFinderQuadInfo.DocTextFinderQuadInfo() ``` *constructor* A bounding box quad of a character in a PDF file that was part of a string that matched a given regular expression. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderQuadInfo.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderQuadInfo.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinderQuadInfo.finalize() ``` *protected* **Returns:** `void` ### getPageNum ```java int com.datalogics.PDFL.DocTextFinderQuadInfo.getPageNum() ``` **Returns:** `int` The zero-based page number where the matching text quad is located. Gets the page number that the quad was found on. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.DocTextFinderQuadInfo.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list of Quad objects representing the bounding boxes of the matched text. Gets the list of bounding box quads for the matched text on this page. --- # DocTextFinderQuadInfoVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfoVector ```java class DocTextFinderQuadInfoVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) ## Constructors ### DocTextFinderQuadInfoVector ```java com.datalogics.PDFL.DocTextFinderQuadInfoVector.DocTextFinderQuadInfoVector() ``` *constructor* ### DocTextFinderQuadInfoVector ```java com.datalogics.PDFL.DocTextFinderQuadInfoVector.DocTextFinderQuadInfoVector(Iterable< DocTextFinderQuadInfo > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< DocTextFinderQuadInfo >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md)) ## Methods ### add ```java void com.datalogics.PDFL.DocTextFinderQuadInfoVector.add(DocTextFinderQuadInfo x) ``` **Parameters** - `x` ([`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.DocTextFinderQuadInfoVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.DocTextFinderQuadInfoVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderQuadInfoVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DocTextFinderQuadInfoVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DocTextFinderQuadInfoVector.finalize() ``` *protected* **Returns:** `void` ### get ```java DocTextFinderQuadInfo com.datalogics.PDFL.DocTextFinderQuadInfoVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) ### isEmpty ```java boolean com.datalogics.PDFL.DocTextFinderQuadInfoVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.DocTextFinderQuadInfoVector.set(int i, DocTextFinderQuadInfo val) ``` **Parameters** - `i` (`int`) - `val` ([`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.DocTextFinderQuadInfoVector.size() ``` **Returns:** `long` --- # Document Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document ```java class Document ``` **Namespace:** `com::datalogics::PDFL` ## Description The underlying PDF representation of a document. Use document objects to perform most of the functions related to pages in a PDF file, such as deleting pages, inserting blank pages, copying watermarks, creating bookmarks and thumbnails, and so on. **Referenced by:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`DocTextFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertResult.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md), [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertResult.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SignDoc.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md) **Uses types:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md), [`Collection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Collection.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md), [`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md), [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertResult.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md), [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertResult.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`PageLabel`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md), [`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md), [`PrintProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintProgressProc.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`ReportProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ReportProc.md), [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkParams.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md), [`XPSConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/XPSConvertParams.md) ## Constructors ### Document ```java com.datalogics.PDFL.Document.Document(StreamFile sf, boolean ignore) ``` *constructor, protected* **Parameters** - `sf` (`StreamFile`) - `ignore` (`boolean`) ### Document ```java com.datalogics.PDFL.Document.Document() ``` *constructor* Creates a new document. The only Cos object in the document will be a Catalog. After the document is created, at least one page must be added using CreatePage or InsertPages before the PDF Viewer can display or save the document. ### Document ```java com.datalogics.PDFL.Document.Document(JavaStreamFile file) ``` *constructor* **Parameters** - `file` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)) ### Document ```java com.datalogics.PDFL.Document.Document(JavaStreamFile file, String password, PermissionRequestOperation perms, boolean doRepair) ``` *constructor* **Parameters** - `file` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)) - `password` (`String`) - `perms` (`PermissionRequestOperation`) - `doRepair` (`boolean`) ### Document ```java com.datalogics.PDFL.Document.Document(javax.imageio.stream.ImageInputStream stream) ``` *constructor* **Parameters** - `stream` (`javax.imageio.stream.ImageInputStream`): The stream from which to read the Document. Open a Document from a javax.imageio.stream.ImageInputStream. This allows a document to be read from a ImageInputStream object. ImageInputStream can be created from InputStream using MemoryCacheImageInputStream or FileCacheImageInputStream. Once passed to the Document constructor, ownership of the stream is passed to the Document. The Stream must remain open while the Document itself is open. ### Document ```java com.datalogics.PDFL.Document.Document(javax.imageio.stream.ImageInputStream stream, String password, PermissionRequestOperation perms, boolean doRepair) ``` *constructor* **Parameters** - `stream` (`javax.imageio.stream.ImageInputStream`): The stream from which to read the Document. - `password` (`String`): The password to use to attempt to open the document. - `perms` (`PermissionRequestOperation`): The permissions being requested. It must be an OR of the PermissionRequestOperation values. - `doRepair` (`boolean`): If true, attempt to repair the file if it is damaged. If false, do not attempt to repair the file if it is damaged. Open a Document from a javax.imageio.stream.ImageInputStream. This allows a document to be read from a ImageInputStream object. ImageInputStream can be created from InputStream using MemoryCacheImageInputStream or FileCacheImageInputStream. Once passed to the Document constructor, ownership of the stream is passed to the Document. The Stream must remain open while the Document itself is open. ### Document ```java com.datalogics.PDFL.Document.Document(String fileName) ``` *constructor* **Parameters** - `fileName` (`String`): A path name to the file, specified in whatever format is correct for fileSys. Opens the specified document. If the call fails and the exception is pdErrNeedRebuild, then call again with doRepair set to true. This allows the application to decide whether to perform the time-consuming repair operation. ### Document ```java com.datalogics.PDFL.Document.Document(String fileName, String password, PermissionRequestOperation perms, boolean doRepair) ``` *constructor* **Parameters** - `fileName` (`String`): A path name to the file. - `password` (`String`): The password to use to attempt to open the document. - `perms` (`PermissionRequestOperation`): The permissions being requested. It must be an OR of the PermissionRequestOperation values. - `doRepair` (`boolean`): If true, attempt to repair the file if it is damaged. If false, do not attempt to repair the file if it is damaged. Opens the specified document. If the document is already open, it returns a reference to the already opened Document. You must call Close() once for every successful open. If the call fails and the exception is pdErrNeedRebuild, then call again with doRepair equal to true. This allows the application to decide whether to perform the time-consuming repair operation. ### Document ```java com.datalogics.PDFL.Document.Document(String XPSFilename, XPSConvertParams ConversionParams) ``` *constructor* **Parameters** - `XPSFilename` (`String`): The path to the XPS file to convert. - `ConversionParams` ([`XPSConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/XPSConvertParams.md)): Additional parameters for XPS conversion. Create a Document from an XPS file. Documents are converted one at a time. In multi-threaded applications, threads that are making simultaneous calls to this method will block and execute the method sequentially. NOTE: This method is only available on Windows or Linux. ## Fields ### ALL_PAGES ```java static final int com.datalogics.PDFL.Document.ALL_PAGES ``` *static* All pages. ### BEFORE_FIRST_PAGE ```java static final int com.datalogics.PDFL.Document.BEFORE_FIRST_PAGE ``` *static* Before first page. ### LAST_PAGE ```java static final int com.datalogics.PDFL.Document.LAST_PAGE ``` *static* Last page. ## Methods ### applyRedactions ```java boolean com.datalogics.PDFL.Document.applyRedactions() ``` **Returns:** `boolean` ### applyRedactions ```java boolean com.datalogics.PDFL.Document.applyRedactions(Redaction redact) ``` **Parameters** - `redact` ([`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md)) **Returns:** `boolean` ### cloneAsPDFADocument ```java PDFAConvertResult com.datalogics.PDFL.Document.cloneAsPDFADocument(PDFAConvertType type, PDFAConvertParams parms) ``` **Parameters** - `type` (`PDFAConvertType`): The type of PDF/A conversion to perform - `parms` ([`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md)): A PDFAConvertParams object specifying options for the conversion **Returns:** [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertResult.md) A PDFAConvertResult object containing the Document and SaveFlags. Create a PDF/A compliant version of this Document. The returned Document will be compliant with the PDF/A standard. You can save it using any of the standard Save() methods. The PDFAConvertResult object contains both the Document and the SaveFlags you should use when saving the Document. You MUST use these exact flags to save the returned Document or it will no longer be PDF/A compliant. The returned Document will have its MajorVersion and MinorVersion set to values required for PDF/A compliance. These will not be visible until after you save the Document. If this Document could not be converted to PDF/A, the PDFADocument field in the PDFAConvertResult object will be null or a LibraryException will be thrown. A LibraryException message should be checked to see if setting a PDFAConvertParams property will allow conversion to succeed. For example, if the message is "Unembeddable font in annotation", then try calling the setRemoveAllAnnotations() method with a value of true and then call cloneAsPDFADocument(). ### cloneAsPDFXDocument ```java PDFXConvertResult com.datalogics.PDFL.Document.cloneAsPDFXDocument(PDFXConvertType type, PDFXConvertParams parms) ``` **Parameters** - `type` (`PDFXConvertType`): The type of PDF/X conversion to perform - `parms` ([`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md)): A PDFXConvertParams object specifying options for the conversion **Returns:** [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertResult.md) A PDFXConvertResult object containing the Document and SaveFlags. Create a PDF/X compliant version of this Document. The returned Document will be compliant with the PDF/A standard. You can save it using any of the standard Save() methods. The PDFXConvertResult object contains both the Document and the SaveFlags you should use when saving the Document. You MUST use these exact flags to save the returned Document or it will no longer be PDF/X compliant. The returned Document will have its MajorVersion and MinorVersion set to values required for PDF/X compliance. These will not be visible until after you save the Document. If this Document could not be converted to PDF/X the PDFXDocument field in the PDFXConvertResult object will be null. ### close ```java void com.datalogics.PDFL.Document.close() ``` **Returns:** `void` Closes a document and releases its resources. Changes are not saved. You must use Save to save any modifications before calling Close. ### collectNamesOfTree ```java void com.datalogics.PDFL.Document.collectNamesOfTree(PDFArray namesArray, java.util.List< FileAttachment > attachments) ``` **Parameters** - `namesArray` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)) - `attachments` ([`java.util.List< FileAttachment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### colorConvertPages ```java boolean com.datalogics.PDFL.Document.colorConvertPages(ColorConvertParams params) ``` **Parameters** - `params` ([`ColorConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams.md)) **Returns:** `boolean` True if color conversion occurred. False if nothing was color converted. Convert the colors (in place) in a Document as specified by by the params block by applying an ICC profile to the objects contained in the Document. ### convertToExcel ```java static boolean com.datalogics.PDFL.Document.convertToExcel(String inputPDFFileFilePath, String outputOfficeFilePath) ``` *static* **Parameters** - `inputPDFFileFilePath` (`String`): The PDF file path to convert. - `outputOfficeFilePath` (`String`): The output Office file path. **Returns:** `boolean` true if the conversion was successful, false if an error occurred. This function converts a PDF file to a Microsoft Excel Office file (.xlsx). NOTE: This method is only available on Windows 32/64-bit and Linux 64-bit. ### convertToPowerPoint ```java static boolean com.datalogics.PDFL.Document.convertToPowerPoint(String inputPDFFileFilePath, String outputOfficeFilePath) ``` *static* **Parameters** - `inputPDFFileFilePath` (`String`): The PDF file path to convert. - `outputOfficeFilePath` (`String`): The output Office file path. **Returns:** `boolean` true if the conversion was successful, false if an error occurred. This function converts a PDF file to a Microsoft PowerPoint Office file (.pptx). NOTE: This method is only available on Windows 32/64-bit and Linux 64-bit. ### convertToWord ```java static boolean com.datalogics.PDFL.Document.convertToWord(String inputPDFFileFilePath, String outputOfficeFilePath) ``` *static* **Parameters** - `inputPDFFileFilePath` (`String`): The PDF file path to convert. - `outputOfficeFilePath` (`String`): The output Office file path. **Returns:** `boolean` true if the conversion was successful, false if an error occurred. This function converts a PDF file to a Microsoft Word Office file (.docx). NOTE: This method is only available on Windows 32/64-bit and Linux 64-bit. ### convertXFAFieldsToAcroFormFields ```java long com.datalogics.PDFL.Document.convertXFAFieldsToAcroFormFields() ``` **Returns:** `long` the number of output pages created in the converted document Convert a XFA document into a document with only AcroForms. XFA content is not widely supported by PDF processors, converting this content transforms XFA fields into AcroForm fields which are more widely suppored by PDF processors All XFA fields are removed. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### countXMPMetadataArrayItems ```java int com.datalogics.PDFL.Document.countXMPMetadataArrayItems(String namespaceName, String path) ``` **Parameters** - `namespaceName` (`String`): The XML namespace URI for the schema in which the property is to be found. - `path` (`String`): The name of the simple property . **Returns:** `int` number of array items in the property array. Returns the number of array items in a property array associated with a Document. ### createCollection ```java void com.datalogics.PDFL.Document.createCollection() ``` **Returns:** `void` collection object CreateCollection allows to create new collection in the PDF document.It replaces any existing collection. ### createNameTree ```java NameTree com.datalogics.PDFL.Document.createNameTree(String nameTreeName) ``` **Parameters** - `nameTreeName` (`String`): The name of the NameTree to create. **Returns:** [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md) The retrieved or newly created NameTree. Retrieves the name tree inside the Names dictionary with the specified key name, or creates it if it does not exist. ### createPage ```java Page com.datalogics.PDFL.Document.createPage(int afterPageNum, Rect mediaBox) ``` **Parameters** - `afterPageNum` (`int`): The page number after which the new page is inserted. The first page is 0. Use Document.BeforeFirstPage to insert the new page at the beginning of a document. - `mediaBox` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the page's media box, specified in user space coordinates. **Returns:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) The newly created page. Creates and acquires a new Page. The page is inserted into the document at the specified location. ### delete ```java synchronized void com.datalogics.PDFL.Document.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Document.delete() ``` **Returns:** `synchronized void` Closes that document and releases its resources. Changes are not saved. You must use Save() to save any modifications before destroying this object. ### deletePages ```java void com.datalogics.PDFL.Document.deletePages(int firstPage, int lastPage) ``` **Parameters** - `firstPage` (`int`): The page number of the first page to delete. The first page is 0. - `lastPage` (`int`): The page number of the last page to delete. **Returns:** `void` Deletes the specified pages. ### deletePages ```java void com.datalogics.PDFL.Document.deletePages(int firstPage, int lastPage, java.util.EnumSet< PageDeleteFlags > deleteFlags) ``` **Parameters** - `firstPage` (`int`): The page number of the first page to delete. The first page is 0. - `lastPage` (`int`): The page number of the last page to delete. - `deleteFlags` (`java.util.EnumSet< PageDeleteFlags >`): One of the DeleteFlags. **Returns:** `void` Deletes the specified pages with option to parse Structure Tree. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts() ``` **Returns:** `void` Embed unembedded fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. With no flags, fonts marked as embedded or subsettable will be embedded. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, use the version of this call that takes a list of Font objects and a set of flags for embedding. Passing the list of new Fonts and the DontScanDocument flag will directly embed the fonts in the list without scanning the document. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts(java.util.EnumSet< EmbedFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< EmbedFlags >`): One of the EmbedFlags **Returns:** `void` Embed unembedded fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, use the version of this call that takes a list of Font objects and a set of flags for embedding. Passing the list of new Fonts and the DontScanDocument flag will directly embed the fonts in the list without scanning the document. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts(java.util.EnumSet< EmbedFlags > flags, ProgressMonitor progressMonitor, CancelProc cancelProc, ReportProc reportProc) ``` **Parameters** - `flags` (`java.util.EnumSet< EmbedFlags >`): One of the EmbedFlags - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): a CancelProc, which can return true to cancel the operation, may be null - `reportProc` ([`ReportProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ReportProc.md)): a ReportProc, which will be called with warnings about fonts that do not embed, may be null **Returns:** `void` Embed unembedded fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, use the version of this call that takes a list of Font objects and a set of flags for embedding. Passing the list of new Fonts and the DontScanDocument flag will directly embed the fonts in the list without scanning the document. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts(java.util.List< Font > fonts) ``` **Parameters** - `fonts` ([`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)) **Returns:** `void` Embed specified fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. The fonts passed to this function must be fonts actually used in the current document. These fonts may be obtained by using the GetFonts or GetLoadedFonts functions, or obtained from a TextRun. Fonts created by name will not work in this context. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, use the version of this call that takes a list of Font objects and a set of flags for embedding. Passing the list of new Fonts and the DontScanDocument flag will directly embed the fonts in the list without scanning the document. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts(java.util.List< Font > fonts, java.util.EnumSet< EmbedFlags > flags) ``` **Parameters** - `fonts` ([`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The list of fonts to embed. See restrictions above. - `flags` (`java.util.EnumSet< EmbedFlags >`): One of the EmbedFlags **Returns:** `void` Embed specified fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. The fonts passed to this function must be fonts actually used in the current document. These fonts may be obtained by using the GetFonts or GetLoadedFonts functions, or obtained from a TextRun. Fonts created by name will not work in this context. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, pass the list of new Fonts and the DontScanDocument flag. This will directly embed the fonts in the list without scanning the document. ### embedFonts ```java void com.datalogics.PDFL.Document.embedFonts(java.util.List< Font > fonts, java.util.EnumSet< EmbedFlags > flags, ProgressMonitor progressMonitor, CancelProc cancelProc, ReportProc reportProc) ``` **Parameters** - `fonts` ([`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The list of fonts to embed. See restrictions above. - `flags` (`java.util.EnumSet< EmbedFlags >`): One of the EmbedFlags - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): a CancelProc, which can return true to cancel the operation, may be null - `reportProc` ([`ReportProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ReportProc.md)): a ReportProc, which will be called with warnings about fonts that do not embed, may be null **Returns:** `void` Embed specified fonts in a document. To keep the changes the document must be saved. Fonts on the user's system that match the original font definition will be embedded. For the Times-Roman and Helvetica and corresponding styles, if displayed with a font alias, then the font alias will be embedded in the file. If the font has information that indicates the font cannot be embedded for print and preview, then the font will not be embedded in the document. The fonts passed to this function must be fonts actually used in the current document. These fonts may be obtained by using the GetFonts or GetLoadedFonts functions, or obtained from a TextRun. Fonts created by name will not work in this context. By default, the font embedding process scans the entire document for font usage information when subsetting fonts. For documents with large numbers of fonts or pages, this can take a long time. In cases where new Font objects are created and used to set text, it's not necessary to scan the entire document; instead, pass the list of new Fonts and the DontScanDocument flag. This will directly embed the fonts in the list without scanning the document. ### embedOCRFonts ```java void com.datalogics.PDFL.Document.embedOCRFonts() ``` **Returns:** `void` Embed fonts that were used in creating OCR text. This is also done automatically when saving. ### enumIndirectPDFObjects ```java boolean com.datalogics.PDFL.Document.enumIndirectPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each indirect object in dP. Enumeration ends when enumProc returns false or all indirect objects have been enumerated. The value parameter returned in enumProc is always null. **Returns:** `boolean` true if all of the calls to enumProc returned true. It returns false as soon as a call to enumProc returns false. Enumerates all the indirect objects of this document. The objects are enumerated in no particular order. Successive enumerations of the same Document are not guaranteed to enumerate objects in the same order. This method does not enumerate invalid objects, which include objects that are defined as null, objects that are not defined at all (those having no cross-reference entry), and objects that are on the free list. This re-raises any exception that proc raises. ### enumResources ```java void com.datalogics.PDFL.Document.enumResources(int startPage, int endPage, ResourceType resourceType, PDFObjectEnumProc enumProc) ``` **Parameters** - `startPage` (`int`): The first page in the range of pages. - `endPage` (`int`): The last page in the range of pages. - `resourceType` (`ResourceType`): Resource type to enumerate. - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call once for each resource of the specified type. NOTE: The resource is the first parameter of the callback, the second is unused. **Returns:** `void` Enumerates the specified type of Page Resource, for a specified range of Pages. This method enumerates resources in each page's Resources dictionary (ColorSpace, Font, ExtGState, etc.). ### exportAcroFormsData ```java boolean com.datalogics.PDFL.Document.exportAcroFormsData(String fileName, AcroFormExportType exportType) ``` **Parameters** - `fileName` (`String`): The path on disk of the file the AcroForms data is exported to. - `exportType` (`AcroFormExportType`): The format type the AcroForm data should be exported to. The supported types are XFDF, FDF, and XML. **Returns:** `boolean` true indicates exporting succeeded and false indicates an error occurred Export the AcroForms data. AcroForms data is exported into a format that can later be imported into another AcroForms document. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### exportAsPostScript ```java void com.datalogics.PDFL.Document.exportAsPostScript(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. - `printProgressProc` ([`PrintProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintProgressProc.md)): A PrintProgressProc, may be null. - `path` (`String`): The output file to be created. **Returns:** `void` Exports a PDF document or pages from a PDF document as PostScript allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### exportAsPostScript ```java void com.datalogics.PDFL.Document.exportAsPostScript(PrintUserParams userParams, PrintCancelProc printCancelProc, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. - `path` (`String`): The output file to be created. **Returns:** `void` Exports a PDF document or pages from a PDF document as PostScript allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### exportAsPostScript ```java void com.datalogics.PDFL.Document.exportAsPostScript(PrintUserParams userParams, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `path` (`String`): The output file to be created. **Returns:** `void` Exports a PDF document or pages from a PDF document as PostScript allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### exportXFAFormsData ```java boolean com.datalogics.PDFL.Document.exportXFAFormsData(String fileName, XFAFormExportType exportType) ``` **Parameters** - `fileName` (`String`): The path on disk of the file the XFA form data is exported to. - `exportType` (`XFAFormExportType`): The format type the XFA data should be exported to. The supported types are XDP, XML, and XFD. **Returns:** `boolean` true indicates exporting succeeded and false indicates an error occurred Export the XFA Forms data. XFA forms data is exported into a format that can later be imported into another XFA document. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### finalize ```java void com.datalogics.PDFL.Document.finalize() ``` *protected* **Returns:** `void` Closes that document and releases its resources. Changes are not saved. You must use Save() to save any modifications before destroying this object. ### findBookmark ```java Bookmark com.datalogics.PDFL.Document.findBookmark(String title) ``` **Parameters** - `title` (`String`): The title of the bookmark for which to search. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The bookmark within the document's bookmark tree that has the supplied title. Returns NULL if there is no bookmark with the supplied title. Find bookmark by its title, searching within the document's entire bookmark tree. ### findBookmark ```java Bookmark com.datalogics.PDFL.Document.findBookmark(String title, int maxDepth) ``` **Parameters** - `title` (`String`): The title of the bookmark for which to search. - `maxDepth` (`int`): If supplied (with a value greater than or equal to 0), declares the number of levels below this bookmark to search. (If omitted, the entire subtree is searched.) **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The bookmark within the document's bookmark tree that has the supplied title. Returns NULL if there is no bookmark with the supplied title. Find bookmark by its title, searching within the document's bookmark tree to a depth determined by maxDepth (e.g., 0 = root bookmark only and not any of its children, 1 = search one level below root bookmark level, etc. Omit to search entire bookmark tree.) ### findLabelForPageNum ```java String com.datalogics.PDFL.Document.findLabelForPageNum(int pageIndex) ``` **Parameters** - `pageIndex` (`int`): Index of a page in the Document **Returns:** `String` The label string for the page Fetch the label string for a page index, using the current page labels. ### findPDFObjectByID ```java PDFObject com.datalogics.PDFL.Document.findPDFObjectByID(int ID) ``` **Parameters** - `ID` (`int`): The object ID number to look up. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject with the specified ID, or null if no such object exists. Retrieves an indirect PDFObject by its ID number. Note that direct PDFObjects cannot be retrieved by ID. ### findPageNumForLabel ```java int com.datalogics.PDFL.Document.findPageNumForLabel(String label) ``` **Parameters** - `label` (`String`): The label string to look up **Returns:** `int` The index of the corresponding page, or -1 if the label could not be matched Look up a page index based on a label string. ### flattenAcroFormFields ```java void com.datalogics.PDFL.Document.flattenAcroFormFields() ``` **Returns:** `void` Flatten a AcroForms document. Interactive AcroForm fields are flattened into static PDF page content. All AcroForm fields are removed. NOTE: This method is part of the APDFL Forms Extension that is available separately from APDFL. For more information, please see [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### flattenNonFormAnnotations ```java void com.datalogics.PDFL.Document.flattenNonFormAnnotations() ``` **Returns:** `void` Flatten a Non-Form (no AcroForm, no XFA) document's Annotations. Annotations are flattened into static PDF page content. NOTE: This method is part of the APDFL Forms Extension that is available separately from APDFL. For more information, please see [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### flattenOptionalContent ```java boolean com.datalogics.PDFL.Document.flattenOptionalContent() ``` **Returns:** `boolean` true if the document was successfully flattened, false otherwise. Flattens optional content in the document. Every page in the document will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made. All other optional content information will be removed from the document. The document's default optional content context will be used to determine visibility of optional content. ### flattenOptionalContent ```java boolean com.datalogics.PDFL.Document.flattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `boolean` true if the document was successfully flattened, false otherwise. Flattens optional content in the document. Every page in the document will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made. All other optional content information will be removed from the document. ### flattenTransparency ```java int com.datalogics.PDFL.Document.flattenTransparency() ``` **Returns:** `int` The number of pages that were flattened. Flattens all transparencies in the document. To flatten specific pages, see Document.FlattenTransparency(params, firstPage, lastPage) Documents are flattened one at a time. In multi-threaded applications, threads that are making simultaneous calls to this method will block and execute the method sequentially. ### flattenTransparency ```java int com.datalogics.PDFL.Document.flattenTransparency(FlattenTransparencyParams params) ``` **Parameters** - `params` ([`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md)): Additional parameters for performing transparency flattening. **Returns:** `int` The number of pages that were flattened. Flattens all transparencies in the document. To flatten specific pages, see Document.FlattenTransparency(params, firstPage, lastPage) Documents are flattened one at a time. In multi-threaded applications, threads that are making simultaneous calls to this method will block and execute the method sequentially. ### flattenTransparency ```java int com.datalogics.PDFL.Document.flattenTransparency(FlattenTransparencyParams params, int firstPage, int lastPage) ``` **Parameters** - `params` ([`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md)): Additional parameters for performing transparency flattening. - `firstPage` (`int`): The first page of the range of pages to flatten. - `lastPage` (`int`): The last page of the range of pages to flatten. **Returns:** `int` The number of pages that were flattened. Flattens transparencies in the document that occur on pages within the specified range. When performing flattening on multiple pages, this method is more efficient than making multiple Page.FlattenTransparency() calls. Documents are flattened one at a time. In multi-threaded applications, threads that are making simultaneous calls to this method will block and execute the method sequentially. ### flattenXFAFormFields ```java long com.datalogics.PDFL.Document.flattenXFAFormFields() ``` **Returns:** `long` the number of output pages created in the flattened document. Flatten a XFA Document (Static or Dynamic). XFA content is not widely supported by PDF processors, flattening this content transforms into static PDF page content that is part of typical PDF files that can easily be understood by PDF processors. All XFA fields are removed. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### flattenXFAFormFieldsAsIfPrinted ```java long com.datalogics.PDFL.Document.flattenXFAFormFieldsAsIfPrinted() ``` **Returns:** `long` the number of output pages created in the flattened document. Flatten a XFA Document (Static or Dynamic) as if it was Printed. XFA content is not widely supported by PDF processors, flattening this content transforms into static PDF page content that is part of typical PDF files that can easily be understood by PDF processors. All XFA fields are removed. The Flattened appearance will take into consideration how the document should appear when printed. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### getAttachments ```java java.util.List< FileAttachment > com.datalogics.PDFL.Document.getAttachments() ``` **Returns:** [`java.util.List< FileAttachment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md) The list of attached files. Gets all attached files from the PDF document. ### getAuthor ```java String com.datalogics.PDFL.Document.getAuthor() ``` **Returns:** `String` The author of the PDF document. ### getBaseURI ```java String com.datalogics.PDFL.Document.getBaseURI() ``` **Returns:** `String` The Base URI of the PDF document. ### getBookmarkRoot ```java Bookmark com.datalogics.PDFL.Document.getBookmarkRoot() ``` **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md) The document's root bookmark. Gets the root of the document's bookmark tree. The return value is valid even if the document's bookmark tree is empty (meaning that there is no Outlines key in the underlying PDF file). ### getCollection ```java Collection com.datalogics.PDFL.Document.getCollection() ``` **Returns:** [`Collection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Collection.md) collection object if collection exists in the Document or NULL otherwise. GetCollection allows to retrieve collection from the PDF document. ### getCompressionLevel ```java int com.datalogics.PDFL.Document.getCompressionLevel() ``` **Returns:** `int` The compression level of the document. The compression level can be one of three values returned by this property: 0 - No compression. All objects are available without inflation. 1 - Partial compression. Objects related to logical structure are stored in object streams and must be inflated. 2 - Full compression. All objects are compressed and must be inflated. ### getCreator ```java String com.datalogics.PDFL.Document.getCreator() ``` **Returns:** `String` The creator of the PDF file. ### getDefaultOptionalContentConfig ```java OptionalContentConfig com.datalogics.PDFL.Document.getDefaultOptionalContentConfig() ``` **Returns:** [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) The document's current default OptionalContentConfig. Gets the default OptionalContentConfig for the document. The OptionalContentConfig determines default settings for optional content, such as the order in which layers (i.e. OptionalContentGroup) appear in the Layers control panel. These settings are used when the document is first opened. ### getDeleteOnClose ```java boolean com.datalogics.PDFL.Document.getDeleteOnClose() ``` **Returns:** `boolean` The DeleteOnClose property. The document is based on a temporary file that must be deleted when the document is closed or saved. ### getFileName ```java String com.datalogics.PDFL.Document.getFileName() ``` **Returns:** `String` The filename associated with this Document. Get the filename associated with this Document, if it has a representation on disk. ### getFonts ```java java.util.List< Font > com.datalogics.PDFL.Document.getFonts(int firstPage, int lastPage) ``` **Parameters** - `firstPage` (`int`): The page number of the first page for which fonts are enumerated. The first page is 0. - `lastPage` (`int`): The page number of the last page for which fonts are enumerated. **Returns:** [`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) A list of Font objects found in the specified page range. Get all the fonts in the specified page range. This may take a considerable amount of time for a large page range. ### getFormsType ```java PDDocFormsType com.datalogics.PDFL.Document.getFormsType() ``` **Returns:** `PDDocFormsType` the Type of Forms the Document contains. Returns the document's Forms Type. This property is more versatile than the related IsDynamicXFA() and IsStaticXFA() methods. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### getHasSignature ```java boolean com.datalogics.PDFL.Document.getHasSignature() ``` **Returns:** `boolean` If the Document has a Digital Signature. The document contains a Digital Signature. ### getInfo ```java String com.datalogics.PDFL.Document.getInfo(String infoname) ``` **Parameters** - `infoname` (`String`): The name of metadata which value will be obtained. **Returns:** `String` The value of the metadata obtained from the PDF file. Gets the value of metadata information in a PDF file. ### getInfoDict ```java PDFDict com.datalogics.PDFL.Document.getInfoDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The Info dictionary of the document as a PDFObject. ### getInstanceID ```java byte[] com.datalogics.PDFL.Document.getInstanceID() ``` **Returns:** `byte[]` Get the instance ID for this document. ### getIsEmbedded ```java boolean com.datalogics.PDFL.Document.getIsEmbedded() ``` **Returns:** `boolean` The IsEmbedded property The document is embedded in a compound document (OLE, OpenDoc). ### getIsLinearized ```java boolean com.datalogics.PDFL.Document.getIsLinearized() ``` **Returns:** `boolean` The IsLinearized property The document is linearized (optimized) for page-served remote (network) access. This flag is get only. ### getIsModified ```java boolean com.datalogics.PDFL.Document.getIsModified() ``` **Returns:** `boolean` The IsModified property. The document has been modified slightly (for example, bookmarks or text annotations have been opened or closed), but not in a way that warrants saving. This flag is get only. ### getIsOptimized ```java boolean com.datalogics.PDFL.Document.getIsOptimized() ``` **Returns:** `boolean` The IsOptimized property The document is optimized. If this flag is cleared, the Adobe PDF Library does not save the file optimized. You can, therefore, linearize a PDF file without optimizing it. Optimizing without linearizing is not allowed, however. This flag can only be set, never cleared. ### getIsPxDF ```java boolean com.datalogics.PDFL.Document.getIsPxDF() ``` **Returns:** `boolean` The IsPxDF property The underlying file is PxDF. This flag is get only. ### getKeywords ```java String com.datalogics.PDFL.Document.getKeywords() ``` **Returns:** `String` The keywords of the PDF file. ### getLoadedFonts ```java java.util.List< Font > com.datalogics.PDFL.Document.getLoadedFonts() ``` **Returns:** [`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) Enumerates all the fonts that have been encountered so far. A font is loaded when a page that uses it is processed. This typically happens when a page is drawn or its thumbnail image is created. ### getMajorVersion ```java short com.datalogics.PDFL.Document.getMajorVersion() ``` **Returns:** `short` The major PDF version number of the document. The major PDF version number of the document. The PDF version is specified in the header of a PDF file in the string "%PDF-xx. yy" where xx is the major version and yy is the minor version. ### getMajorVersionIsNewerThanCurrentLibrary ```java boolean com.datalogics.PDFL.Document.getMajorVersionIsNewerThanCurrentLibrary() ``` **Returns:** `boolean` The MajorVersionIsNewerThanCurrentLibrary property The document's major version is newer than the current library version. This flag is get only. ### getMergedXMPKeywords ```java String com.datalogics.PDFL.Document.getMergedXMPKeywords() ``` **Returns:** `String` A string containing a semicolon-separated list of merged XMP keyword fields. The first such field is the entire contents of the pdf:Keywords property of the document XMP; the remaining fields are the contents of successive items in the xmp:Keywords bag of keyword items. ### getMinorVersion ```java short com.datalogics.PDFL.Document.getMinorVersion() ``` **Returns:** `short` The minor PDF version number of the document. The minor PDF version number of the document. The PDF version is specified in the header of a PDF file in the string "%PDF-xx. yy" where xx is the major version and yy is the minor version. Please note: Setting the minor version on a document only changes the version number in the document's file header. It will NOT actually change the PDF's contents and it will NOT alter the PDF to conform to the standard of the new minor version. The new minor version number will appear in the file header once the document is saved. ### getMinorVersionIsNewerThanCurrentLibrary ```java boolean com.datalogics.PDFL.Document.getMinorVersionIsNewerThanCurrentLibrary() ``` **Returns:** `boolean` The MinorVersionIsNewerThanCurrentLibrary property The document's minor version is newer than the current library version. This flag is get only. ### getNameTree ```java NameTree com.datalogics.PDFL.Document.getNameTree(String nameTreeName) ``` **Parameters** - `nameTreeName` (`String`): The name of the NameTree to get. **Returns:** [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md) The retrieved NameTree. Retrieves the name tree inside the Names dictionary with the specified key name. ### getNeedsSave ```java boolean com.datalogics.PDFL.Document.getNeedsSave() ``` **Returns:** `boolean` The NeedsSave property. The document has been modified and needs to be saved. ### getNumPages ```java int com.datalogics.PDFL.Document.getNumPages() ``` **Returns:** `int` The number of pages in the document. Remember to subtract 1 from this value if you are going to pass it to a Page method that takes a zero-based page number. Gets the number of pages in a document. ### getOptionalContentConfigs ```java java.util.List< OptionalContentConfig > com.datalogics.PDFL.Document.getOptionalContentConfigs() ``` **Returns:** [`java.util.List< OptionalContentConfig >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) A list of all OptionalContentConfigs in the document. Gets all OptionalContentConfigs stored in this document. The first will be the default OptionalContentConfig (the same value returned by DefaultOptionalContentConfig); subsequent values will be additional Configs stored in the document. Any of these can be made the default by setting it via the DefaultOptionalContentConfig property. Any OptionalContentConfigs created via the OptionalContentConfig constructor will appear in this list. ### getOptionalContentContext ```java OptionalContentContext com.datalogics.PDFL.Document.getOptionalContentContext() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) The document's current OptionalContentContext. Gets the built-in default OptionalContentContext for the document. This context is used by all content drawing and enumeration calls that do not take an OptionalContentContext parameter, or for which no context is specified. ### getOptionalContentGroups ```java java.util.List< OptionalContentGroup > com.datalogics.PDFL.Document.getOptionalContentGroups() ``` **Returns:** [`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) A list of COptionalContentGroup objects. Gets the optional-content groups for the document. The order of the groups is not guaranteed to be the creation order, and is not the same as the display order (see PDOCConfigGetOCGOrder()). ### getPage ```java Page com.datalogics.PDFL.Document.getPage(int pageNumber) ``` **Parameters** - `pageNumber` (`int`): The page number of the page to acquire. The first page is 0. **Returns:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) The requested Page object. Gets a Page from a document. ### getPageLabels ```java java.util.List< PageLabel > com.datalogics.PDFL.Document.getPageLabels() ``` **Returns:** [`java.util.List< PageLabel >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md) The list of PageLabel objects used in the document. PageLabels are always stored in page index order; if two PageLabels start on the same page index, the last PageLabel appearing in the list will be used. ### getPageMode ```java PageMode com.datalogics.PDFL.Document.getPageMode() ``` **Returns:** `PageMode` The PageMode of the PDF document. ### getPermanentID ```java byte[] com.datalogics.PDFL.Document.getPermanentID() ``` **Returns:** `byte[]` Get the permanent ID for this document. ### getPermissionFlags ```java java.util.EnumSet< PermissionFlags > com.datalogics.PDFL.Document.getPermissionFlags() ``` **Returns:** `java.util.EnumSet< PermissionFlags >` flags that have been set Allows to obtain security flags for the document. ### getProducer ```java String com.datalogics.PDFL.Document.getProducer() ``` **Returns:** `String` The producer of the PDF file. ### getRequiresFullSave ```java boolean com.datalogics.PDFL.Document.getRequiresFullSave() ``` **Returns:** `boolean` The RequiresFullSave property. The document cannot be saved incrementally; when it is saved using Document.Save(), the SaveFlags.Full flag must be specified. This flag can only be set, never cleared. ### getRolledBackDocuments ```java java.util.List< RolledBackDocument > com.datalogics.PDFL.Document.getRolledBackDocuments() ``` **Returns:** [`java.util.List< RolledBackDocument >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md) The list of Rolled Back Documents, the documents must be saved to disk before they can be loaded into PDFL. A Document that have been previously saved Incrementally means changes were written to the end of the file leaving its original contents intact. Thus an Incrementally saved file may contain multiple entire PDF documents that represent prior incarnations of the current document. This method retrieves any such previous documents found in sequential order from the beginning of the file. ### getRoot ```java PDFDict com.datalogics.PDFL.Document.getRoot() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The Catalog of the document as a PDFObject. ### getStructureIDTree ```java NameTree com.datalogics.PDFL.Document.getStructureIDTree() ``` **Returns:** [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md) The retrieved IDTree. Retrieves the IDTree from the StructureTreeRoot dictionary. ### getStructureParentTree ```java NumberTree com.datalogics.PDFL.Document.getStructureParentTree() ``` **Returns:** [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md) The retrieved ParentTree. Retrieves the ParentTree from the StructureTreeRoot dictionary. ### getSubject ```java String com.datalogics.PDFL.Document.getSubject() ``` **Returns:** `String` The subject of the PDF document. ### getSuppressErrors ```java boolean com.datalogics.PDFL.Document.getSuppressErrors() ``` **Returns:** `boolean` The SuppressErrors property Do not display errors. ### getTitle ```java String com.datalogics.PDFL.Document.getTitle() ``` **Returns:** `String` The title of the PDF document. ### getVersionIsOlderThanCurrentLibrary ```java boolean com.datalogics.PDFL.Document.getVersionIsOlderThanCurrentLibrary() ``` **Returns:** `boolean` The VersionIsOlderThanCurrentLibrary property The document's version is older than the current library version. This flag is get only. ### getVersionString ```java String com.datalogics.PDFL.Document.getVersionString() ``` **Returns:** `String` A string containing the PDF version number of the document. The PDF version of the document, which is specified in the header of a PDF file in the string "%PDF-xx.yy" where xx is the major version and yy is the minor version. Note that this returns a string containing both the major and minor versions. For version comparisons, use MajorVersion and MinorVersion. ### getWasRepaired ```java boolean com.datalogics.PDFL.Document.getWasRepaired() ``` **Returns:** `boolean` The WasRepaired property. The document was repaired when it was opened. This flag is get only. ### getXMPMetadata ```java String com.datalogics.PDFL.Document.getXMPMetadata() ``` **Returns:** `String` The XMP metadata associated with a document. The XMP metadata returned always represents all the properties in the Document's Info dictionary, and can also contain properties not present in the Info dictionary. This call is preferred to GetInfo, which only returns properties that are in the Info dictionary (although the older function is supported for compatibility). ### getXMPMetadataArrayItem ```java String com.datalogics.PDFL.Document.getXMPMetadataArrayItem(String namespaceName, String path, int index) ``` **Parameters** - `namespaceName` (`String`): The XML namespace URI for the schema in which the property is to be found. - `path` (`String`): The name of the desired simple property. - `index` (`int`): The index in the metadata property array associated with the property. **Returns:** `String` a string containing the XML text of the value of the specified property in the XMP metadata associated with the Document, or an empty string if no such property is found. Gets the value of an XMP metadata array item, associated with a document, based on an index. ### getXMPMetadataProperty ```java String com.datalogics.PDFL.Document.getXMPMetadataProperty(String namespaceName, String path) ``` **Parameters** - `namespaceName` (`String`): The XML namespace URI for the schema in which the property is to be found. - `path` (`String`): The name of the desired simple property. Note that XMP properties can have an XML substructure; this method can only retrieve values from simple textual properties. **Returns:** `String` A string containing the XML text of the value of the specified property, or an empty string if no such property is found. Gets the value of an XMP metadata property associated with a document. It returns the XML text of the value of the specified property in the XMP metadata associated with the Document. The XMP metadata can represent all properties in the Document object's Info dictionary, as well as other properties. ### importAcroFormsData ```java boolean com.datalogics.PDFL.Document.importAcroFormsData(String fileName, AcroFormImportType importType) ``` **Parameters** - `fileName` (`String`): The path on disk of the AcroFormsdata file to be imported. - `importType` (`AcroFormImportType`): The format type the data type should be imported to. The supported types are XFDF, FDF, and XML. **Returns:** `boolean` true indicates importing succeeded and false indicates an error occurred Import the AcroForms data. AcroForms data is imported from a supported format into the AcroForms document so its existing fields can be populated for example. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### importXFAFormsData ```java boolean com.datalogics.PDFL.Document.importXFAFormsData(String fileName) ``` **Parameters** - `fileName` (`String`): The path on disk of the XFA form data file to be imported, the supported types of data that can be imported are XDP, XML, and XFD. **Returns:** `boolean` true indicates importing succeeded and false indicates an error occurred Import the XFA Forms data. XFA forms data is imported from a supported format into the XFA document so its existing fields can be populated for example. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### insertPages ```java void com.datalogics.PDFL.Document.insertPages(int mergeAfterThisPage, Document doc2, int startPage, int numPages, java.util.EnumSet< PageInsertFlags > insertFlags) ``` **Parameters** - `mergeAfterThisPage` (`int`): The page number in doc after which pages from doc2 are inserted. The first page is 0. If Document.BeforeFirstPage is used, the pages are inserted before the first page in doc. Use Document.LastPage to insert pages after the last page in doc. - `doc2` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document containing the pages that are inserted into doc. - `startPage` (`int`): The page number of the first page in doc2 to insert into doc. The first page is 0. - `numPages` (`int`): The number of pages in doc2 to insert into doc. Use Document.AllPages to insert all pages from doc2 into doc. - `insertFlags` (`java.util.EnumSet< PageInsertFlags >`): Flags that determine what additional information is copied from doc2 into doc. It is an OR of the following constants: PageInsertFlags.Bookmarks, PageInsertFlags.Threads, PageInsertFlags.All **Returns:** `void` Inserts numPages pages from doc2 into doc. All annotations, and anything else associated with the page (such as a thumbnail image) are copied from the doc2 pages to the new pages in doc. This method does not insert pages if doc equals doc2. The insertFlags parameter controls whether bookmarks and threads are inserted along with the specified pages. Setting this parameter to PageInsertFlags.All has two effects: The parameters indicating which pages to insert are ignored: all the pages of doc2 are inserted. In addition to inserting the pages themselves, it also merges other document data from doc2 into doc: Named destinations from doc2 (of PDF 1.1 and later) are copied into doc. If there are named destinations in doc2 with the same name as some named destination in doc, the ones in doc retain their names and the copied named destinations are given new names based on the old ones, with distinguishing digits added. Actions and bookmarks referring to the old names are made to refer to the new names after being copied into doc. If it is also the case that mergeAfterThisPage denotes the last page of the document, then document metadata is merged, and the optional content properties are merged in a more symmetrical manner than would otherwise be the case. Document logical structure from doc2 is copied into doc. If less than the whole of doc2 is being inserted, only those structure elements having content on the copied pages, and the ancestors of those elements, are copied into the logical structure tree of doc. The top-level children of the structure tree root of doc2 are copied as new top-level children of the structure tree root of doc; a structure tree root is created in doc if there was none before. The role maps of the two structure trees are merged, with name conflicts resolved in favor of the role mappings present in doc. Attribute objects having scalar values, or values that are arrays of scalar values, are copied. Class map information from doc2 is also merged into that for doc. ### insertPages ```java void com.datalogics.PDFL.Document.insertPages(int mergeAfterThisPage, Document doc2, int startPage, int numPages, java.util.EnumSet< PageInsertFlags > insertFlags, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `mergeAfterThisPage` (`int`): The page number in doc after which pages from doc2 are inserted. The first page is 0. If Document.BeforeFirstPage is used, the pages are inserted before the first page in doc. Use Document.LastPage to insert pages after the last page in doc. - `doc2` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document containing the pages that are inserted into doc. - `startPage` (`int`): The page number of the first page in doc2 to insert into doc. The first page is 0. - `numPages` (`int`): The number of pages in doc2 to insert into doc. Use Document.AllPages to insert all pages from doc2 into doc. - `insertFlags` (`java.util.EnumSet< PageInsertFlags >`): Flags that determine what additional information is copied from doc2 into doc. It is an OR of the following constants: PageInsertFlags.Bookmarks, PageInsertFlags.Threads, PageInsertFlags.All - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): a CancelProc, which can return true to cancel the operation, may be null **Returns:** `void` Inserts numPages pages from doc2 into doc. All annotations, and anything else associated with the page (such as a thumbnail image) are copied from the doc2 pages to the new pages in doc. This method does not insert pages if doc equals doc2. The insertFlags parameter controls whether bookmarks and threads are inserted along with the specified pages. Setting this parameter to PageInsertFlags.All has two effects: The parameters indicating which pages to insert are ignored: all the pages of doc2 are inserted. In addition to inserting the pages themselves, it also merges other document data from doc2 into doc: Named destinations from doc2 (of PDF 1.1 and later) are copied into doc. If there are named destinations in doc2 with the same name as some named destination in doc, the ones in doc retain their names and the copied named destinations are given new names based on the old ones, with distinguishing digits added. Actions and bookmarks referring to the old names are made to refer to the new names after being copied into doc. If it is also the case that mergeAfterThisPage denotes the last page of the document, then document metadata is merged, and the optional content properties are merged in a more symmetrical manner than would otherwise be the case. Document logical structure from doc2 is copied into doc. If less than the whole of doc2 is being inserted, only those structure elements having content on the copied pages, and the ancestors of those elements, are copied into the logical structure tree of doc. The top-level children of the structure tree root of doc2 are copied as new top-level children of the structure tree root of doc; a structure tree root is created in doc if there was none before. The role maps of the two structure trees are merged, with name conflicts resolved in favor of the role mappings present in doc. Attribute objects having scalar values, or values that are arrays of scalar values, are copied. Class map information from doc2 is also merged into that for doc. ### isDynamicXFA ```java boolean com.datalogics.PDFL.Document.isDynamicXFA() ``` **Returns:** `boolean` true indicates the Document is Dynamic XFA, false indicates it is not Indicates if the document is Dynamic XFA. Dynamic XFA documents can change in appearance in response to changes in the data. They don't contain a meaningful PDF representation. Such XFA content is not widely supported by PDF processors. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### isStaticXFA ```java boolean com.datalogics.PDFL.Document.isStaticXFA() ``` **Returns:** `boolean` true indicates the Document is Static XFA, false indicates it is not Indicates if the document is Static XFA. Static XFA documents have a fixed appearance and layout. They usually contain a meaningful PDF representation. Such XFA content is not widely supported by PDF processors. [https://www.datalogics.com/pdf-form-functions](https://www.datalogics.com/pdf-form-functions). ### lookForKidsInNameTree ```java void com.datalogics.PDFL.Document.lookForKidsInNameTree(PDFDict nameTree, java.util.List< FileAttachment > attachments) ``` **Parameters** - `nameTree` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `attachments` ([`java.util.List< FileAttachment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### mergeXMPKeywords ```java void com.datalogics.PDFL.Document.mergeXMPKeywords() ``` **Returns:** `void` Causes a string produced as by PDDocGetMergedXAPKeywords() to be stored as the new value of the pdf:Keywords property, and the former value of the pdf:Keywords property to be stored as an item in the xmp:Keywords bag of keyword items. The algorithm used to compute merged keywords lists detects the case in which the keywords lists have already been merged and makes no changes to the XMP metadata in this case. ### movePage ```java void com.datalogics.PDFL.Document.movePage(int moveToAfterThisPage, int pageToMove) ``` **Parameters** - `moveToAfterThisPage` (`int`): The new location of the page to move. The first page is 0. It may either be a page number, or the constant Document.BeforeFirstPage. - `pageToMove` (`int`): The page number of the page to move. **Returns:** `void` Moves one page in a document. ### permRequest ```java boolean com.datalogics.PDFL.Document.permRequest(PermissionRequestOperation requestedperm) ``` **Parameters** - `requestedperm` (`PermissionRequestOperation`): The document permission which to check **Returns:** `boolean` a boolean if the permission is set in the document. Tests if a permission is set on a document ### permRequest ```java boolean com.datalogics.PDFL.Document.permRequest(String password, PermissionRequestOperation perms) ``` **Parameters** - `password` (`String`): The document password which authorizes the change. Note - if this argument is set to a NULL (""), then the return will be an indicator of whether or not the requested permission is already set in this document, with no changes made to the PDF document. - `perms` (`PermissionRequestOperation`): the permissions on the PDF file which is to be set or checked. **Returns:** `boolean` a boolean if the permission change is successful or if the permission was set. Request the permissions to be changed on a PDF document. This takes effect immediately ### print ```java void com.datalogics.PDFL.Document.print(PrintUserParams userParams) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. ### print ```java void com.datalogics.PDFL.Document.print(PrintUserParams userParams, PrintCancelProc printCancelProc) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. ### print ```java void com.datalogics.PDFL.Document.print(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. - `printProgressProc` ([`PrintProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintProgressProc.md)): A PrintProgressProc, may be null. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. ### printToFile ```java void com.datalogics.PDFL.Document.printToFile(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. - `printProgressProc` ([`PrintProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintProgressProc.md)): A PrintProgressProc, may be null. - `path` (`String`): The output file to be created. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### printToFile ```java void com.datalogics.PDFL.Document.printToFile(PrintUserParams userParams, PrintCancelProc printCancelProc, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc.md)): A PrintCancelProc, which can return true to cancel printing, may be null. - `path` (`String`): The output file to be created. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### printToFile ```java void com.datalogics.PDFL.Document.printToFile(PrintUserParams userParams, String path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `path` (`String`): The output file to be created. **Returns:** `void` Prints a PDF document or pages from a PDF document allowing the caller to specify options such as page size, rotation, and shrink-to-fit. The output is placed in the specified file. ### removeCollection ```java void com.datalogics.PDFL.Document.removeCollection() ``` **Returns:** `void` RemoveCollection Removes a collection dictionary from a document. ### removeDuplicateOCG ```java void com.datalogics.PDFL.Document.removeDuplicateOCG() ``` **Returns:** `void` Removes duplicate optional content group from the document. This does not remove any content associated with the duplicate group, ### removeNameTree ```java void com.datalogics.PDFL.Document.removeNameTree(String nameTreeName) ``` **Parameters** - `nameTreeName` (`String`): The name of the NameTree to remove. **Returns:** `void` Removes the name tree inside the Names dictionary with the specified key name. It does nothing if no object with that name exists. ### removeOCG ```java void com.datalogics.PDFL.Document.removeOCG(OptionalContentGroup ocg) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The optional content group to remove. **Returns:** `void` Removes the specified optional content group from the document. This does not remove any content associated with the specified group, only the group itself. ### replacePages ```java void com.datalogics.PDFL.Document.replacePages(int startPage, Document doc2, int startPageDoc2, int numPages, boolean mergeTextAnnots) ``` **Parameters** - `startPage` (`int`): The first page number in doc to replace. The first page is 0. - `doc2` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document from which pages are copied into doc. - `startPageDoc2` (`int`): The page number of the first page in doc2 to copy. The first page is 0. - `numPages` (`int`): The number of pages to replace. - `mergeTextAnnots` (`boolean`): If true, text annotations from doc2 are appended if they are different than all existing annotations on the page in doc. No other types of annotations are copied. **Returns:** `void` Replaces the specified range of pages in one document with pages from another. The contents, resources, size and rotation of the pages are replaced. The bookmarks are not copied, because they are attached to the document, not to individual pages. ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`): A bit field composed of an OR of the SaveFlags values. **Returns:** `void` Saves a document to disk. If a full save is requested to the original path, the file is saved to a file system-determined temporary file, the old file is deleted, and the temporary file is renamed to the save file name. A full save with linearization optimizes the PDF file. During optimization, all objects in a PDF file are rearranged, many of them acquiring not only a new file position, but also a new PDFObject number. At the end of the save operation, PDFL flushes its information of the PD layer and below to synchronize its in-memory state with the new disk file just written. If the document has a signature, it will be saved incrementally regardless of the full save flag. This is required to preserve the exact contents of the document at the time of signing. ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, JavaStreamFile dest) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`) - `dest` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)) **Returns:** `void` ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, JavaStreamFile dest, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`) - `dest` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)) - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)) - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)) **Returns:** `void` ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, javax.imageio.stream.ImageOutputStream stream) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`): An enum of SaveFlags values. - `stream` (`javax.imageio.stream.ImageOutputStream`): The stream to which the file is saved. **Returns:** `void` Saves a Document to a javax.imageio.stream.ImageOutputStream. The save is always performed as a full, copy save. The Document remains open with the original file. If the document was created with Document(), at least one page must be added using createPage() or insertPages() before the Document can be saved. A full save with linearization optimizes the PDF file. During optimization, all objects in a PDF file are rearranged, many of them acquiring not only a new file position, but also a new Cos object number. ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, javax.imageio.stream.ImageOutputStream stream, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`) - `stream` (`javax.imageio.stream.ImageOutputStream`) - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)) - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)) **Returns:** `void` ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`): A bit field composed of an OR of the SaveFlags values. - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): a CancelProc, which can return true to cancel the operation, may be null **Returns:** `void` Saves a document to disk. If a full save is requested to the original path, the file is saved to a file system-determined temporary file, the old file is deleted, and the temporary file is renamed to the save file name. A full save with linearization optimizes the PDF file. During optimization, all objects in a PDF file are rearranged, many of them acquiring not only a new file position, but also a new PDFObject number. At the end of the save operation, PDFL flushes its information of the PD layer and below to synchronize its in-memory state with the new disk file just written. If the document has a signature, it will be saved incrementally regardless of the full save flag. This is required to preserve the exact contents of the document at the time of signing. ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, String newPath) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`): A bit field composed of an OR of the SaveFlags values. - `newPath` (`String`): The path to which the file is saved. A path must be specified when either SaveFlags.Full or SaveFlags.Copy are used for saveFlags. If SaveFlags.Incremental is specified in saveFlags, then newPath should be NULL. If SaveFlags.Full is specified and newPath is the same as the file's original path, the new file is saved to a file system-determined temporary path, then the old file is deleted and the new file is renamed to newPath. **Returns:** `void` Saves a document to disk. If a full save is requested to the original path, the file is saved to a file system-determined temporary file, the old file is deleted, and the temporary file is renamed to newPath. If the document was created with Document, at least one page must be added using CreatePage() or InsertPages() before a PDF Viewer can save the document. A full save with linearization optimizes the PDF file. During optimization, all objects in a PDF file are rearranged, many of them acquiring not only a new file position, but also a new PDFObject number. At the end of the save operation, PDFL flushes its information of the PD layer and below to synchronize its in-memory state with the new disk file just written. If the document has a signature, it will be saved incrementally regardless of the full save flag. This is required to preserve the exact contents of the document at the time of signing. ### save ```java void com.datalogics.PDFL.Document.save(java.util.EnumSet< SaveFlags > saveFlags, String newPath, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` (`java.util.EnumSet< SaveFlags >`): A bit field composed of an OR of the SaveFlags values. - `newPath` (`String`): The path to which the file is saved. A path must be specified when either SaveFlags.Full or SaveFlags.Copy are used for saveFlags. If SaveFlags.Incremental is specified in saveFlags, then newPath should be NULL. If SaveFlags.Full is specified and newPath is the same as the file's original path, the new file is saved to a file system-determined temporary path, then the old file is deleted and the new file is renamed to newPath. - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): a CancelProc, which can return true to cancel the operation, may be null **Returns:** `void` Saves a document to disk. If a full save is requested to the original path, the file is saved to a file system-determined temporary file, the old file is deleted, and the temporary file is renamed to newPath. If the document was created with Document, at least one page must be added using CreatePage() or InsertPages() before a PDF Viewer can save the document. A full save with linearization optimizes the PDF file. During optimization, all objects in a PDF file are rearranged, many of them acquiring not only a new file position, but also a new PDFObject number. At the end of the save operation, PDFL flushes its information of the PD layer and below to synchronize its in-memory state with the new disk file just written. If the document has a signature, it will be saved incrementally regardless of the full save flag. This is required to preserve the exact contents of the document at the time of signing. ### secure ```java void com.datalogics.PDFL.Document.secure(java.util.EnumSet< PermissionFlags > permissions, String ownerPassword, String userPassword) ``` **Parameters** - `permissions` (`java.util.EnumSet< PermissionFlags >`): an "OR" of the types of PDF document specified by Permissions: - `ownerPassword` (`String`): optional PDF document owner password; pass null if not used. - `userPassword` (`String`): optional PDF document user password; pass null if not used. **Returns:** `void` Secure the PDF document securely with password(s). If the document has a security handler, it is retained. If the document does not have a security handler, it is assigned the "Standard" security handler with a 16-bit encryption key length. Access permissions as well as owner and user passwords are assigned to the PDF document. This method by default encrypts PDF's content as well as its metadata. To make selective encryption use appropriate overload of Secure() method. The document must be saved for the changes to take effect. A full save is required. ### secure ```java void com.datalogics.PDFL.Document.secure(java.util.EnumSet< PermissionFlags > permissions, String ownerPassword, String userPassword, EncryptionType encryptionType) ``` **Parameters** - `permissions` (`java.util.EnumSet< PermissionFlags >`): an "OR" of the types of PDF document specified by Permissions: - `ownerPassword` (`String`): optional PDF document owner password; pass null if not used. - `userPassword` (`String`): optional PDF document user password; pass null if not used. - `encryptionType` (`EncryptionType`): Encryption type to be used for securing the document. **Returns:** `void` Secure the PDF document securely with password(s). The security handler used for the document depends on the encryption type specified. Access permissions as well as owner and user passwords are assigned to the PDF document. This method by default encrypts PDF's content as well as its metadata. To make selective encryption use appropriate overload of Secure() method. The document must be saved for the changes to take effect. A full save is required. ### secure ```java void com.datalogics.PDFL.Document.secure(java.util.EnumSet< PermissionFlags > permissions, String ownerPassword, String userPassword, EncryptionType encryptionType, boolean encryptMetadata) ``` **Parameters** - `permissions` (`java.util.EnumSet< PermissionFlags >`): an "OR" of the types of PDF document specified by Permissions: - `ownerPassword` (`String`): optional PDF document owner password; pass null if not used. - `userPassword` (`String`): optional PDF document user password; pass null if not used. - `encryptionType` (`EncryptionType`): Encryption type to be used for securing the document. - `encryptMetadata` (`boolean`): A flag that indicates whether document metadata will be encrypted. **Returns:** `void` Secure the PDF document securely with password(s). The security handler used for the document depends on the encryption type specified. Access permissions as well as owner and user passwords are assigned to the PDF document. This method allows selective encryption. Depending on encryptMetadata parameter, it may or may not encrypt PDF's metadata. The document must be saved for the changes to take effect. A full save is required. ### setAuthor ```java void com.datalogics.PDFL.Document.setAuthor(String authorvalue) ``` **Parameters** - `authorvalue` (`String`) **Returns:** `void` The author of the PDF document. ### setBaseURI ```java void com.datalogics.PDFL.Document.setBaseURI(String URIvalue) ``` **Parameters** - `URIvalue` (`String`) **Returns:** `void` The Base URI of the PDF document. ### setCreator ```java void com.datalogics.PDFL.Document.setCreator(String creatorvalue) ``` **Parameters** - `creatorvalue` (`String`) **Returns:** `void` The creator of the PDF document. ### setDeleteOnClose ```java void com.datalogics.PDFL.Document.setDeleteOnClose(boolean value) ``` **Parameters** - `value` (`boolean`): The DeleteOnClose property **Returns:** `void` The document is based on a temporary file that must be deleted when the document is closed or saved. ### setInfo ```java void com.datalogics.PDFL.Document.setInfo(String infoname, String infovalue) ``` **Parameters** - `infoname` (`String`): The name of metadata to be set - `infovalue` (`String`): The value for metadata which will be set **Returns:** `void` Sets metadata information in a PDF document. ### setIsEmbedded ```java void com.datalogics.PDFL.Document.setIsEmbedded(boolean value) ``` **Parameters** - `value` (`boolean`): The IsEmbedded property **Returns:** `void` The document is embedded in a compound document (OLE, OpenDoc). ### setIsOptimized ```java void com.datalogics.PDFL.Document.setIsOptimized(boolean value) ``` **Parameters** - `value` (`boolean`): The IsOptimized property **Returns:** `void` The document is optimized. If this flag is cleared, the Adobe PDF Library does not save the file optimized. You can, therefore, linearize a PDF file without optimizing it. Optimizing without linearizing is not allowed, however. This flag can only be set, never cleared. ### setKeywords ```java void com.datalogics.PDFL.Document.setKeywords(String keywordsvalue) ``` **Parameters** - `keywordsvalue` (`String`) **Returns:** `void` The keywords of the PDF document. ### setMajorVersion ```java void com.datalogics.PDFL.Document.setMajorVersion(short majorVersion) ``` **Parameters** - `majorVersion` (`short`): The new major version number to be set in the document's file header. **Returns:** `void` The major PDF version number of the document. The PDF version is specified in the header of a PDF file in the string "%PDF-x.y" where x is the major version and y is the minor version. For example, version 1.2 has the string "%PDF-1.2". See Section I.2 in the PDF Reference. Please note: Setting the major version on a document only changes the version number in the document's file header. It will NOT actually change the PDF's contents and it will NOT alter the PDF to conform to the standard of the new major version. The new major version number will appear in the file header once the document is saved. ### setMinorVersion ```java void com.datalogics.PDFL.Document.setMinorVersion(short minorVersion) ``` **Parameters** - `minorVersion` (`short`): The new minor version number to be set in the document's file header. **Returns:** `void` The minor PDF version number of the document. The PDF version is specified in the header of a PDF file in the string "%PDF-xx. yy" where xx is the major version and yy is the minor version. For example, version 1.2 has the string "%PDF-1 .2". Please note: Setting the minor version on a document only changes the version number in the document's file header. It will NOT actually change the PDF's contents and it will NOT alter the PDF to conform to the standard of the new minor version. The new minor version number will appear in the file header once the document is saved. ### setNeedsSave ```java void com.datalogics.PDFL.Document.setNeedsSave(boolean value) ``` **Parameters** - `value` (`boolean`): The NeedSave property **Returns:** `void` The document has been modified and needs to be saved. ### setPageLabels ```java void com.datalogics.PDFL.Document.setPageLabels(java.util.List< PageLabel > arg0) ``` **Parameters** - `arg0` ([`java.util.List< PageLabel >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md)) **Returns:** `void` The list of PageLabel objects used in the document. ### setPageMode ```java void com.datalogics.PDFL.Document.setPageMode(PageMode pagemode) ``` **Parameters** - `pagemode` (`PageMode`): the pagemode to apply to the Document **Returns:** `void` The PageMode of the PDF document. The default PageMode for a new Document is PageMode.NoPreference . ### setProducer ```java void com.datalogics.PDFL.Document.setProducer(String producervalue) ``` **Parameters** - `producervalue` (`String`) **Returns:** `void` The producer of the PDF document. ### setRequiresFullSave ```java void com.datalogics.PDFL.Document.setRequiresFullSave(boolean value) ``` **Parameters** - `value` (`boolean`): The RequiresFullSave property **Returns:** `void` The document cannot be saved incrementally; when it is saved using Document.Save(), the SaveFlags.Full flag must be specified. This flag can only be set, never cleared. ### setSubject ```java void com.datalogics.PDFL.Document.setSubject(String subjectvalue) ``` **Parameters** - `subjectvalue` (`String`) **Returns:** `void` The subject of the PDF document. ### setSuppressErrors ```java void com.datalogics.PDFL.Document.setSuppressErrors(boolean value) ``` **Parameters** - `value` (`boolean`): The SuppressErrors property **Returns:** `void` Do not display errors. ### setTitle ```java void com.datalogics.PDFL.Document.setTitle(String titlevalue) ``` **Parameters** - `titlevalue` (`String`) **Returns:** `void` The title of the PDF document. ### setXMPMetadata ```java void com.datalogics.PDFL.Document.setXMPMetadata(String metadata) ``` **Parameters** - `metadata` (`String`) **Returns:** `void` The XMP metadata associated with a document. The XMP metadata returned always represents all the properties in the Document's Info dictionary, and can also contain properties not present in the Info dictionary. This call is preferred to GetInfo, which only returns properties that are in the Info dictionary (although the older function is supported for compatibility). ### setXMPMetadataArrayItem ```java void com.datalogics.PDFL.Document.setXMPMetadataArrayItem(String namespaceName, String namespacePrefix, String path, int index, String newValue) ``` **Parameters** - `namespaceName` (`String`): The XML namespace URI for the schema in which the property is to be found. - `namespacePrefix` (`String`): A brief string to be used as an abbreviation when creating the XML representation of the property. This string must not be empty. - `path` (`String`): The name of the simple property to be modified. - `index` (`int`): The index in the metadata property array associated with the property. - `newValue` (`String`): The new XML text value for the property. **Returns:** `void` Sets the value of an XMP metadata array item, associated with a document, based on an index. ### setXMPMetadataProperty ```java void com.datalogics.PDFL.Document.setXMPMetadataProperty(String namespaceName, String namespacePrefix, String path, String newValue) ``` **Parameters** - `namespaceName` (`String`): The XML namespace URI for the schema in which the property is to be found. - `namespacePrefix` (`String`): A brief string to be used as an abbreviation when creating the XML representation of the property. This string must not be empty. - `path` (`String`): The name of the simple property to be modified. - `newValue` (`String`): The new XML text value for the property. **Returns:** `void` Sets the value of an XMP metadata property associated with a document. The XMP metadata represents all the properties in pdDoc object's Info dictionary, and can also contain properties that are not in the Info dictionary. ### unsecure ```java void com.datalogics.PDFL.Document.unsecure() ``` **Returns:** `void` Remove security handler from the PDF document. If the document has a security handler, it is removed. If the document does not have a security handler, this method does nothing. To remove the security handler, you must hold the PermissionRequestOperation.Secure permission, which you can obtain via Document.PermRequest. This call will throw an ApplicationException if you do not hold the Secure permission. The document must be saved for the changes to take effect. A full save is required. ### watermark ```java void com.datalogics.PDFL.Document.watermark(Page page, WatermarkParams watermarkParams) ``` **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to be added as a watermark. - `watermarkParams` ([`WatermarkParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkParams.md)): Structure specifying how the watermark should be added to the document. **Returns:** `void` Adds a Page as a watermark to a page range in the given document. ### watermark ```java void com.datalogics.PDFL.Document.watermark(WatermarkTextParams watermarkTextParams, WatermarkParams watermarkParams) ``` **Parameters** - `watermarkTextParams` ([`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md)): Structure describing the text-based watermark to be added. - `watermarkParams` ([`WatermarkParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkParams.md)): Structure specifying how the watermark should be added to the document. **Returns:** `void` Adds a text-based watermark to a page range in the given document. --- # DoubleVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DoubleVector ```java class DoubleVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### DoubleVector ```java com.datalogics.PDFL.DoubleVector.DoubleVector() ``` *constructor* ### DoubleVector ```java com.datalogics.PDFL.DoubleVector.DoubleVector(Iterable< Double > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Double >`) ### DoubleVector ```java com.datalogics.PDFL.DoubleVector.DoubleVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.DoubleVector.add(double x) ``` **Parameters** - `x` (`double`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.DoubleVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.DoubleVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.DoubleVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DoubleVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DoubleVector.finalize() ``` *protected* **Returns:** `void` ### get ```java double com.datalogics.PDFL.DoubleVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `double` ### isEmpty ```java boolean com.datalogics.PDFL.DoubleVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.DoubleVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.DoubleVector.set(int i, double val) ``` **Parameters** - `i` (`int`) - `val` (`double`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.DoubleVector.size() ``` **Returns:** `long` --- # DrawParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams ```java class DrawParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Settings for rendering PDF pages as images. This is used for rendering PDF pages to images, such as PNG or JPG files, to export to separate files or to send to a printer. **Referenced by:** [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc.md) ## Constructors ### DrawParams ```java com.datalogics.PDFL.DrawParams.DrawParams() ``` *constructor* Construct default DrawParams. Initializes with DeviceRGB color space, relative colorimetric render intent, no smoothing, no draw flags, and no cancel or progress callbacks. ### DrawParams ```java com.datalogics.PDFL.DrawParams.DrawParams(DrawParams rhs) ``` *constructor* **Parameters** - `rhs` ([`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md)): The DrawParams to copy from. Copy constructor. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.DrawParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.DrawParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.DrawParams.finalize() ``` *protected* **Returns:** `void` ### getBypassCopyPerm ```java boolean com.datalogics.PDFL.DrawParams.getBypassCopyPerm() ``` **Returns:** `boolean` Bypass copy permissions. Only used when drawing to a bitmap. ### getCancelProc ```java CancelProc com.datalogics.PDFL.DrawParams.getCancelProc() ``` **Returns:** [`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md) The current cancel callback, or null if none is set. Get the cancel callback for rendering operations. ### getColorSpace ```java ColorSpace com.datalogics.PDFL.DrawParams.getColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The color space in which the bitmap data is represented. Must be one of DeviceGray, DeviceRGB, DeviceRGBA, DeviceCMYK, Lab, or LabA. Only used when drawing to a bitmap. ### getDestRect ```java Rect com.datalogics.PDFL.DrawParams.getDestRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The rectangle of the bitmap in device space coordinates. Only used when drawing to a bitmap. ### getEnableBlackPointCompensation ```java boolean com.datalogics.PDFL.DrawParams.getEnableBlackPointCompensation() ``` **Returns:** `boolean` Enable/disable black point compensation. ### getEnableThinLineHeuristics ```java boolean com.datalogics.PDFL.DrawParams.getEnableThinLineHeuristics() ``` **Returns:** `boolean` Enable/disable thin line adjustments when drawing rectangles ### getFlags ```java java.util.EnumSet< DrawFlags > com.datalogics.PDFL.DrawParams.getFlags() ``` **Returns:** `java.util.EnumSet< DrawFlags >` Drawing flags. ### getICCProfile ```java ColorProfile com.datalogics.PDFL.DrawParams.getICCProfile() ``` **Returns:** `ColorProfile` The ICC Profile of the colorspace to be used for rendering, from a known value. NOTE: The ICCProfileCustomPath must not be set for this property to be used. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### getICCProfileCustomPath ```java String com.datalogics.PDFL.DrawParams.getICCProfileCustomPath() ``` **Returns:** `String` The ICC Profile of the colorspace to be used for rendering, from a custom file path. NOTE: The ICCProfile is ignored when this property is a non-empty string. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### getMatrix ```java Matrix com.datalogics.PDFL.DrawParams.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The matrix to concatenate onto the default page matrix. Useful for converting from page to window coordinates and for scaling. ### getOptionalContentContext ```java OptionalContentContext com.datalogics.PDFL.DrawParams.getOptionalContentContext() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) The optional content context, or NULL if using the document's default. Get the optional-content context used for visibility state information. ### getProgressProc ```java RenderProgressProc com.datalogics.PDFL.DrawParams.getProgressProc() ``` **Returns:** [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc.md) The current progress callback, or null if none is set. Get the progress callback for rendering operations. ### getRenderIntent ```java RenderIntent com.datalogics.PDFL.DrawParams.getRenderIntent() ``` **Returns:** `RenderIntent` Default rendering intent is RelColorimetric (relative colorimetric). Only used when drawing to a bitmap. ### getSmoothFlags ```java java.util.EnumSet< SmoothFlags > com.datalogics.PDFL.DrawParams.getSmoothFlags() ``` **Returns:** `java.util.EnumSet< SmoothFlags >` Smoothing flags. Only used when drawing to a bitmap. ### getUpdateRect ```java Rect com.datalogics.PDFL.DrawParams.getUpdateRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The rectangle specifying the area to draw. A rectangle represented by the coordinates of its four sides. If unset (degenerate), the page's CropBox is used instead. ### setBypassCopyPerm ```java void com.datalogics.PDFL.DrawParams.setBypassCopyPerm(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` Bypass copy permissions. Only used when drawing to a bitmap. ### setCancelProc ```java void com.datalogics.PDFL.DrawParams.setCancelProc(CancelProc cancelProc) ``` **Parameters** - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): The cancel callback to set, or null to clear. **Returns:** `void` The cancel callback for rendering operations. A CancelProc can return true to cancel the operation. May be null. ### setColorSpace ```java void com.datalogics.PDFL.DrawParams.setColorSpace(ColorSpace colorSpace) ``` **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)) **Returns:** `void` The color space in which the bitmap data is represented. Must be one of DeviceGray, DeviceRGB, DeviceRGBA, DeviceCMYK, Lab, or LabA. Only used when drawing to a bitmap. ### setDestRect ```java void com.datalogics.PDFL.DrawParams.setDestRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)) **Returns:** `void` The rectangle of the bitmap in device space coordinates. Only used when drawing to a bitmap. ### setEnableBlackPointCompensation ```java void com.datalogics.PDFL.DrawParams.setEnableBlackPointCompensation(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` Enable/disable black point compensation. ### setEnableThinLineHeuristics ```java void com.datalogics.PDFL.DrawParams.setEnableThinLineHeuristics(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` Enable/disable thin line adjustments when drawing rectangles ### setFlags ```java void com.datalogics.PDFL.DrawParams.setFlags(java.util.EnumSet< DrawFlags > value) ``` **Parameters** - `value` (`java.util.EnumSet< DrawFlags >`) **Returns:** `void` Drawing flags. ### setICCProfile ```java void com.datalogics.PDFL.DrawParams.setICCProfile(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` (`ColorProfile`) **Returns:** `void` The ICC Profile of the colorspace to be used for rendering, from a known value. NOTE: The ICCProfileCustomPath must not be set for this property to be used. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### setICCProfileCustomPath ```java void com.datalogics.PDFL.DrawParams.setICCProfileCustomPath(String colorProfilePath) ``` **Parameters** - `colorProfilePath` (`String`) **Returns:** `void` The ICC Profile of the colorspace to be used for rendering, from a custom file path. NOTE: The ICCProfile is ignored when this property is a non-empty string. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### setMatrix ```java void com.datalogics.PDFL.DrawParams.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** `void` The matrix to concatenate onto the default page matrix. Useful for converting from page to window coordinates and for scaling. ### setOptionalContentContext ```java void com.datalogics.PDFL.DrawParams.setOptionalContentContext(OptionalContentContext context) ``` **Parameters** - `context` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context, or NULL for the default. **Returns:** `void` The optional-content context to use for visibility state information. Set to NULL to use the document's current states in the default context. ### setProgressProc ```java void com.datalogics.PDFL.DrawParams.setProgressProc(RenderProgressProc progressProc) ``` **Parameters** - `progressProc` ([`RenderProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc.md)): The progress callback to set, or null to clear. **Returns:** `void` The progress callback for rendering operations. A RenderProgressProc receives updates regarding rendering progress. May be null. ### setRenderIntent ```java void com.datalogics.PDFL.DrawParams.setRenderIntent(RenderIntent value) ``` **Parameters** - `value` (`RenderIntent`) **Returns:** `void` Default rendering intent is RelColorimetric (relative colorimetric). Only used when drawing to a bitmap. ### setSmoothFlags ```java void com.datalogics.PDFL.DrawParams.setSmoothFlags(java.util.EnumSet< SmoothFlags > value) ``` **Parameters** - `value` (`java.util.EnumSet< SmoothFlags >`) **Returns:** `void` Smoothing flags. Only used when drawing to a bitmap. ### setUpdateRect ```java void com.datalogics.PDFL.DrawParams.setUpdateRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)) **Returns:** `void` The rectangle specifying the area to draw. A rectangle represented by the coordinates of its four sides. If unset (degenerate), the page's CropBox is used instead. --- # Element Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element ```java class Element ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) ## Description The base class for elements of the content of a page. An element is a building block; everything in a PDF file is an element. An element object can be associated with a large amount of unmanaged memory in APDFL and should be deleted when the object is no longer in use. **Referenced by:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Methods ### clone ```java Element com.datalogics.PDFL.Element.clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### clone ```java Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### delete ```java synchronized void com.datalogics.PDFL.Element.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Element.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Element.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # EncodingInfo Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/EncodingInfo ```java class EncodingInfo ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a font's encoding data. Encoding is the process that transforms a set of Unicode characters into a series of bytes. With PDF files, Unicode values are used to represent individual character within a font set. Unicode assigns a symbolic value to represent every single character in a wide variety of fonts, scripts, and languages. For example, the Unicode value "U+0041" refers to the capital letter "A" in a Latin script. The EncodingInfo Class is used to provide basic information about an encoding. For example, EncodingInfo could be used to provide just the code name and description for a Unicode standard font or language encoding, like this: IBM860 (Portuguese, DOS) ibm861 (Icelandic, DOS) DOS-862 (Hebrew, DOS) IBM863 (French Canadian, DOS) IBM864 (Arabic, 864) iso-8859-9 (Turkish, ISO) iso-8859-13 (Estonian, ISO) (c)2007 Datalogics Inc. Datalogics is a registered trademark of Datalogics Incorporated. Other company and brand, product and service names are for identification purposes only and may be trademarks or registered trademarks of their respective holders. Data is subject to change without notice. **Referenced by:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.EncodingInfo.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.EncodingInfo.delete() ``` **Returns:** `synchronized void` Destructor. ### finalize ```java void com.datalogics.PDFL.EncodingInfo.finalize() ``` *protected* **Returns:** `void` Destructor. ### getCharNames ```java java.util.List< String > com.datalogics.PDFL.EncodingInfo.getCharNames() ``` **Returns:** `java.util.List< String >` container for differences array/character names. ### getEncodingName ```java String com.datalogics.PDFL.EncodingInfo.getEncodingName() ``` **Returns:** `String` Return the encoding name/cmap name for the font eg:. WinAnsiEncoding MacRomanEncoding Identity-H --- # ExponentialFunction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExponentialFunction ```java class ExponentialFunction : Function ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Description An interpolation between two output values as input values vary across a domain. For an Exponential Function, the curve between the two values is determined by the exponent N. **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Constructors ### ExponentialFunction ```java com.datalogics.PDFL.ExponentialFunction.ExponentialFunction(java.util.List< Double > domain, int nOutputs, java.util.List< Double > C0, java.util.List< Double > C1, double N) ``` *constructor* **Parameters** - `domain` (`java.util.List< Double >`): the domain of the function. 2 elements. - `nOutputs` (`int`): the number of outputs of the function - `C0` (`java.util.List< Double >`): the output value when the input value is 0 - `C1` (`java.util.List< Double >`): the output value when the input value is 1 - `N` (`double`): the exponential factor, which alters the curve of output values as the input values vary across the domain. Create an Exponential Function, which is the exponential interpolation between two output values as the input values vary across the domain. ## Fields ### DEFAULT ```java static final Function com.datalogics.PDFL.Function.DEFAULT ``` *static* The Default named function. ### IDENTITY ```java static final Function com.datalogics.PDFL.Function.IDENTITY ``` *static* The Identity named function, which returns its input values unchanged. ## Methods ### apply ```java java.util.List< Double > com.datalogics.PDFL.Function.apply(java.util.List< Double > args) ``` **Parameters** - `args` (`java.util.List< Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `java.util.List< Double >` a list of the result values from the function Apply the function to supplied input values ### delete ```java synchronized void com.datalogics.PDFL.ExponentialFunction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ExponentialFunction.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ExponentialFunction.finalize() ``` *protected* **Returns:** `void` ### getC0 ```java java.util.List< Double > com.datalogics.PDFL.ExponentialFunction.getC0() ``` **Returns:** `java.util.List< Double >` The values for the function when the input is 0.0. There must be the same number of values as the number of outputs in the function. ### getC1 ```java java.util.List< Double > com.datalogics.PDFL.ExponentialFunction.getC1() ``` **Returns:** `java.util.List< Double >` The values for the function when the input is 1.0. There must be the same number of values as the number of outputs in the function. ### getDomain ```java java.util.List< Double > com.datalogics.PDFL.Function.getDomain() ``` **Returns:** `java.util.List< Double >` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### getN ```java double com.datalogics.PDFL.ExponentialFunction.getN() ``` **Returns:** `double` The exponential factor N. ### getNInputs ```java int com.datalogics.PDFL.Function.getNInputs() ``` **Returns:** `int` The number of inputs to the function. ### getNOutputs ```java int com.datalogics.PDFL.Function.getNOutputs() ``` **Returns:** `int` The number of outputs from the function. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.Function.getRange() ``` **Returns:** `java.util.List< Double >` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### setC0 ```java void com.datalogics.PDFL.ExponentialFunction.setC0(java.util.List< Double > C0) ``` **Parameters** - `C0` (`java.util.List< Double >`) **Returns:** `void` The values for the function when the input is 0.0. There must be the same number of values as the number of outputs in the function. ### setC1 ```java void com.datalogics.PDFL.ExponentialFunction.setC1(java.util.List< Double > C1) ``` **Parameters** - `C1` (`java.util.List< Double >`) **Returns:** `void` The values for the function when the input is 1.0. There must be the same number of values as the number of outputs in the function. ### setDomain ```java void com.datalogics.PDFL.Function.setDomain(java.util.List< Double > domain) ``` **Parameters** - `domain` (`java.util.List< Double >`) **Returns:** `void` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### setN ```java void com.datalogics.PDFL.ExponentialFunction.setN(double arg0) ``` **Parameters** - `arg0` (`double`) **Returns:** `void` The exponential factor N. ### setRange ```java void com.datalogics.PDFL.Function.setRange(java.util.List< Double > range) ``` **Parameters** - `range` (`java.util.List< Double >`) **Returns:** `void` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### toString ```java String com.datalogics.PDFL.ExponentialFunction.toString() ``` **Returns:** `String` A string representation of the ExponentialFunction, including the number of inputs and outputs, domain, range, N, C0, and C1 values. A string value describing the function. --- # ExtendedGraphicState Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState ```java class ExtendedGraphicState ``` **Namespace:** `com::datalogics::PDFL` ## Description The extended graphic state, to supplement original graphic state. The Graphics State is an internal data structure in a PDF file that holds the parameters that describe graphics within that file. These parameters define how individual graphics are presented on the page, including layers and transparencies. The Extended Graphic State was introduced to expand the original Graphics State data structure, providing space to define and store more data objects within a PDF. **Referenced by:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### ExtendedGraphicState ```java com.datalogics.PDFL.ExtendedGraphicState.ExtendedGraphicState() ``` *constructor* Create a new default ExtendedGraphicState for the document in which this ExtendedGraphicState will be used. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ExtendedGraphicState.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ExtendedGraphicState.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ExtendedGraphicState.finalize() ``` *protected* **Returns:** `void` ### getAlphaIsShape ```java boolean com.datalogics.PDFL.ExtendedGraphicState.getAlphaIsShape() ``` **Returns:** `boolean` alphaIsShape - if set true, interpret sources of alpha as shape, else interpret as opacity mask. Returns if the alpha is to be interpreted as a shape or opacity mask. ### getApplyAutoStroke ```java boolean com.datalogics.PDFL.ExtendedGraphicState.getApplyAutoStroke() ``` **Returns:** `boolean` true if stroke adjustment is enabled. Returns whether stroke adjustment is enabled in the graphics state. ### getApplyOverprintForOtherThanStroking ```java boolean com.datalogics.PDFL.ExtendedGraphicState.getApplyOverprintForOtherThanStroking() ``` **Returns:** `boolean` true if overprint is enabled for non-stroke operations. Returns whether overprint is enabled for operations other than stroking. ### getApplyOverprintForStroking ```java boolean com.datalogics.PDFL.ExtendedGraphicState.getApplyOverprintForStroking() ``` **Returns:** `boolean` true if overprint is enabled for stroke operations. Returns whether overprint is enabled for stroke operations. ### getBlackGeneration ```java Function com.datalogics.PDFL.ExtendedGraphicState.getBlackGeneration() ``` **Returns:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) function - the black generation function. Gets the black generation function. ### getBlendMode ```java BlendMode com.datalogics.PDFL.ExtendedGraphicState.getBlendMode() ``` **Returns:** `BlendMode` blendMode - the blend mode used in object painting. Returns the blend mode for the color composite for each object painted. ### getOpacityForOtherThanStroking ```java double com.datalogics.PDFL.ExtendedGraphicState.getOpacityForOtherThanStroking() ``` **Returns:** `double` opacity, a value between 0.0 and 1.0. Gets the opacity value for other-than-stroke operations. ### getOpacityForStroking ```java double com.datalogics.PDFL.ExtendedGraphicState.getOpacityForStroking() ``` **Returns:** `double` opacity, a value between 0.0 and 1.0. Gets the opacity value for stroke operations. ### getOverprintMode ```java OverprintMode com.datalogics.PDFL.ExtendedGraphicState.getOverprintMode() ``` **Returns:** `OverprintMode` The overprint mode setting. Returns the overprint mode setting. Specifies whether a color component value of 0 in a DeviceCMYK color space should erase that component or leave it unchanged when overprinting. ### getPDFDict ```java PDFDict com.datalogics.PDFL.ExtendedGraphicState.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The dictionary associated with the extended graphic state. Get the dictionary associated with the extended graphic state. ### getSmoothnessTolerance ```java double com.datalogics.PDFL.ExtendedGraphicState.getSmoothnessTolerance() ``` **Returns:** `double` tolerance, a value between 0.0 and 1.0. Gets the smoothness tolerance, the quality of smooth shading. ### getTextKnockout ```java boolean com.datalogics.PDFL.ExtendedGraphicState.getTextKnockout() ``` **Returns:** `boolean` enabled - if true, text knockout is enabled. Returns whether text knockout is enabled in the graphics state. ### getTransferFunction ```java java.util.List< Function > com.datalogics.PDFL.ExtendedGraphicState.getTransferFunction() ``` **Returns:** [`java.util.List< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) function - the transfer function. Gets the transfer function. ### getUndercolorRemoval ```java Function com.datalogics.PDFL.ExtendedGraphicState.getUndercolorRemoval() ``` **Returns:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) function - the undercolor removal function. Gets the undercolor removal function. ### setAlphaIsShape ```java void com.datalogics.PDFL.ExtendedGraphicState.setAlphaIsShape(boolean alphaIsShape) ``` **Parameters** - `alphaIsShape` (`boolean`): if set true, interpret sources of alpha as shape, else interpret as opacity mask. **Returns:** `void` Specifies if the alpha is to be interpreted as a shape or opacity mask. ### setApplyAutoStroke ```java void com.datalogics.PDFL.ExtendedGraphicState.setApplyAutoStroke(boolean applyAutoStrokeAdjustment) ``` **Parameters** - `applyAutoStrokeAdjustment` (`boolean`): Whether stroke adjustment is enabled. **Returns:** `void` Specifies whether stroke adjustment is enabled in the graphics state. ### setApplyOverprintForOtherThanStroking ```java void com.datalogics.PDFL.ExtendedGraphicState.setApplyOverprintForOtherThanStroking(boolean applyOverprintForOtherThanStroking) ``` **Parameters** - `applyOverprintForOtherThanStroking` (`boolean`): Whether to enable overprint for non-stroke operations. **Returns:** `void` Specifies if overprint is enabled for operations other than stroking. ### setApplyOverprintForStroking ```java void com.datalogics.PDFL.ExtendedGraphicState.setApplyOverprintForStroking(boolean applyOverprintForStroking) ``` **Parameters** - `applyOverprintForStroking` (`boolean`): Whether to enable overprint for stroke operations. **Returns:** `void` Specifies if overprint is enabled for stroke operations. ### setBlackGeneration ```java void com.datalogics.PDFL.ExtendedGraphicState.setBlackGeneration(Function function) ``` **Parameters** - `function` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): the black generation function. **Returns:** `void` Sets the black generation function. ### setBlendMode ```java void com.datalogics.PDFL.ExtendedGraphicState.setBlendMode(BlendMode blendMode) ``` **Parameters** - `blendMode` (`BlendMode`): the blend mode used in object painting. **Returns:** `void` Sets the blend mode for the color composites for each object painted. ### setOpacityForOtherThanStroking ```java void com.datalogics.PDFL.ExtendedGraphicState.setOpacityForOtherThanStroking(double opacity) ``` **Parameters** - `opacity` (`double`): the opacity level, from 0.0 to 1.0, inclusive. **Returns:** `void` Sets the opacity value for other-than-stroke operations. ### setOpacityForStroking ```java void com.datalogics.PDFL.ExtendedGraphicState.setOpacityForStroking(double opacity) ``` **Parameters** - `opacity` (`double`): the opacity level, from 0.0 to 1.0, inclusive. **Returns:** `void` Sets the opacity value for stroke operations. ### setOverprintMode ```java void com.datalogics.PDFL.ExtendedGraphicState.setOverprintMode(OverprintMode overprintMode) ``` **Parameters** - `overprintMode` (`OverprintMode`): The mode setting. **Returns:** `void` The overprint mode setting. Specifies whether a color component value of 0 in a DeviceCMYK color space should erase that component or leave it unchanged when overprinting. ### setSmoothnessTolerance ```java void com.datalogics.PDFL.ExtendedGraphicState.setSmoothnessTolerance(double tolerance) ``` **Parameters** - `tolerance` (`double`): the smoothness tolerance, from 0.0 to 1.0, inclusive. **Returns:** `void` Sets the smoothness tolerance, the quality of smooth shading. ### setTextKnockout ```java void com.datalogics.PDFL.ExtendedGraphicState.setTextKnockout(boolean enabled) ``` **Parameters** - `enabled` (`boolean`): if set true, text knockout will be enabled. **Returns:** `void` Specifies whether text knockout is enabled in the graphics state. ### setTransferFunction ```java void com.datalogics.PDFL.ExtendedGraphicState.setTransferFunction(java.util.List< Function > function) ``` **Parameters** - `function` ([`java.util.List< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): the transfer function. **Returns:** `void` Sets the transfer function. ### setUndercolorRemoval ```java void com.datalogics.PDFL.ExtendedGraphicState.setUndercolorRemoval(Function function) ``` **Parameters** - `function` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): the undercolor removal function. **Returns:** `void` Sets the undercolor removal function. --- # FileAttachment Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment ```java class FileAttachment ``` **Namespace:** `com::datalogics::PDFL` ## Description A file attachment.Any file can be attached to the PDF document. The class allows to create attachment and manipulate by its content. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachmentPtrVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachmentPtrVector.md) **Uses types:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md) ## Constructors ### FileAttachment ```java com.datalogics.PDFL.FileAttachment.FileAttachment(Document doc, String fileName) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The PDF document (reference). - `fileName` (`String`): The path to file which will be attached to the document. Allows to add attachment into the PDF document. ### FileAttachment ```java com.datalogics.PDFL.FileAttachment.FileAttachment(Document doc, String fileName, String keyName) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The PDF document (reference). - `fileName` (`String`): The path to file which will be attached to the document. - `keyName` (`String`): The name of the key. Allows to add attachment into the PDF document using the specified key name. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.FileAttachment.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FileAttachment.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FileAttachment.finalize() ``` *protected* **Returns:** `void` ### getAFRelationship ```java AFRelationship com.datalogics.PDFL.FileAttachment.getAFRelationship() ``` **Returns:** `AFRelationship` The attachment's Associated File relationship. Gets the attachment's Associated File relationship. ### getCollectionItemNumber ```java float com.datalogics.PDFL.FileAttachment.getCollectionItemNumber(CollectionSchemaField collectionField) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): the field for which item value should be retrieved. **Returns:** `float` collection items value GetCollectionItemNumber allows to obtain collection item according to the specified schema field. ### getCollectionItemString ```java String com.datalogics.PDFL.FileAttachment.getCollectionItemString(CollectionSchemaField collectionField) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): the field for which item value should be retrieved. **Returns:** `String` collection items value GetCollectionItemString allows to obtain collection item value according to the specified schema field. ### getFileName ```java String com.datalogics.PDFL.FileAttachment.getFileName() ``` **Returns:** `String` The attachment's file name. Gets the attachment's file name. ### getFileSize ```java long com.datalogics.PDFL.FileAttachment.getFileSize() ``` **Returns:** `long` The attachment's size in bytes. Gets the attachment's file size. ### saveToFile ```java void com.datalogics.PDFL.FileAttachment.saveToFile(String fileName) ``` **Parameters** - `fileName` (`String`): The path where attachment will be saved. **Returns:** `void` Allows to save attachment to the specified file. ### saveToStream ```java void com.datalogics.PDFL.FileAttachment.saveToStream(javax.imageio.stream.ImageOutputStream stream) ``` **Parameters** - `stream` (`javax.imageio.stream.ImageOutputStream`): The stream from which to save the FileAttachment. **Returns:** `void` Saves a FileAttachment to a javax.imageio.stream.ImageInputStream. ### setAFRelationship ```java void com.datalogics.PDFL.FileAttachment.setAFRelationship(AFRelationship relationship) ``` **Parameters** - `relationship` (`AFRelationship`): The Associated File relationship to set. **Returns:** `void` Sets the attachment's Associated File relationship. ### setCollectionItemNumber ```java void com.datalogics.PDFL.FileAttachment.setCollectionItemNumber(CollectionSchemaField collectionField, float value) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): schema field which contains information about data type. The parameter's subtype should be a Number. - `value` (`float`): the item's value. **Returns:** `void` SetCollectionItemNumber allows to add key to the collection item dictionary. ### setCollectionItemString ```java void com.datalogics.PDFL.FileAttachment.setCollectionItemString(CollectionSchemaField collectionField, String value) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md)): schema field which contains information about data type. The parameter's subtype should be a Text. - `value` (`String`): the item's value. **Returns:** `void` SetCollectionItemString allows to add key to the collection item dictionary. ### updateFromFile ```java void com.datalogics.PDFL.FileAttachment.updateFromFile(String fileName) ``` **Parameters** - `fileName` (`String`): The path to the file from which attachment will be updated. **Returns:** `void` Allows to update attachment from another file. --- # FileAttachmentPtrVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachmentPtrVector ```java class FileAttachmentPtrVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md) ## Constructors ### FileAttachmentPtrVector ```java com.datalogics.PDFL.FileAttachmentPtrVector.FileAttachmentPtrVector() ``` *constructor* ### FileAttachmentPtrVector ```java com.datalogics.PDFL.FileAttachmentPtrVector.FileAttachmentPtrVector(Iterable< FileAttachment > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< FileAttachment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md)) ### FileAttachmentPtrVector ```java com.datalogics.PDFL.FileAttachmentPtrVector.FileAttachmentPtrVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.FileAttachmentPtrVector.add(FileAttachment x) ``` **Parameters** - `x` ([`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.FileAttachmentPtrVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.FileAttachmentPtrVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.FileAttachmentPtrVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FileAttachmentPtrVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FileAttachmentPtrVector.finalize() ``` *protected* **Returns:** `void` ### get ```java FileAttachment com.datalogics.PDFL.FileAttachmentPtrVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md) ### isEmpty ```java boolean com.datalogics.PDFL.FileAttachmentPtrVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.FileAttachmentPtrVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.FileAttachmentPtrVector.set(int i, FileAttachment val) ``` **Parameters** - `i` (`int`) - `val` ([`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.FileAttachmentPtrVector.size() ``` **Returns:** `long` --- # FileSpecification Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification ```java class FileSpecification ``` **Namespace:** `com::datalogics::PDFL` ## Description Refers to the location of a PDF file within a file system. The PDF file system is known more commonly as the file path name. The reference can be either absolute, as in a complete path name, or relative to the current place in a directory structure. **Referenced by:** [`LaunchAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### FileSpecification ```java com.datalogics.PDFL.FileSpecification.FileSpecification(Document doc, String path) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document in which the file specification is created. - `path` (`String`): The string corresponding to the path of the file to reference. It may be relative or absolute. Creates a new file specification object. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.FileSpecification.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FileSpecification.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FileSpecification.finalize() ``` *protected* **Returns:** `void` ### getPDFObject ```java PDFObject com.datalogics.PDFL.FileSpecification.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The underlying PDFObject for this FileSpecification. Retrieve the PDFObject representation of this object. ### getPath ```java String com.datalogics.PDFL.FileSpecification.getPath() ``` **Returns:** `String` The file path as a string, which may be relative or absolute. Gets the path to the file referenced. ### toString ```java String com.datalogics.PDFL.FileSpecification.toString() ``` **Returns:** `String` The path to the file referenced by this FileSpecification. Returns a string representation of this FileSpecification. The returned value is the file path referenced by this specification. --- # FlattenTransparencyParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams ```java class FlattenTransparencyParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents control parameters for flattening transparencies within a PDF file. Class that represents control parameters for flattening transparencies within a PDF file. PDF files can hold objects that are stacked, and that are partially or fully transparent. This means that these objects can blend in various ways with objects behind them. With a stacked set of transparent graphics or images in a PDF file, each one contributing to the final result that appears on the page. One or more graphics images presented together in a stack is referred to as a transparency group. With a stack of transparent images, the final colors shown are the result of blending the colors of all of the overlapping objects. Flatten Transparency merges a stack of transparent objects or graphics into a single image on the PDF page. Flattening images in a PDF file is generally necessary before you can send the document to a printer. The flattening process simplifies the PDF file and may make it smaller as well. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### FlattenTransparencyParams ```java com.datalogics.PDFL.FlattenTransparencyParams.FlattenTransparencyParams() ``` *constructor* Set up default parameters for flattening transparency. Defaults: UseTextOutlines = false, ConvertStrokesToOutlines = true, ClipComplexRegions = false, InternalDPI = 800, ExternalDPI = 200, PreserveOverprint = true, Quality = 100. ### FlattenTransparencyParams ```java com.datalogics.PDFL.FlattenTransparencyParams.FlattenTransparencyParams(boolean UseTextOutlines, boolean ConvertStrokesToOutlines, boolean ClipComplexRegions, int InternalDPI, int ExternalDPI, boolean PreserveOverprint, int Quality) ``` *constructor* **Parameters** - `UseTextOutlines` (`boolean`): If true, output text outlines instead of native text. - `ConvertStrokesToOutlines` (`boolean`): If true, convert strokes to outlines. - `ClipComplexRegions` (`boolean`): If true, ensure that boundaries between vector and rasterized artwork fall along object paths. - `InternalDPI` (`int`): Resolution for flattening the interior of an atomic region. Range is 1 to 9600. - `ExternalDPI` (`int`): Resolution for flattening edges of atomic regions. Range is 1 to 1200. - `PreserveOverprint` (`boolean`): If true, attempt to preserve overprint. - `Quality` (`int`): The percentage of vector information that is to be preserved. Lower values will cause higher rasterization of vectors. Range is 0 to 100. Set up parameters for flattening transparency. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.FlattenTransparencyParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FlattenTransparencyParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FlattenTransparencyParams.finalize() ``` *protected* **Returns:** `void` ### getClipComplexRegions ```java boolean com.datalogics.PDFL.FlattenTransparencyParams.getClipComplexRegions() ``` **Returns:** `boolean` If true, ensure that boundaries between vector and rasterized artwork fall along object paths. ### getColorCompressionScheme ```java FlattenerColorCompression com.datalogics.PDFL.FlattenTransparencyParams.getColorCompressionScheme() ``` **Returns:** `FlattenerColorCompression` The compression scheme used for flattened color images. Default to JPEGCompression. ### getColorImageQuality ```java FlattenerQualitySetting com.datalogics.PDFL.FlattenTransparencyParams.getColorImageQuality() ``` **Returns:** `FlattenerQualitySetting` Quality Setting for Flattened JPEG and JPEG2000 colored Images. This is valid only if the value of ColorCompressionScheme is equal to JPEGCompression or JPEG2000Compression Default value: High ### getConvertStrokesToOutlines ```java boolean com.datalogics.PDFL.FlattenTransparencyParams.getConvertStrokesToOutlines() ``` **Returns:** `boolean` If true, convert strokes to outlines. ### getExternalDPI ```java int com.datalogics.PDFL.FlattenTransparencyParams.getExternalDPI() ``` **Returns:** `int` Resolution for flattening edges of atomic regions. Range is 1 to 1200. ### getGrayCompressionScheme ```java FlattenerGrayCompression com.datalogics.PDFL.FlattenTransparencyParams.getGrayCompressionScheme() ``` **Returns:** `FlattenerGrayCompression` The compression scheme used for flattened gray images. Default to GrayJPEGCompression. ### getGrayImageQuality ```java FlattenerQualitySetting com.datalogics.PDFL.FlattenTransparencyParams.getGrayImageQuality() ``` **Returns:** `FlattenerQualitySetting` Quality Setting for Flattened JPEG and JPEG2000 gray Images. This is valid only if the value of GrayCompressionScheme is equal to GrayJPEGCompression or GrayJPEG2000Compression Default value: High ### getInternalDPI ```java int com.datalogics.PDFL.FlattenTransparencyParams.getInternalDPI() ``` **Returns:** `int` Resolution for flattening the interior of an atomic region. Range is 1 to 9600. ### getMaxPageFlatteningTime ```java int com.datalogics.PDFL.FlattenTransparencyParams.getMaxPageFlatteningTime() ``` **Returns:** `int` The maximum allowed time that will be spent flattening a single page. A value less than zero will disable the time limit. A value equal to 0 (default) will set the limit to 120 seconds. A value greater than 0 will set the allowed limit (in seconds). Any value less than 60 seconds will be increased to 60 seconds. ### getMonoCompressionScheme ```java FlattenerMonoCompression com.datalogics.PDFL.FlattenTransparencyParams.getMonoCompressionScheme() ``` **Returns:** `FlattenerMonoCompression` The compression scheme used for flattened monochrome images. Default to MonoCCITTGroup4Compression. ### getPreserveOverprint ```java boolean com.datalogics.PDFL.FlattenTransparencyParams.getPreserveOverprint() ``` **Returns:** `boolean` If true, attempt to preserve overprint. ### getProfileDescription ```java String com.datalogics.PDFL.FlattenTransparencyParams.getProfileDescription() ``` **Returns:** `String` The Page Level Transparency Blending ColorSpace Profile Description. ### getQuality ```java int com.datalogics.PDFL.FlattenTransparencyParams.getQuality() ``` **Returns:** `int` The percentage of vector information that is to be preserved. Lower values will cause higher rasterization of vectors. Range is 0 to 100. ### getUseTextOutlines ```java boolean com.datalogics.PDFL.FlattenTransparencyParams.getUseTextOutlines() ``` **Returns:** `boolean` If true, output text outlines instead of native text. ### setClipComplexRegions ```java void com.datalogics.PDFL.FlattenTransparencyParams.setClipComplexRegions(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, ensure that boundaries between vector and rasterized artwork fall along object paths. ### setColorCompressionScheme ```java void com.datalogics.PDFL.FlattenTransparencyParams.setColorCompressionScheme(FlattenerColorCompression theScheme) ``` **Parameters** - `theScheme` (`FlattenerColorCompression`) **Returns:** `void` The compression scheme used for flattened color images. Default to JPEGCompression. ### setColorImageQuality ```java void com.datalogics.PDFL.FlattenTransparencyParams.setColorImageQuality(FlattenerQualitySetting theQuality) ``` **Parameters** - `theQuality` (`FlattenerQualitySetting`) **Returns:** `void` Quality Setting for Flattened JPEG and JPEG2000 colored Images. This is valid only if the value of ColorCompressionScheme is equal to JPEGCompression or JPEG2000Compression Default value: High ### setConvertStrokesToOutlines ```java void com.datalogics.PDFL.FlattenTransparencyParams.setConvertStrokesToOutlines(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, convert strokes to outlines. ### setExternalDPI ```java void com.datalogics.PDFL.FlattenTransparencyParams.setExternalDPI(int theExternalDPI) ``` **Parameters** - `theExternalDPI` (`int`) **Returns:** `void` Resolution for flattening edges of atomic regions. Range is 1 to 1200. ### setGrayCompressionScheme ```java void com.datalogics.PDFL.FlattenTransparencyParams.setGrayCompressionScheme(FlattenerGrayCompression theScheme) ``` **Parameters** - `theScheme` (`FlattenerGrayCompression`) **Returns:** `void` The compression scheme used for flattened gray images. Default to GrayJPEGCompression. ### setGrayImageQuality ```java void com.datalogics.PDFL.FlattenTransparencyParams.setGrayImageQuality(FlattenerQualitySetting theQuality) ``` **Parameters** - `theQuality` (`FlattenerQualitySetting`) **Returns:** `void` Quality Setting for Flattened JPEG and JPEG2000 gray Images. This is valid only if the value of GrayCompressionScheme is equal to GrayJPEGCompression or GrayJPEG2000Compression Default value: High ### setInternalDPI ```java void com.datalogics.PDFL.FlattenTransparencyParams.setInternalDPI(int theInternalDPI) ``` **Parameters** - `theInternalDPI` (`int`) **Returns:** `void` Resolution for flattening the interior of an atomic region. Range is 1 to 9600. ### setMaxPageFlatteningTime ```java void com.datalogics.PDFL.FlattenTransparencyParams.setMaxPageFlatteningTime(int theTime) ``` **Parameters** - `theTime` (`int`) **Returns:** `void` The maximum allowed time that will be spent flattening a single page. A value less than zero will disable the time limit. A value equal to 0 (default) will set the limit to 120 seconds. A value greater than 0 will set the allowed limit (in seconds). ### setMonoCompressionScheme ```java void com.datalogics.PDFL.FlattenTransparencyParams.setMonoCompressionScheme(FlattenerMonoCompression theScheme) ``` **Parameters** - `theScheme` (`FlattenerMonoCompression`) **Returns:** `void` The compression scheme used for flattened monochrome images. Default to MonoCCITTGroup4Compression. ### setPreserveOverprint ```java void com.datalogics.PDFL.FlattenTransparencyParams.setPreserveOverprint(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, attempt to preserve overprint. ### setProfileDescription ```java void com.datalogics.PDFL.FlattenTransparencyParams.setProfileDescription(String descript) ``` **Parameters** - `descript` (`String`) **Returns:** `void` The Page Level Transparency Blending ColorSpace Profile Description. ### setQuality ```java void com.datalogics.PDFL.FlattenTransparencyParams.setQuality(int theQuality) ``` **Parameters** - `theQuality` (`int`) **Returns:** `void` The percentage of vector information that is to be preserved. Lower values will cause higher rasterization of vectors. Range is 0 to 100. ### setUseTextOutlines ```java void com.datalogics.PDFL.FlattenTransparencyParams.setUseTextOutlines(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, output text outlines instead of native text. --- # Font Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font ```java class Font ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a font.Defines the typeface, size, style (bold, italic), Unicode values, and other details. The Font class represents a font installed on the system. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`FontVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FontVector.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`EncodingInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/EncodingInfo.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Font ```java com.datalogics.PDFL.Font.Font(String fontName) ``` *constructor* **Parameters** - `fontName` (`String`): the name of the font to find and create Find a font with the specified name, and construct a Font object from it. Otherwise, it makes a font with the default encoding (MacRomanEncoding on Macs, WinAnsiEncoding elsewhere, or for symbol fonts, their own custom encoding). There is not a way to specify another encoding for the font. When setting text, it checks to see if the text is representable in the font's encoding. If it is not, then DLE makes a "unicode font" with an Identity-H encoding and uses that to set the text. For non-Type0 fonts, this may result in two versions of a font in the output document. PDFL enforces the following requirements on fonts: TrueTypes used as CID fonts must be embedded. All CID fonts that are embedded must be subsetted. CID fonts that are marked as embedded get their DoNotEmbed flag turned off (or else PDFL won't make a PDEFont from the SysFont). ### Font ```java com.datalogics.PDFL.Font.Font(String fontName, java.util.EnumSet< FontCreateFlags > createFlags) ``` *constructor* **Parameters** - `fontName` (`String`): the name of the font to create - `createFlags` (`java.util.EnumSet< FontCreateFlags >`): flags specifying embedding and other options for the use of a font in the document Find a font with the specified name, and construct a Font object from it. Otherwise, it makes a font with the default encoding (MacRomanEncoding on Macs, WinAnsiEncoding elsewhere, or for symbol fonts, their own custom encoding). There is not a way to specify another encoding for the font. When setting text, it checks to see if the text is representable in the font's encoding. If it is not, then DLE makes a "unicode font" with an Identity-H encoding and uses that to set the text. For non-Type0 fonts, this may result in two versions of a font in the output document. PDFL enforces the following requirements on fonts: TrueTypes used as CID fonts must be embedded. All CID fonts that are embedded must be subsetted. CID fonts that are marked as embedded get their DoNotEmbed flag turned off (or else PDFL won't make a PDEFont from the SysFont). ### Font ```java com.datalogics.PDFL.Font.Font(String fontName, java.util.EnumSet< FontCreateFlags > createFlags, WritingMode wrMode) ``` *constructor* **Parameters** - `fontName` (`String`): the name of the font to create - `createFlags` (`java.util.EnumSet< FontCreateFlags >`): flags specifying embedding and other options for the use of a font in the document - `wrMode` (`WritingMode`): determines whether text will be printed horizontally or vertically Find a font with the specified name, and construct a Font object from it. Otherwise, it makes a font with the default encoding (MacRomanEncoding on Macs, WinAnsiEncoding elsewhere, or for symbol fonts, their own custom encoding). There is not a way to specify another encoding for the font. When setting text, it checks to see if the text is representable in the font's encoding. If it is not, then DLE makes a "unicode font" with an Identity-H or Identity-V encoding and uses that to set the text. For non-Type0 fonts, this may result in two versions of a font in the output document. PDFL enforces the following requirements on fonts: TrueTypes used as CID fonts must be embedded. All CID fonts that are embedded must be subsetted. CID fonts that are marked as embedded get their DoNotEmbed flag turned off (or else PDFL won't make a PDEFont from the SysFont). ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Font.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Font.delete() ``` **Returns:** `synchronized void` Destructor. ### embedNow ```java void com.datalogics.PDFL.Font.embedNow(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): the Document the Font is embedded into **Returns:** `void` Embeds the Font. ### finalize ```java void com.datalogics.PDFL.Font.finalize() ``` *protected* **Returns:** `void` Destructor. ### findIndexOfFirstUnrepresentableChar ```java long com.datalogics.PDFL.Font.findIndexOfFirstUnrepresentableChar(String text) ``` **Parameters** - `text` (`String`): the text to check **Returns:** `long` The index of the first character that cannot be represented in this font. Find the index of the first character that cannot be represented in this font. This will return the index of the first character in the string for which the font has no glyph. If all characters can be represented (i.e. if IsTextRepresentable() would return true), this will return the length of the string. ### getAscent ```java double com.datalogics.PDFL.Font.getAscent() ``` **Returns:** `double` The Ascent value of the font in glyph space units. the Ascent value from the font descriptor. This is the maximum height above the baseline reached by glyphs in this font, excluding the height of glyphs for accented characters. ### getAvgWidth ```java double com.datalogics.PDFL.Font.getAvgWidth() ``` **Returns:** `double` The AvgWidth value of the font in glyph space units, or 0 if not defined. the AvgWidth value from the font descriptor. This is the average width of glyphs in the font, or 0 if the value is not defined in the font descriptor. ### getBBox ```java Rect com.datalogics.PDFL.Font.getBBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box of the font as a Rect, in glyph space units. The Bounding Box rectangle of the font. ### getCapHeight ```java double com.datalogics.PDFL.Font.getCapHeight() ``` **Returns:** `double` The CapHeight value of the font in glyph space units, or 0 if not defined. the CapHeight value from the font descriptor. This is the vertical coordinate of the top of flat capital letters, measured from the baseline, or 0 if the value is not defined in the font descriptor. ### getCidFontType ```java String com.datalogics.PDFL.Font.getCidFontType() ``` **Returns:** `String` The CID font type, or an empty string if not a CID font. Get the CID font type of the font. ### getDescent ```java double com.datalogics.PDFL.Font.getDescent() ``` **Returns:** `double` The descent value of the font. \xrefitem pdelayer_apis "PDE Layer" "PDE Layer" PDSysFont PDSysFontGetAttrs \xrefitem pdelayer_apis "PDE Layer" "PDE Layer" PDEFont PDEFontGetAttrs \xrefitem pdlayer_apis "PD Layer" "PD Layer" PDFont PDFontGetMetrics the Descent value from the font descriptor. This is the maximum depth below the baseline reached by glyphs in this font. The value is a negative number. ### getEmbedded ```java boolean com.datalogics.PDFL.Font.getEmbedded() ``` **Returns:** `boolean` true if the font is embedded, false if it is not. Tests whether the font is embedded in the document it was created for. ### getEncoding ```java String com.datalogics.PDFL.Font.getEncoding() ``` **Returns:** `String` The encoding of the font, eg: WinAnsiEncoding MacRomanEncoding Return the encoding of the font. ### getEncodingInfo ```java EncodingInfo com.datalogics.PDFL.Font.getEncodingInfo() ``` **Returns:** [`EncodingInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/EncodingInfo.md) The EncodingInfo object containing encoding details for this font. Get the populated CEncodingInfo object. ### getFlags ```java java.util.EnumSet< FontFlags > com.datalogics.PDFL.Font.getFlags() ``` **Returns:** `java.util.EnumSet< FontFlags >` The font descriptor flags as a CFontFlags bitmask. Get the font flags for a font. ### getFontList ```java static java.util.List< Font > com.datalogics.PDFL.Font.getFontList() ``` *static* **Returns:** [`java.util.List< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) The list of available fonts. Get a list of available fonts. ### getFullName ```java String com.datalogics.PDFL.Font.getFullName() ``` **Returns:** `String` The Full Name of the font. Note: This method only returns a meaningful result for TrueType-based technology fonts. Get the Full Name of the font. ### getItalicAngle ```java double com.datalogics.PDFL.Font.getItalicAngle() ``` **Returns:** `double` The ItalicAngle value of the font in degrees. the ItalicAngle value from the font descriptor. This is the angle, expressed in degrees counterclockwise from the vertical, of the dominant vertical strokes of the font, defined in the font descriptor. ### getLeading ```java double com.datalogics.PDFL.Font.getLeading() ``` **Returns:** `double` The leading value of the font, or 0 if not present. the Leading value from the font descriptor. This is the spacing between baselines of consecutive lines of text, or 0 if the value is not defined in the font descriptor. ### getMaxWidth ```java double com.datalogics.PDFL.Font.getMaxWidth() ``` **Returns:** `double` The MaxWidth value of the font in glyph space units, or 0 if not present. the MaxWidth value from the font descriptor. This is the maximum glyph width present in the font, or 0 if the value is not defined in the font descriptor. ### getMissingWidth ```java double com.datalogics.PDFL.Font.getMissingWidth() ``` **Returns:** `double` The MissingWidth value of the font in glyph space units, or 0 if not present. the MissingWidth value from the font descriptor. This is the width given to characters that do not have corresponding glyphs defined in the font, or 0 if the value is not defined in the font descriptor. ### getName ```java String com.datalogics.PDFL.Font.getName() ``` **Returns:** `String` The name of the font. Get the name of the font. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Font.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict for this font's COS dictionary object. Retrieve the PDFDict representation of this font. ### getStemH ```java double com.datalogics.PDFL.Font.getStemH() ``` **Returns:** `double` The StemH value of the font in glyph space units, or 0 if not present. the StemH value from the font descriptor. This is the vertical thickness of the dominant horizontal stems of the font's glyphs, or 0 if the value is not defined in the font descriptor. ### getStemV ```java double com.datalogics.PDFL.Font.getStemV() ``` **Returns:** `double` The StemV value of the font in glyph space units, or 0 if not present. the StemV value from the font descriptor. This is the horizontal thickness of the dominant vertical stems of the font's glyphs, or 0 if the value is not defined in the font descriptor. ### getType ```java String com.datalogics.PDFL.Font.getType() ``` **Returns:** `String` The type of the font. Type0 Type1 MMType1 TrueType Get the type of the font. ### getWritingMode ```java WritingMode com.datalogics.PDFL.Font.getWritingMode() ``` **Returns:** `WritingMode` The WritingMode of the font. Get the writing mode of the font. The writing mode of the fontwhether it will place glyphs horizontally or vertically. Text written with this font will run in the direction of the writing mode. ### getXHeight ```java double com.datalogics.PDFL.Font.getXHeight() ``` **Returns:** `double` The XHeight value of the font in glyph space units, or 0 if not present. the XHeight value from the font descriptor. This is the vertical coordinate of the top of flat nonascending lowercase letters in fonts that have Latin characters, as measured from the baseline, or 0 if the value is not defined in the font descriptor. ### isFromDoc ```java boolean com.datalogics.PDFL.Font.isFromDoc() ``` **Returns:** `boolean` true if the font was loaded from a document, false if it was created from a system font. Determine whether this font was obtained from an existing document rather than the system. ### isTextRepresentable ```java boolean com.datalogics.PDFL.Font.isTextRepresentable(String text) ``` **Parameters** - `text` (`String`): the text to check **Returns:** `boolean` true if all characters in the text have corresponding glyphs in this font. Is this text representable in this font? ### measureTextWidth ```java double com.datalogics.PDFL.Font.measureTextWidth(String text, double fontSize) ``` **Parameters** - `text` (`String`): the Text to be measured - `fontSize` (`double`): the Font size to be used **Returns:** `double` The width of the text in points. Measures the width of the specified text in points, using the Font at the specified size. --- # FontVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FontVector ```java class FontVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) ## Constructors ### FontVector ```java com.datalogics.PDFL.FontVector.FontVector() ``` *constructor* ### FontVector ```java com.datalogics.PDFL.FontVector.FontVector(Iterable< Font > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Font >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)) ## Methods ### add ```java void com.datalogics.PDFL.FontVector.add(Font x) ``` **Parameters** - `x` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.FontVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.FontVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.FontVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FontVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FontVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Font com.datalogics.PDFL.FontVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) ### isEmpty ```java boolean com.datalogics.PDFL.FontVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.FontVector.set(int i, Font val) ``` **Parameters** - `i` (`int`) - `val` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.FontVector.size() ``` **Returns:** `long` --- # Form Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form ```java class Form : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description Represents a PDF form XObject. This is not to be confused with a PDF fillable form; a Form XObject is an object outside the page content stream. A form XObject is a way to group a number of PDF objects together, into a single container. A Form XObject can hold both text and images, and can be defined once within a PDF file and then reused multiple times in the same PDF, and across multiple pages. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Form ```java com.datalogics.PDFL.Form.Form(Content content, Document document) ``` *constructor* **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The content from which to create the form - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): the document in which the image is intended to be used. Create a form with the given Content. Specifying the document optimizes data usage for this image within that document. ## Methods ### clone ```java Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### clone ```java Form com.datalogics.PDFL.Form.clone() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) The newly created form object. Creates a new form from an existing form object. Creates a copy of the Form, including the underlying Content. ### colorConvert ```java Form com.datalogics.PDFL.Form.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the objects calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting objects, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the objects in the form ### delete ```java synchronized void com.datalogics.PDFL.Form.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Form.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Form.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getContent ```java Content com.datalogics.PDFL.Form.getContent() ``` **Returns:** [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md) The Content of the form. The Content contained in the form. Returns the content associated with this form XObject. ### getGraphicState ```java GraphicState com.datalogics.PDFL.Form.getGraphicState() ``` **Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) The GraphicState of this Form, or null if none is set. Get the graphic state of this Form. May return null if this element does not have a GraphicState. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Form.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Form. Setting this property will attach the Form to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Form is detached from any OptionalContentMembershipDict. ### getStream ```java PDFStream com.datalogics.PDFL.Form.getStream() ``` **Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) The stream associated with the form. Get the stream associated with the form. Returns the underlying PDF stream (COS object) for this form XObject. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Form.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to use for visibility state information. **Returns:** `boolean` true if the form is currently visible. Tests whether a form is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the form occurs more than once within the content, this method only checks the visibility of the first occurrence of the form. This method determines visibility without considering the visbility of the Content object that the form belongs to. To determine the visibility of a form while taking the Content's visibility into consideration, use the alternate version of this method. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Form.isCurrentlyVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to use for visibility state information. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the form, used to also consider the Content's own visibility. **Returns:** `boolean` true if the form is currently visible. Tests whether a form is visible in a given optional content context and content. If the form occurs more than once within the content, this method only checks the visibility of the first occurrence of the form. ### makeVisible ```java boolean com.datalogics.PDFL.Form.makeVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which the form is made visible. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the form. **Returns:** `boolean` true if the form is successfully made visible in the given context and content, false otherwise Makes a form visible in a given optional content context and content by manipulating the ON-OFF states of the optional content groups. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setContent ```java void com.datalogics.PDFL.Form.setContent(Content content) ``` **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The new content for the form. **Returns:** `void` Set the Content of the form. Setting new content also dynamically recalculates the form's bounding box. ### setGraphicState ```java void com.datalogics.PDFL.Form.setGraphicState(GraphicState gstate) ``` **Parameters** - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): The new/updated Graphic State for the Form. **Returns:** `void` Set the Graphic State of this Form. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Form.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Form. Setting this property will attach the Form to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Form is detached from any OptionalContentMembershipDict. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # FormsExtensionVersionRec Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FormsExtensionVersionRec ```java class FormsExtensionVersionRec ``` **Namespace:** `com::datalogics::PDFL` ## Description Structure to hold the version number retrieved by GetFormsExtensionVersion() ## Constructors ### FormsExtensionVersionRec ```java com.datalogics.PDFL.FormsExtensionVersionRec.FormsExtensionVersionRec() ``` *constructor* Structure to hold the version number retrieved by GetFormsExtensionVersion() ## Methods ### delete ```java synchronized void com.datalogics.PDFL.FormsExtensionVersionRec.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FormsExtensionVersionRec.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FormsExtensionVersionRec.finalize() ``` *protected* **Returns:** `void` ### getMajorVersion ```java int com.datalogics.PDFL.FormsExtensionVersionRec.getMajorVersion() ``` **Returns:** `int` ### getMinorVersion ```java int com.datalogics.PDFL.FormsExtensionVersionRec.getMinorVersion() ``` **Returns:** `int` ### getReleaseVersion ```java int com.datalogics.PDFL.FormsExtensionVersionRec.getReleaseVersion() ``` **Returns:** `int` ### getSubVersion ```java int com.datalogics.PDFL.FormsExtensionVersionRec.getSubVersion() ``` **Returns:** `int` ### setMajorVersion ```java void com.datalogics.PDFL.FormsExtensionVersionRec.setMajorVersion(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setMinorVersion ```java void com.datalogics.PDFL.FormsExtensionVersionRec.setMinorVersion(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setReleaseVersion ```java void com.datalogics.PDFL.FormsExtensionVersionRec.setReleaseVersion(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setSubVersion ```java void com.datalogics.PDFL.FormsExtensionVersionRec.setSubVersion(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` --- # FreeTextAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation ```java class FreeTextAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description The free text annotation allows a user to place text directly on a PDF page. An ordinary text annotation appears in a pop up window, and is attached to an icon; it represents a note added to a PDF file, and can be opened for viewing, or closed. But a free text annotation always appears open on the page. A free text annotation can be included anywhere in a PDF file by specifying the location and the CallOutLine points. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### FreeTextAnnotation ```java com.datalogics.PDFL.FreeTextAnnotation.FreeTextAnnotation(Page page, Rect initialRect, String defaultAppearance) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the FreeTextAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `defaultAppearance` (`String`): The default appearance string to be used in formatting the text. Create a new FreeTextAnnotation at the end of a page's annotation array. To create a FreeTextAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### FreeTextAnnotation ```java com.datalogics.PDFL.FreeTextAnnotation.FreeTextAnnotation(Page page, Rect initialRect, String defaultAppearance, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `defaultAppearance` (`String`): The default appearance string to be used in formatting the text. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new FreeTextAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.FreeTextAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FreeTextAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.FreeTextAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.FreeTextAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form containing the generated appearance, or null if the appearance could not be generated (for example, due to an invalid border style). Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.FreeTextAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.FreeTextAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.FreeTextAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.FreeTextAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.FreeTextAnnotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) (Deprecated, function may be removed in future, use GetInteriorColor instead) The color of the annotation. This method the same to the GetInteriorColor method. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getDefaultAppearance ```java String com.datalogics.PDFL.FreeTextAnnotation.getDefaultAppearance() ``` **Returns:** `String` The default appearance string to be used in formatting the text. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getFontFace ```java String com.datalogics.PDFL.FreeTextAnnotation.getFontFace() ``` **Returns:** `String` current Font face Get Font face for the text ### getFontSize ```java double com.datalogics.PDFL.FreeTextAnnotation.getFontSize() ``` **Returns:** `double` current font size Get font size for the text; ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getQuadding ```java HorizontalAlignment com.datalogics.PDFL.FreeTextAnnotation.getQuadding() ``` **Returns:** `HorizontalAlignment` A code specifiying the form of quadding (justification) to be used in displaying the annotation's text. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTextColor ```java Color com.datalogics.PDFL.FreeTextAnnotation.getTextColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) color Freetext Annotation's text The text color which used for drawing text ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.FreeTextAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.FreeTextAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.FreeTextAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.FreeTextAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.FreeTextAnnotation.setColor(Color arg0) ``` **Parameters** - `arg0` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)) **Returns:** `void` (Deprecated, function may be removed in future, use SetInteriorColor instead) The color of the annotation. This method the same to the SetInteriorColor method. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setDefaultAppearance ```java void com.datalogics.PDFL.FreeTextAnnotation.setDefaultAppearance(String arg0) ``` **Parameters** - `arg0` (`String`) **Returns:** `void` The default appearance string to be used in formatting the text. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setFontFace ```java void com.datalogics.PDFL.FreeTextAnnotation.setFontFace(String fontName) ``` **Parameters** - `fontName` (`String`) **Returns:** `void` Set Font face for the text ### setFontSize ```java void com.datalogics.PDFL.FreeTextAnnotation.setFontSize(double fontSize) ``` **Parameters** - `fontSize` (`double`) **Returns:** `void` Set font size for text ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setQuadding ```java void com.datalogics.PDFL.FreeTextAnnotation.setQuadding(HorizontalAlignment quadding) ``` **Parameters** - `quadding` (`HorizontalAlignment`) **Returns:** `void` A code specifiying the form of quadding (justification) to be used in displaying the annotation's text. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTextColor ```java void com.datalogics.PDFL.FreeTextAnnotation.setTextColor(Color textColor) ``` **Parameters** - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)) **Returns:** `void` The text color which used for drawing text ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # Function Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function ```java class Function ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md) ## Description A function is a process. A function takes input values and manipulates them to create output values. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`FunctionPtrVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FunctionPtrVector.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Fields ### DEFAULT ```java static final Function com.datalogics.PDFL.Function.DEFAULT ``` *static* The Default named function. ### IDENTITY ```java static final Function com.datalogics.PDFL.Function.IDENTITY ``` *static* The Identity named function, which returns its input values unchanged. ## Methods ### apply ```java java.util.List< Double > com.datalogics.PDFL.Function.apply(java.util.List< Double > args) ``` **Parameters** - `args` (`java.util.List< Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `java.util.List< Double >` a list of the result values from the function Apply the function to supplied input values ### delete ```java synchronized void com.datalogics.PDFL.Function.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Function.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Function.finalize() ``` *protected* **Returns:** `void` ### getDomain ```java java.util.List< Double > com.datalogics.PDFL.Function.getDomain() ``` **Returns:** `java.util.List< Double >` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### getNInputs ```java int com.datalogics.PDFL.Function.getNInputs() ``` **Returns:** `int` The number of inputs to the function. ### getNOutputs ```java int com.datalogics.PDFL.Function.getNOutputs() ``` **Returns:** `int` The number of outputs from the function. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.Function.getRange() ``` **Returns:** `java.util.List< Double >` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### setDomain ```java void com.datalogics.PDFL.Function.setDomain(java.util.List< Double > domain) ``` **Parameters** - `domain` (`java.util.List< Double >`) **Returns:** `void` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### setRange ```java void com.datalogics.PDFL.Function.setRange(java.util.List< Double > range) ``` **Parameters** - `range` (`java.util.List< Double >`) **Returns:** `void` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### toString ```java String com.datalogics.PDFL.Function.toString() ``` **Returns:** `String` A string representation of the function. Convert the function to a displayable string. --- # FunctionPtrVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FunctionPtrVector ```java class FunctionPtrVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Constructors ### FunctionPtrVector ```java com.datalogics.PDFL.FunctionPtrVector.FunctionPtrVector() ``` *constructor* ### FunctionPtrVector ```java com.datalogics.PDFL.FunctionPtrVector.FunctionPtrVector(Iterable< Function > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Function >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)) ### FunctionPtrVector ```java com.datalogics.PDFL.FunctionPtrVector.FunctionPtrVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.FunctionPtrVector.add(Function x) ``` **Parameters** - `x` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.FunctionPtrVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.FunctionPtrVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.FunctionPtrVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.FunctionPtrVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.FunctionPtrVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Function com.datalogics.PDFL.FunctionPtrVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ### isEmpty ```java boolean com.datalogics.PDFL.FunctionPtrVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.FunctionPtrVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.FunctionPtrVector.set(int i, Function val) ``` **Parameters** - `i` (`int`) - `val` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.FunctionPtrVector.size() ``` **Returns:** `long` --- # GoToAction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GoToAction ```java class GoToAction : Action ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) ## Description A go-to action can be executed in a PDF document. A go-to action includes a hyperlink that, when clicked, takes the reader to a different place within the same document. The action is linked to a bookmark within the document. A remote go-to action includes a hyperlink that takes the reader to a destination in a separate document. **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### GoToAction ```java com.datalogics.PDFL.GoToAction.GoToAction(ViewDestination dest) ``` *constructor* **Parameters** - `dest` ([`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md)): The ViewDestination contained in this class. General constructor ## Methods ### delete ```java synchronized void com.datalogics.PDFL.GoToAction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.GoToAction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Action.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.GoToAction.finalize() ``` *protected* **Returns:** `void` ### getDestination ```java ViewDestination com.datalogics.PDFL.GoToAction.getDestination() ``` **Returns:** [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) The ViewDestination for this action. The ViewDestination that this go-to action navigates to. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Action.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this Action. Retrieve the PDFObject representation of this object. ### getSubtype ```java String com.datalogics.PDFL.Action.getSubtype() ``` **Returns:** `String` The subtype string for this action, such as "GoTo", "URI", "Launch", or "GoToR". The action's subtype. ### setDestination ```java void com.datalogics.PDFL.GoToAction.setDestination(ViewDestination dest) ``` **Parameters** - `dest` ([`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md)): The ViewDestination to set, or null to remove. **Returns:** `void` The ViewDestination that this go-to action navigates to. Setting the destination to null removes the destination entry from the action dictionary. ### toString ```java String com.datalogics.PDFL.Action.toString() ``` **Returns:** `String` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # GraphicState Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState ```java class GraphicState ``` **Namespace:** `com::datalogics::PDFL` ## Description The graphic state is an internal data structure in a PDF file. The graphics state holds the parameters that describe graphics within that file. These parameters define how individual graphics are presented on the page, including layers and transparencies. **Referenced by:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md) ## Constructors ### GraphicState ```java com.datalogics.PDFL.GraphicState.GraphicState() ``` *constructor* Create a new default GraphicState. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.GraphicState.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.GraphicState.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.GraphicState.finalize() ``` *protected* **Returns:** `void` ### getDashPattern ```java java.util.List< Double > com.datalogics.PDFL.GraphicState.getDashPattern() ``` **Returns:** `java.util.List< Double >` A list containing the dash phase followed by the contents of the DashPattern. The line DashPattern controls the pattern of dashes and gaps used to stroke paths. It is specified by a dash phase and then a series of elements of a DashPattern list. The DashPattern's members are numbers that specify the lengths of alternating dashes and gaps; the numbers must be nonnegative and not all zero. The dash phase specifies the distance into the dash pattern at which to start the dash. The elements of both the DashPattern List and the dash phase are expressed in user space units. This retrieves the DashPattern used by the Pattern list current graphic state. ### getExtendedGraphicState ```java ExtendedGraphicState com.datalogics.PDFL.GraphicState.getExtendedGraphicState() ``` **Returns:** [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md) The ExtendedGraphicState, or null if none is set. The ExtendedGraphicState associated with this GraphicState. The ExtendedGraphicState can contain additional parameters such as transparency, blend mode, and overprint settings that are not part of the basic GraphicState. ### getFillColor ```java Color com.datalogics.PDFL.GraphicState.getFillColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The current fill color. The color used for filling operations in the current GraphicState. ### getLineCap ```java LineCap com.datalogics.PDFL.GraphicState.getLineCap() ``` **Returns:** `LineCap` The current line cap style. The line cap style used by the current GraphicState, specifying the shape at the ends of open subpaths when stroked. ### getLineFlatness ```java double com.datalogics.PDFL.GraphicState.getLineFlatness() ``` **Returns:** `double` The current line flatness value. The line flatness tolerance in the current GraphicState, corresponding to the i operator. Default is 1.0. Flatness controls the maximum distance (in device pixels) between a curve and the flattened line segments that approximate it. ### getLineJoin ```java LineJoin com.datalogics.PDFL.GraphicState.getLineJoin() ``` **Returns:** `LineJoin` The current line join style. The line join style used by the current GraphicState, specifying the shape at the corners where consecutive segments of a path connect at an angle. ### getMiterLimit ```java double com.datalogics.PDFL.GraphicState.getMiterLimit() ``` **Returns:** `double` The current miter limit. The miter limit for line joins in the current GraphicState, corresponding to the M operator. Default is 10.0. When two line segments meet at a sharp angle and mitered joins have been specified, the miter limit controls when the join is beveled instead. ### getRenderIntent ```java RenderIntent com.datalogics.PDFL.GraphicState.getRenderIntent() ``` **Returns:** `RenderIntent` The current rendering intent. The color rendering intent for the current GraphicState, corresponding to the Intent key in the image dictionary. The default is RelColorimetric. ### getStrokeColor ```java Color com.datalogics.PDFL.GraphicState.getStrokeColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The current stroke color. The color used for stroking operations in the current GraphicState. ### getWidth ```java double com.datalogics.PDFL.GraphicState.getWidth() ``` **Returns:** `double` The current line width. The line width used for stroking operations by the current GraphicState, in user space units. ### setDashPattern ```java void com.datalogics.PDFL.GraphicState.setDashPattern(java.util.List< Double > DashPattern) ``` **Parameters** - `DashPattern` (`java.util.List< Double >`): A list containing the dash phase followed by the contents of the DashPattern. **Returns:** `void` The line DashPattern controls the pattern of dashes and gaps used to stroke paths. It is specified by a dash phase and then a series of elements of a DashPattern list. The DashPattern's members are numbers that specify the lengths of alternating dashes and gaps; the numbers must be nonnegative and not all zero. The dash phase specifies the distance into the dash pattern at which to start the dash. The elements of both the DashPattern List and the dash phase are expressed in user space units. This retrieves the DashPattern used by the Pattern list current graphic state. ### setExtendedGraphicState ```java void com.datalogics.PDFL.GraphicState.setExtendedGraphicState(ExtendedGraphicState extendedGraphicState) ``` **Parameters** - `extendedGraphicState` ([`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md)): The new ExtendedGraphicState, or null to remove it. **Returns:** `void` The ExtendedGraphicState associated with this GraphicState. The ExtendedGraphicState can contain additional parameters such as transparency, blend mode, and overprint settings that are not part of the basic GraphicState. ### setFillColor ```java void com.datalogics.PDFL.GraphicState.setFillColor(Color fillcolor) ``` **Parameters** - `fillcolor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new fill color. **Returns:** `void` The color used for filling operations in the current GraphicState. The color may be specified in DeviceGray, DeviceRGB, or DeviceCMYK color spaces. ### setLineCap ```java void com.datalogics.PDFL.GraphicState.setLineCap(LineCap LineCap) ``` **Parameters** - `LineCap` (`LineCap`): The new line cap style. **Returns:** `void` The line cap style used by the current GraphicState, specifying the shape at the ends of open subpaths when stroked. ### setLineFlatness ```java void com.datalogics.PDFL.GraphicState.setLineFlatness(double flatness) ``` **Parameters** - `flatness` (`double`): The new flatness value. **Returns:** `void` The line flatness tolerance in the current GraphicState, corresponding to the i operator. Default is 1.0. ### setLineJoin ```java void com.datalogics.PDFL.GraphicState.setLineJoin(LineJoin LineJoin) ``` **Parameters** - `LineJoin` (`LineJoin`): The new line join style. **Returns:** `void` The line join style to be used by the current GraphicState, specifying the shape at the corners where consecutive segments of a path connect at an angle. ### setMiterLimit ```java void com.datalogics.PDFL.GraphicState.setMiterLimit(double miterLimit) ``` **Parameters** - `miterLimit` (`double`): The new miter limit value. **Returns:** `void` The miter limit for line joins in the current GraphicState, corresponding to the M operator. Default is 10.0. ### setRenderIntent ```java void com.datalogics.PDFL.GraphicState.setRenderIntent(RenderIntent renderingIntent) ``` **Parameters** - `renderingIntent` (`RenderIntent`): The new rendering intent. **Returns:** `void` The color rendering intent for the current GraphicState, corresponding to the Intent key in the image dictionary. The default is RelColorimetric. ### setStrokeColor ```java void com.datalogics.PDFL.GraphicState.setStrokeColor(Color strokecolor) ``` **Parameters** - `strokecolor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new stroke color. **Returns:** `void` The color used for stroking operations in the current GraphicState. The color may be specified in DeviceGray, DeviceRGB, or DeviceCMYK color spaces. ### setWidth ```java void com.datalogics.PDFL.GraphicState.setWidth(double width) ``` **Parameters** - `width` (`double`): The new line width. **Returns:** `void` The line width used for stroking operations by the current GraphicState, in user space units. --- # Group Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group ```java class Group : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description A set of elements to be used within a PDF document. A Group represents objects in a content object, but it resides in memory. Therefore the group has no state and is not represented in any way in a PDF content stream. When used in a Clip, a group is used to associate Text objects into a single clipping object. **Referenced by:** [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Group ```java com.datalogics.PDFL.Group.Group() ``` *constructor* Create a new Group. ### Group ```java com.datalogics.PDFL.Group.Group(Content content) ``` *constructor* **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The new Content of the group. Create a Group with the given Content. ## Methods ### clone ```java Group com.datalogics.PDFL.Group.clone() ``` **Returns:** [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md) The copied group. Makes a copy of the group. Make a copy of an group to obtain a new group that has a distinct set of attributes. ### clone ```java Group com.datalogics.PDFL.Group.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md) The copied group. Makes a copy of the group. Make a copy of an group to obtain a new group that has a distinct set of attributes. ### colorConvert ```java Group com.datalogics.PDFL.Group.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting objects, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md) A new Group object with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the elements in the Group object ### delete ```java synchronized void com.datalogics.PDFL.Group.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Group.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Group.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getContent ```java Content com.datalogics.PDFL.Group.getContent() ``` **Returns:** [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md) The Content associated with this Group. Obtain the content of a Group. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setContent ```java void com.datalogics.PDFL.Group.setContent(Content content) ``` **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md)): The new Content of the group. Must not be null. **Returns:** `void` Set the content of a Group. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # HighlightAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation ```java class HighlightAnnotation : TextMarkupAnnotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md) ## Description Allows the user to highlight text appearing on a PDF page. The annotated text is still readable on the PDF, but highlighted in yellow. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### HighlightAnnotation ```java com.datalogics.PDFL.HighlightAnnotation.HighlightAnnotation(Page page, int addAfter, java.util.List< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the HighlightAnnotation is added. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. - `quadList` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A list of quads to highlight. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. Create a new HighlightAnnotation at a specific index in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. ### HighlightAnnotation ```java com.datalogics.PDFL.HighlightAnnotation.HighlightAnnotation(Page page, java.util.List< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the HighlightAnnotation is added. - `quadList` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A list of quads to highlight. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. Create a new HighlightAnnotation at the end of a page's annotation array. To create a FreeTextAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.HighlightAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.HighlightAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.HighlightAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.HighlightAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form object representing the highlight appearance. The caller takes ownership of the returned object. Generate a new appearance stream for this highlight annotation. Creates a Form containing filled quadrilateral paths for each quad in the annotation, using the annotation's color with a Multiply blend mode. The current opacity setting is applied to the appearance if it is less than fully opaque. ### getAnnotatedText ```java String com.datalogics.PDFL.TextMarkupAnnotation.getAnnotatedText(boolean splitLines) ``` **Parameters** - `splitLines` (`boolean`): If true, text corresponding to each quadrilateral will be separated by CRLF characters. If false, text corresponding to each quadrilateral will be separated by spaces. **Returns:** `String` The text marked by the annotation. The text that is marked by the annotation. Marked text is defined as text which falls within one or more of the quadrilaterals specified by the annotation's QuadPoints entry. If the annotation marks partial words, only those portions of the word that are bounded within the QuadPoints array will be returned. If the annotation marks partial characters, the characters that fall partially within the annotation bounds may not be returned. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.TextMarkupAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.TextMarkupAnnotation.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.TextMarkupAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setQuads ```java void com.datalogics.PDFL.TextMarkupAnnotation.setQuads(java.util.List< Quad > theQuads) ``` **Parameters** - `theQuads` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) **Returns:** `void` A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # ICCBasedColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace ```java class ICCBasedColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Works with the ICC color space. The International Color Consortium (ICC) developed the ICC color space in 1993 to serve as a universal standard for for printing or presenting content with digital devices, and across all operating systems and platforms. The ICC color standard applies regardless the hardware or software involved, and is used to make sure that color images and text appear properly on a wide variety of platforms. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) ## Constructors ### ICCBasedColorSpace ```java com.datalogics.PDFL.ICCBasedColorSpace.ICCBasedColorSpace(PDFStream iccStream) ``` *constructor* **Parameters** - `iccStream` ([`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md)): stream containing the ICC profile Create an ICC-based color stream. ### ICCBasedColorSpace ```java com.datalogics.PDFL.ICCBasedColorSpace.ICCBasedColorSpace(PDFStream iccStream, int nComps) ``` *constructor* **Parameters** - `iccStream` ([`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md)): stream containing the ICC profile - `nComps` (`int`): The number of components (1, 3, or 4) Create an ICC-based color stream. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ICCBasedColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ICCBasedColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.ICCBasedColorSpace.finalize() ``` *protected* **Returns:** `void` ### getAlternate ```java ColorSpace com.datalogics.PDFL.ICCBasedColorSpace.getAlternate() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) An alternate color space to be used in case the one specified in the stream data is not supported (for example, by applications designed for earlier versions of PDF). The alternate space may be any valid color space (except a Pattern color space) that has the number of components specified by N. If this entry is omitted and the application does not understand the ICC profile data, the color space used is DeviceGray, DeviceRGB, or DeviceCMYK, depending on whether the value of N is 1, 3, or 4, respectively. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.ICCBasedColorSpace.getRange() ``` **Returns:** `java.util.List< Double >` An array of 2 * NumComponents numbers [ min0 max0 min1 max1 ... ] specifying the minimum and maximum valid values of the corresponding color components. These values must match the information in the ICC profile. Default value: [ 0.0 1.0 0.0 1.0 ... ] ### getStream ```java PDFStream com.datalogics.PDFL.ICCBasedColorSpace.getStream() ``` **Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) The PDFStream containing the ICC-based data and other attributes. ### setAlternate ```java void com.datalogics.PDFL.ICCBasedColorSpace.setAlternate(ColorSpace alternate) ``` **Parameters** - `alternate` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)) **Returns:** `void` An alternate color space to be used in case the one specified in the stream data is not supported (for example, by applications designed for earlier versions of PDF). The alternate space may be any valid color space (except a Pattern color space) that has the number of components specified by N. If this entry is omitted and the application does not understand the ICC profile data, the color space used is DeviceGray, DeviceRGB, or DeviceCMYK, depending on whether the value of N is 1, 3, or 4, respectively. ### setRange ```java void com.datalogics.PDFL.ICCBasedColorSpace.setRange(java.util.List< Double > range) ``` **Parameters** - `range` (`java.util.List< Double >`) **Returns:** `void` An array of 2 * NumComponents numbers [ min0 max0 min1 max1 ... ] specifying the minimum and maximum valid values of the corresponding color components. These values must match the information in the ICC profile. Default value: [ 0.0 1.0 0.0 1.0 ... ] ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # Image Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image ```java class Image : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description An image resource can either be an image XObject or inline image found in a page's content stream. An Image Xobject is stored separately from the graphics content stream in a PDF, and so can be used multiple times in the document, even across pages. The image is described in the /Xobject entry in the resources dictionary on the PDF page. Image size and resoultion: For images that are imported from raster image files, the design width and height are stored in the Image object's Matrix, in the A (width) and D (depth) Matrix members, when the image is imported. These are stored in PDF units. To derive the effective resolution of an image imported from a raster image file: Horizontal resolution: divide the Image Width by the Image's Matrix A member and multiply by 72 to scale to DPI (dots per inch). Vertical resolution: divide the Image Height by the Image's Matrix D member and multiply by 72 to scale to DPI (dots per inch). **Referenced by:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageData`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Image ```java com.datalogics.PDFL.Image.Image(StreamFile sf, boolean ignore) ``` *constructor, protected* **Parameters** - `sf` (`StreamFile`) - `ignore` (`boolean`) ### Image ```java com.datalogics.PDFL.Image.Image(byte[] buffer, int width, int height, ColorSpace colorSpace) ``` *constructor* **Parameters** - `buffer` (`byte[]`): contains Image's data - `width` (`int`): width of the image - `height` (`int`): height of the image - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): colorspace with wich Image object will be created Create an image from byte array. This constructor expects that input buffer is non-padded. If buffer doesn't correspond to the expected format, it will be stripped. For example: The bitmap data generated by Page's drawContents(DrawParams) function is 32-bit aligned. The PDF image operator expects, however, 8-bit aligned image data. To remedy this difference, we check to see if the 32-bit aligned width is different from the 8-bit aligned width. If so, we fix the image data by stripping off the padding at the end. ### Image ```java com.datalogics.PDFL.Image.Image(javax.imageio.stream.ImageInputStream stream) ``` *constructor* **Parameters** - `stream` (`javax.imageio.stream.ImageInputStream`) Allows to create Image object from ImageInputStream. ### Image ```java com.datalogics.PDFL.Image.Image(String fileName) ``` *constructor* **Parameters** - `fileName` (`String`): the filename of the image file. Create a new Image from an existing physical file. This file can be a bitmap, gif, jpeg, png, or a tiff file. An exception will be thrown if the image file is not any of the above. NOTICE on tiff files: If the tiff file is multi-paged, then the first "page" only of the file will be converted to an Image. See ImageCollection to convert each page in a multi-page tiff file to an Image. ### Image ```java com.datalogics.PDFL.Image.Image(String fileName, Document document) ``` *constructor* **Parameters** - `fileName` (`String`): the filename of the image file. - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): the document in which the image is intended to be used. Create a new Image from an existing physical file. This file can be a bitmap, gif, jpeg, png, or a tiff file. An exception will be thrown if the image file is not any of the above. Specifying the document optimizes data usage for this image within that document. NOTICE on tiff files: If the tiff file is multi-paged, then the first "page" only of the file will be converted to an Image. See ImageCollection to convert each page in a multi-page tiff file to an Image. ## Methods ### changeResolution ```java Image com.datalogics.PDFL.Image.changeResolution(int dpi) ``` **Parameters** - `dpi` (`int`): the new resolution **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) newimage - the original image modified to the new resolution. Create a new image from an existing one modifying the resolution (dots per inch) ### clone ```java Image com.datalogics.PDFL.Image.clone() ``` **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) The copied image. Makes a copy of the image. Make a copy of an image to obtain a new image that has a distinct set of attributes. ### clone ```java Image com.datalogics.PDFL.Image.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) The copied image. Makes a copy of the image. Make a copy of an image to obtain a new image that has a distinct set of attributes. ### colorConvert ```java Image com.datalogics.PDFL.Image.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) A new Image with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Image ### delete ```java synchronized void com.datalogics.PDFL.Image.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Image.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Image.finalize() ``` *protected* **Returns:** `void` ### getBitsPerComponent ```java int com.datalogics.PDFL.Image.getBitsPerComponent() ``` **Returns:** `int` The number of bits per component (e.g. 1, 2, 4, 8, or 16). The number of bits per component in the image. ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getBufferedImage ```java java.awt.image.BufferedImage com.datalogics.PDFL.Image.getBufferedImage() ``` **Returns:** `java.awt.image.BufferedImage` Return this PDF image as a Java BufferedImage. Images in Gray or RGB color spaces are returned without conversion, while images in other spaces are first converted to RGB. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getColorSpace ```java ColorSpace com.datalogics.PDFL.Image.getColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) return the ColorSpace with which this Image was created. ### getCompression ```java CompressionCode com.datalogics.PDFL.Image.getCompression() ``` **Returns:** `CompressionCode` A compression code which represents the filter used in the image data. The compression filter applied to the image data. ### getData ```java byte[] com.datalogics.PDFL.Image.getData() ``` **Returns:** `byte[]` A byte array containing the raw image data. The actual bytes that make up the image, exactly as they appear in the image data. ### getDidWarningsOccurDuringImport ```java boolean com.datalogics.PDFL.Image.getDidWarningsOccurDuringImport() ``` **Returns:** `boolean` true if warnings were generated during the image import process, false otherwise. Indicates whether warnings occurred during import of the raster image file. ### getGraphicState ```java GraphicState com.datalogics.PDFL.Image.getGraphicState() ``` **Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) The GraphicState associated with this image element. The graphic state of the current element. ### getHeight ```java int com.datalogics.PDFL.Image.getHeight() ``` **Returns:** `int` The height of the image in pixels. The height of the image in pixels. ### getIntent ```java String com.datalogics.PDFL.Image.getIntent() ``` **Returns:** `String` The rendering intent name as a string. The color rendering intent for the image. ### getIsImageMask ```java boolean com.datalogics.PDFL.Image.getIsImageMask() ``` **Returns:** `boolean` true if the image is an image mask, false otherwise. Indicates whether this image is an image mask. An image mask is a 1-bit-per-pixel image used to select painting in the current color rather than displaying image samples. ### getLargeData ```java java.util.List< ImageData > com.datalogics.PDFL.Image.getLargeData() ``` **Returns:** [`java.util.List< ImageData >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md) A list of ImageData chunks containing the decompressed image data. Gets the decompressed image data from very large images. NOTE: This function is only supported in 64-bit, only if enough contiguous memory is available. The data size must exceed nearly 2GB, otherwise an exception is thrown and you would use the Data member instead to access the image data. The first members of the list returned contain a close to 2GB chunk of the data, but the last member containing the remaining data will be smaller in size. This facilitates retrieving the data in .NET and Java which have 2GB limits on object sizes. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getNumberComponents ```java int com.datalogics.PDFL.Image.getNumberComponents() ``` **Returns:** `int` The number of color components (e.g. 1 for grayscale, 3 for RGB, 4 for CMYK). The number of color components in the image. ### getSoftMask ```java Image com.datalogics.PDFL.Image.getSoftMask() ``` **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) image - an image, the soft mask Gets, for this image, the soft mask (also an image). ### getStream ```java PDFStream com.datalogics.PDFL.Image.getStream() ``` **Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) The PDFStream object, or null if there is no stream associated with the image. The PDFStream object associated with the image. ### getWidth ```java int com.datalogics.PDFL.Image.getWidth() ``` **Returns:** `int` The width of the image in pixels. The width of the image in pixels. ### rotate ```java void com.datalogics.PDFL.Image.rotate(double angle) ``` **Parameters** - `angle` (`double`): The rotation angle in degrees, counterclockwise. **Returns:** `void` Rotate an image on (angle) degree using the matrix [cos(a), sin(a), -sin(a), cos(a), 0, 0]. For images, this rotate is done without regard to the primary scaling of the original image. ### save ```java void com.datalogics.PDFL.Image.save(String imagefilename, ImageType imageType) ``` **Parameters** - `imagefilename` (`String`): The physical image file which will be created. - `imageType` (`ImageType`): The IMAGETYPE used for saving the image. **Returns:** `void` Save an image into a particular file format with default parameters for saving. ### save ```java void com.datalogics.PDFL.Image.save(String imagefilename, ImageType imageType, ImageSaveParams saveparams) ``` **Parameters** - `imagefilename` (`String`): The physical image file which will be created. - `imageType` (`ImageType`): The ImageType used for saving the image. - `saveparams` ([`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md)): The ImageSaveParams for saving the image. **Returns:** `void` Save an image into a particular file format with the given parameters for saving. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setCompression ```java void com.datalogics.PDFL.Image.setCompression(CompressionCode code) ``` **Parameters** - `code` (`CompressionCode`): The new new compression scheme to be applied. **Returns:** `void` Set a Compression scheme for the image data. ### setGraphicState ```java void com.datalogics.PDFL.Image.setGraphicState(GraphicState gstate) ``` **Parameters** - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): the new/updated Graphic State for the element. **Returns:** `void` Set the Graphic State of the current element. ### setIntent ```java void com.datalogics.PDFL.Image.setIntent(String intent) ``` **Parameters** - `intent` (`String`): the intent name **Returns:** `void` SetIntent allows to set color rendering intent for the image. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### setSoftMask ```java void com.datalogics.PDFL.Image.setSoftMask(Image softMask) ``` **Parameters** - `softMask` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): an image, the soft mask. If set to NULL, the soft mask is removed. **Returns:** `void` Sets, for this image, the soft mask (also an image). ### translate ```java void com.datalogics.PDFL.Image.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an image by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. For images, this translation is done without regard to the scaling and rotation of the original image. To ensure that this translation can be done, do the translation before any further rotation or scaling. --- # ImageCollection Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection ```java class ImageCollection ``` **Namespace:** `com::datalogics::PDFL` ## Description An image collection can hold multiple images, created from an image file. The full set of images in the collection can be saved to a single image file, but only as a .tif image file. For any other file type (JPG, PNG, and so on), the collection can only be saved as one image object per file. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md) ## Constructors ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection(StreamFile sf, boolean ignore) ``` *constructor, protected* **Parameters** - `sf` (`StreamFile`) - `ignore` (`boolean`) ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection() ``` *constructor* Create an empty image collection, which can have Image objects added to it. ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection(Image image) ``` *constructor* **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): the Image object to be inserted upon creation. Create a new image collection containing the supplied Image object. ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection(javax.imageio.stream.ImageInputStream stream) ``` *constructor* **Parameters** - `stream` (`javax.imageio.stream.ImageInputStream`) Allows to create ImageCollection object from ImageInputStream. The Stream must contain image data in the TIFF Format. ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection(String fileName) ``` *constructor* **Parameters** - `fileName` (`String`): The physical image file from which an image collection will be created. Create from an image file. If the file is a TIFF, then an Image object will be created for each "page" of the TIFF. For all other types, only 1 Image object will be created. ### ImageCollection ```java com.datalogics.PDFL.ImageCollection.ImageCollection(String fileName, Document document) ``` *constructor* **Parameters** - `fileName` (`String`): The physical image file from which an image collection will be created. - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): the document in which the image is intended to be used. Create from an image file. If the file is a TIFF, then an Image object will be created for each "page" of the TIFF. For all other types, only 1 Image object will be created. Specifying the document optimizes data usage for this image within that document. ## Methods ### append ```java void com.datalogics.PDFL.ImageCollection.append(Image image) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): the Image object to be inserted. **Returns:** `void` Insert the given Image object at the end of the ImageCollection. ### delete ```java synchronized void com.datalogics.PDFL.ImageCollection.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ImageCollection.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ImageCollection.finalize() ``` *protected* **Returns:** `void` ### getCount ```java int com.datalogics.PDFL.ImageCollection.getCount() ``` **Returns:** `int` The count of Image objects in the collection. Gets the number of Image objects in this collection. ### getImage ```java Image com.datalogics.PDFL.ImageCollection.getImage(int index) ``` **Parameters** - `index` (`int`): the index of the Image to be retrieved. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) the Image object at the specified index. Retrieve the Image object at the specified index. Note that an exception will be generated if an index is given which is out of range. ### save ```java void com.datalogics.PDFL.ImageCollection.save(String filename, ImageType type) ``` **Parameters** - `filename` (`String`): the file which to save the image. - `type` (`ImageType`): the image type to which to be saved. NOTE: The resolution of the first Image in the collection is used as the target Resolution for saving. (Support for saving multiple, different resolutions isn't available) **Returns:** `void` Save the images in the collection to the specified file and image type. Multiple images can only be save to an image type of TIFF, otherwise an exception will be thrown. ### save ```java void com.datalogics.PDFL.ImageCollection.save(String filename, ImageType type, ImageSaveParams saveparams) ``` **Parameters** - `filename` (`String`): the file which to save the image. - `type` (`ImageType`): the image type to which to be saved. - `saveparams` ([`ImageSaveParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams.md)): the ImageSaveParams parameters for customizing the image saving. NOTE: The resolution of the first Image in the collection is used as the target Resolution for saving. (Support for saving multiple, different resolutions isn't available) **Returns:** `void` Save the images in the collection to the specified file and image type. Multiple images can only be save to an image type of TIFF, otherwise an exception will be thrown. --- # ImageData Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData ```java class ImageData ``` **Namespace:** `com::datalogics::PDFL` ## Description A class representing the decompressed Image Data. **Referenced by:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageDataVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageDataVector.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ImageData.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ImageData.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ImageData.finalize() ``` *protected* **Returns:** `void` ### getRawData ```java byte[] com.datalogics.PDFL.ImageData.getRawData() ``` **Returns:** `byte[]` A byte array containing the uncompressed image pixel data. Gets the raw bytes of the decompressed image data. --- # ImageDataVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageDataVector ```java class ImageDataVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`ImageData`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md) ## Constructors ### ImageDataVector ```java com.datalogics.PDFL.ImageDataVector.ImageDataVector() ``` *constructor* ### ImageDataVector ```java com.datalogics.PDFL.ImageDataVector.ImageDataVector(Iterable< ImageData > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< ImageData >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md)) ## Methods ### add ```java void com.datalogics.PDFL.ImageDataVector.add(ImageData x) ``` **Parameters** - `x` ([`ImageData`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.ImageDataVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.ImageDataVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.ImageDataVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ImageDataVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ImageDataVector.finalize() ``` *protected* **Returns:** `void` ### get ```java ImageData com.datalogics.PDFL.ImageDataVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`ImageData`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md) ### isEmpty ```java boolean com.datalogics.PDFL.ImageDataVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.ImageDataVector.set(int i, ImageData val) ``` **Parameters** - `i` (`int`) - `val` ([`ImageData`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageData.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.ImageDataVector.size() ``` **Returns:** `long` --- # ImageSaveParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageSaveParams ```java class ImageSaveParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Class that defines parameters for saving an image to a graphics file. The parameters include the file type (such as PNG or JPG), compression, image quality, and gray scale. **Referenced by:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md) ## Constructors ### ImageSaveParams ```java com.datalogics.PDFL.ImageSaveParams.ImageSaveParams() ``` *constructor* Default parameters for saving an image to a file. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ImageSaveParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ImageSaveParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ImageSaveParams.finalize() ``` *protected* **Returns:** `void` ### getCompression ```java CompressionCode com.datalogics.PDFL.ImageSaveParams.getCompression() ``` **Returns:** `CompressionCode` The compression code currently set. The default is CompressionCode.Default. Gets the type of compression to be used in saving the image to a file. ### getDisableAlphaChannelGeneration ```java boolean com.datalogics.PDFL.ImageSaveParams.getDisableAlphaChannelGeneration() ``` **Returns:** `boolean` true if alpha channel generation is disabled, false otherwise. Gets whether alpha channel generation is disabled for the output image. When false, RGB image data with a Mask will be combined as RGBA + Alpha Channel output (32-bit). When true, the Mask is not combined and the output is RGB (24-bit). This is only valid for TIFF and PNG output formats. ### getHalftoneGrayImages ```java boolean com.datalogics.PDFL.ImageSaveParams.getHalftoneGrayImages() ``` **Returns:** `boolean` true if halftone conversion is enabled, false otherwise. Gets whether grayscale images are converted to halftone. When true, converts 8bpc grayscale images to 1bpc (B/W) images using a 45 degree line screen set for 106lpi at 600dpi. Note this can only be set to true for an image of ColorSpace of DeviceGray. ### getJPEGQuality ```java int com.datalogics.PDFL.ImageSaveParams.getJPEGQuality() ``` **Returns:** `int` The JPEG quality value (0-100). The default is 0. Gets the quality of a JPEG output image. ### getMonochromeThreshold ```java short com.datalogics.PDFL.ImageSaveParams.getMonochromeThreshold() ``` **Returns:** `short` The monochrome threshold value (0-255). The default is 128. Gets the threshold for determining which bits are white or black for Monochrome output. Note: this is only valid for TIF Images using G3 or G4 compression and HalftoneGrayImages must be set to false. ### getRaiseExceptionIfNotUsableColor ```java boolean com.datalogics.PDFL.ImageSaveParams.getRaiseExceptionIfNotUsableColor() ``` **Returns:** `boolean` true if an exception will be raised for unsupported color formats, false otherwise. Gets whether an exception is raised if the image color format is not natively supported. When true, an exception will be raised if the image being saved is not in a format this graphic form can save natively. When false, the image will be automatically converted into a form that can be saved natively (generally DeviceRGB using the sRGB profile). ### getReverseGray ```java boolean com.datalogics.PDFL.ImageSaveParams.getReverseGray() ``` **Returns:** `boolean` true if the grayscale output will be reversed, false otherwise. Gets whether the GrayScale output is reversed. Note this is only valid for an image with a DeviceGray Colorspace. ### getTIFFBlackIsOne ```java boolean com.datalogics.PDFL.ImageSaveParams.getTIFFBlackIsOne() ``` **Returns:** `boolean` true if the TIFF image is photometrically reversed, false otherwise. Gets whether a TIFF file is photometrically reversed. Note this is only valid for a 1-bit TIFF image with a DeviceGray Colorspace. ### getTIFFByteOrder ```java TIFFByteOrder com.datalogics.PDFL.ImageSaveParams.getTIFFByteOrder() ``` **Returns:** `TIFFByteOrder` The current TIFF byte order setting. Gets the byte order used within the TIFF file. This is only valid for TIFF output. ### getTIFFCMYKAlpha ```java boolean com.datalogics.PDFL.ImageSaveParams.getTIFFCMYKAlpha() ``` **Returns:** `boolean` true if CMYK + Alpha channel TIFF output is enabled, false otherwise. Gets whether CMYK image data is combined with the Soft Mask in TIFF output. Note: This is only valid for CMYK image data which has a Soft Mask; the output will be 40-bit. ### getWriteSeparationColorsToTIFF ```java boolean com.datalogics.PDFL.ImageSaveParams.getWriteSeparationColorsToTIFF() ``` **Returns:** `boolean` true if separation colors are written to TIFF, false if converted to sRGB. Gets whether separation colors are written to TIFF using the Photoshop tag. When false, separation colors will be converted to their alternate color space and rendered as RGB. When true, separation colors are output using the TIFF Photoshop tag. ### setCompression ```java void com.datalogics.PDFL.ImageSaveParams.setCompression(CompressionCode compression) ``` **Parameters** - `compression` (`CompressionCode`): The compression code to use. **Returns:** `void` Sets the type of compression to be used in saving the image to a file. Note this is only valid for TIF images. ### setDisableAlphaChannelGeneration ```java void com.datalogics.PDFL.ImageSaveParams.setDisableAlphaChannelGeneration(boolean disableAlphaChannelGeneration) ``` **Parameters** - `disableAlphaChannelGeneration` (`boolean`): true to disable alpha channel generation. **Returns:** `void` Sets whether alpha channel generation is disabled for the output image. This is only valid for output image types of TIF and PNG. The default value is false. ### setHalftoneGrayImages ```java void com.datalogics.PDFL.ImageSaveParams.setHalftoneGrayImages(boolean halftoneGray) ``` **Parameters** - `halftoneGray` (`boolean`): true to enable halftone conversion. **Returns:** `void` Sets whether grayscale images are converted to halftone. Note this can only be set to true for an image of ColorSpace of DeviceGray. The default value is false. ### setJPEGQuality ```java void com.datalogics.PDFL.ImageSaveParams.setJPEGQuality(int jpegQuality) ``` **Parameters** - `jpegQuality` (`int`): The JPEG quality value (0-100). **Returns:** `void` Sets the quality of a JPEG output image. Note this is only valid for JPEG images. ### setMonochromeThreshold ```java void com.datalogics.PDFL.ImageSaveParams.setMonochromeThreshold(short monochromeThreshold) ``` **Parameters** - `monochromeThreshold` (`short`): The monochrome threshold value (0-255). **Returns:** `void` Sets the threshold for determining which bits are white or black for Monochrome output. Note: this is only valid for TIF Images using G3 or G4 compression and HalftoneGrayImages must be set to false. ### setRaiseExceptionIfNotUsableColor ```java void com.datalogics.PDFL.ImageSaveParams.setRaiseExceptionIfNotUsableColor(boolean RaiseExceptionIfNotUsableColor) ``` **Parameters** - `RaiseExceptionIfNotUsableColor` (`boolean`): true to raise an exception, false to auto-convert. **Returns:** `void` Sets whether an exception is raised if the image color format is not natively supported. The default value is false. ### setReverseGray ```java void com.datalogics.PDFL.ImageSaveParams.setReverseGray(boolean reversegray) ``` **Parameters** - `reversegray` (`boolean`): true to reverse the grayscale output. **Returns:** `void` Sets whether the GrayScale output is reversed. This is only valid for images using the DeviceGray ColorSpace. The default value is false. ### setTIFFBlackIsOne ```java void com.datalogics.PDFL.ImageSaveParams.setTIFFBlackIsOne(boolean blackIsOne) ``` **Parameters** - `blackIsOne` (`boolean`): true to photometrically reverse the TIFF image. **Returns:** `void` Sets whether a TIFF file is photometrically reversed. This is only valid for an output image of type TIF. The default value is false. ### setTIFFByteOrder ```java void com.datalogics.PDFL.ImageSaveParams.setTIFFByteOrder(TIFFByteOrder tiffByteOrder) ``` **Parameters** - `tiffByteOrder` (`TIFFByteOrder`): The byte order to use for the TIFF file. **Returns:** `void` Sets the byte order used within the TIFF file. This is only valid for TIFF output. ### setTIFFCMYKAlpha ```java void com.datalogics.PDFL.ImageSaveParams.setTIFFCMYKAlpha(boolean cmykAlpha) ``` **Parameters** - `cmykAlpha` (`boolean`): true to combine CMYK data with the Soft Mask as 40-bit TIFF output. **Returns:** `void` Sets whether CMYK image data is combined with the Soft Mask in TIFF output. This is only valid for an output image of type TIF. The default value is false. ### setWriteSeparationColorsToTIFF ```java void com.datalogics.PDFL.ImageSaveParams.setWriteSeparationColorsToTIFF(boolean WriteSeparationColorsToTIFF) ``` **Parameters** - `WriteSeparationColorsToTIFF` (`boolean`): true to write separation colors to TIFF, false to convert to sRGB. **Returns:** `void` Sets whether separation colors are written to TIFF using the Photoshop tag. The default value is false. --- # IndexedColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IndexedColorSpace ```java class IndexedColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Indexed color spaces are used to reduce the amount of memory used for processing images. Indexed color spaces are used when a limited number of colors are needed. Commonly, an image with an indexed color space can be one third the size of the same image with a standard color space, because the indexed image uses a smaller palette of colors. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### IndexedColorSpace ```java com.datalogics.PDFL.IndexedColorSpace.IndexedColorSpace(ColorSpace base, int hival, java.util.List< Integer > lookup) ``` *constructor* **Parameters** - `base` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The base color space in which the values in the color table are to be interpreted. It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, but not a Pattern space or another Indexed space. - `hival` (`int`): an integer that specifies the maximum valid index value. In other words, the color table is to be indexed by integers in the range 0 to hival. hival can be no greater than 255. - `lookup` (`java.util.List< Integer >`): a list of integers in the range 0..255. There must be m * (hival + 1) values, where m is the number of components of the base color space. Create a Indexed color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.IndexedColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.IndexedColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.IndexedColorSpace.finalize() ``` *protected* **Returns:** `void` ### getBase ```java ColorSpace com.datalogics.PDFL.IndexedColorSpace.getBase() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The base color space in which the values in the color table are to be interpreted. It can be any device or CIE-based color space or (in PDF 1.3) a Separation or DeviceN space, but not a Pattern space or another Indexed space. ### getHiVal ```java int com.datalogics.PDFL.IndexedColorSpace.getHiVal() ``` **Returns:** `int` an integer that specifies the maximum valid index value. In other words, the color table is to be indexed by integers in the range 0 to hival. hival can be no greater than 255. ### getLookup ```java java.util.List< Integer > com.datalogics.PDFL.IndexedColorSpace.getLookup() ``` **Returns:** `java.util.List< Integer >` A list of integers in the range 0..255. There must be m * (hival + 1) values, where m is the number of components of the base color space. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # Ink Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink ```java class Ink ``` **Namespace:** `com::datalogics::PDFL` ## Description The ink object represents the color in the color space, CYMK or RGB. **Referenced by:** [`InkVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkVector.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Ink.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Ink.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Ink.finalize() ``` *protected* **Returns:** `void` ### getAlias ```java String com.datalogics.PDFL.Ink.getAlias() ``` **Returns:** `String` An alternate name (alias) for this colorant. ### getAngle ```java double com.datalogics.PDFL.Ink.getAngle() ``` **Returns:** `double` The halftone screen angle for this ink, in degrees. ### getBlack ```java double com.datalogics.PDFL.Ink.getBlack() ``` **Returns:** `double` The black component of the CMYK color swatch. ### getBlue ```java int com.datalogics.PDFL.Ink.getBlue() ``` **Returns:** `int` The blue component of the RGB color swatch for on-screen display. ### getColorantName ```java String com.datalogics.PDFL.Ink.getColorantName() ``` **Returns:** `String` The name of the colorant from the Separation or DeviceN color space, or the process color name. ### getColorantNameArray ```java byte[] com.datalogics.PDFL.Ink.getColorantNameArray() ``` **Returns:** `byte[]` The name of the colorant as a byte array. The name of the colorant from the Separation or DeviceN color space, or the process color name. This property is suitable for retrieving the name when the ColorantName cannot be retrieved as a string. ### getCyan ```java double com.datalogics.PDFL.Ink.getCyan() ``` **Returns:** `double` The cyan component of the CMYK color swatch. ### getDensity ```java double com.datalogics.PDFL.Ink.getDensity() ``` **Returns:** `double` The neutral density of this ink. ### getFrequency ```java double com.datalogics.PDFL.Ink.getFrequency() ``` **Returns:** `double` The halftone screen frequency for this ink, in lines per inch. ### getGreen ```java int com.datalogics.PDFL.Ink.getGreen() ``` **Returns:** `int` The green component of the RGB color swatch for on-screen display. ### getInkType ```java InkTypes com.datalogics.PDFL.Ink.getInkType() ``` **Returns:** `InkTypes` The ink type of this ink, used for trapping. ### getIsProcessColor ```java boolean com.datalogics.PDFL.Ink.getIsProcessColor() ``` **Returns:** `boolean` Whether this ink represents a process color or a spot color. True if this is a process color, false if this is a spot color. ### getMagenta ```java double com.datalogics.PDFL.Ink.getMagenta() ``` **Returns:** `double` The magenta component of the CMYK color swatch. ### getPreviewOption ```java SeparationPreviewOptions com.datalogics.PDFL.Ink.getPreviewOption() ``` **Returns:** `SeparationPreviewOptions` How the colorant is handled during a separation preview. ### getRed ```java int com.datalogics.PDFL.Ink.getRed() ``` **Returns:** `int` The red component of the RGB color swatch for on-screen display. ### getYellow ```java double com.datalogics.PDFL.Ink.getYellow() ``` **Returns:** `double` The yellow component of the CMYK color swatch. ### setAlias ```java void com.datalogics.PDFL.Ink.setAlias(String theAlias) ``` **Parameters** - `theAlias` (`String`) **Returns:** `void` An alternate name (alias) for this colorant. ### setAngle ```java void com.datalogics.PDFL.Ink.setAngle(double theAngle) ``` **Parameters** - `theAngle` (`double`) **Returns:** `void` The halftone screen angle for this ink, in degrees. ### setColorantName ```java void com.datalogics.PDFL.Ink.setColorantName(String theColorantName) ``` **Parameters** - `theColorantName` (`String`) **Returns:** `void` The name of the colorant from the Separation or DeviceN color space, or the process color name. ### setDensity ```java void com.datalogics.PDFL.Ink.setDensity(double theDensity) ``` **Parameters** - `theDensity` (`double`) **Returns:** `void` The neutral density of this ink. ### setFrequency ```java void com.datalogics.PDFL.Ink.setFrequency(double theFrequency) ``` **Parameters** - `theFrequency` (`double`) **Returns:** `void` The halftone screen frequency for this ink, in lines per inch. ### setInkType ```java void com.datalogics.PDFL.Ink.setInkType(InkTypes theInkType) ``` **Parameters** - `theInkType` (`InkTypes`) **Returns:** `void` The ink type of this ink, used for trapping. ### setIsProcessColor ```java void com.datalogics.PDFL.Ink.setIsProcessColor(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` Whether this ink represents a process color or a spot color. True if this is a process color, false if this is a spot color. ### setPreviewOption ```java void com.datalogics.PDFL.Ink.setPreviewOption(SeparationPreviewOptions thePreviewOption) ``` **Parameters** - `thePreviewOption` (`SeparationPreviewOptions`) **Returns:** `void` How the colorant is handled during a separation preview. --- # InkAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation ```java class InkAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A type of annotation allowing a user to edit a PDF document. Ink annotations in a PDF file allow a user to work with a PDF document displayed on a screen just as if it were on paper, such as scribbling notes in the margins, or circling or underlining text. These types of annotations require a stylus or pen used on a tablet device. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### InkAnnotation ```java com.datalogics.PDFL.InkAnnotation.InkAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the InkAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. Create a new InkAnnotation at the end of a page's annotation array. To create a InkAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### InkAnnotation ```java com.datalogics.PDFL.InkAnnotation.InkAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new InkAnnotation at a specific index in the page's annotation array. ## Methods ### addScribble ```java void com.datalogics.PDFL.InkAnnotation.addScribble(java.util.List< Point > scribble) ``` **Parameters** - `scribble` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The array of points, in order, that define the vertices of the scribble in user space coordinates, to add to the ink annotation. **Returns:** `void` The vertices that define one of many scribbles in an ink annotation, in user space. ### delete ```java synchronized void com.datalogics.PDFL.InkAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.InkAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.InkAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.InkAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form representing the annotation's appearance, or NULL if the graphic state could not be configured (for example, an invalid dash array). Generate a new appearance stream with the current annotation properties. Builds the visual representation of the ink annotation from its scribbles, stroke color, and border style. The annotation's Rect is updated to match the bounding box of the content. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.InkAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.InkAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.InkAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.InkAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getNumScribbles ```java int com.datalogics.PDFL.InkAnnotation.getNumScribbles() ``` **Returns:** `int` The number of scribbles in the ink annotation. The number of scribbles in the ink annotation. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getScribble ```java java.util.List< Point > com.datalogics.PDFL.InkAnnotation.getScribble(int index) ``` **Parameters** - `index` (`int`): The index of the scribble to get. **Returns:** [`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) An array of points, in order, that define the indexed scribble of the ink annotation, in user space coordinates. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### removeScribble ```java void com.datalogics.PDFL.InkAnnotation.removeScribble(int index) ``` **Parameters** - `index` (`int`): The array of points, in order, that define the vertices of the scribble in user space coordinates, to remove from the ink annotation. **Returns:** `void` The vertices that define one of many scribbles in an ink annotation, in user space. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.InkAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.InkAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.InkAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.InkAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # InkVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkVector ```java class InkVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md) ## Constructors ### InkVector ```java com.datalogics.PDFL.InkVector.InkVector() ``` *constructor* ### InkVector ```java com.datalogics.PDFL.InkVector.InkVector(Iterable< Ink > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Ink >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)) ## Methods ### add ```java void com.datalogics.PDFL.InkVector.add(Ink x) ``` **Parameters** - `x` ([`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.InkVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.InkVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.InkVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.InkVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.InkVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Ink com.datalogics.PDFL.InkVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md) ### isEmpty ```java boolean com.datalogics.PDFL.InkVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.InkVector.set(int i, Ink val) ``` **Parameters** - `i` (`int`) - `val` ([`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.InkVector.size() ``` **Returns:** `long` --- # IntegerVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IntegerVector ```java class IntegerVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### IntegerVector ```java com.datalogics.PDFL.IntegerVector.IntegerVector() ``` *constructor* ### IntegerVector ```java com.datalogics.PDFL.IntegerVector.IntegerVector(Iterable< Integer > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Integer >`) ### IntegerVector ```java com.datalogics.PDFL.IntegerVector.IntegerVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.IntegerVector.add(int x) ``` **Parameters** - `x` (`int`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.IntegerVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.IntegerVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.IntegerVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.IntegerVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.IntegerVector.finalize() ``` *protected* **Returns:** `void` ### get ```java int com.datalogics.PDFL.IntegerVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `int` ### isEmpty ```java boolean com.datalogics.PDFL.IntegerVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.IntegerVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.IntegerVector.set(int i, int val) ``` **Parameters** - `i` (`int`) - `val` (`int`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.IntegerVector.size() ``` **Returns:** `long` --- # JavaStreamFile Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile ```java class JavaStreamFile ``` **Namespace:** `com::datalogics::PDFL` **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileAttachment.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFOptimizer.md) ## Constructors ### JavaStreamFile ```java com.datalogics.PDFL.JavaStreamFile.JavaStreamFile() ``` *constructor* ## Methods ### delete ```java synchronized void com.datalogics.PDFL.JavaStreamFile.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.JavaStreamFile.delete() ``` **Returns:** `synchronized void` ### endOfFile ```java long com.datalogics.PDFL.JavaStreamFile.endOfFile() ``` **Returns:** `long` ### finalize ```java void com.datalogics.PDFL.JavaStreamFile.finalize() ``` *protected* **Returns:** `void` ### position ```java long com.datalogics.PDFL.JavaStreamFile.position() ``` **Returns:** `long` ### read ```java byte[] com.datalogics.PDFL.JavaStreamFile.read(long count) ``` **Parameters** - `count` (`long`) **Returns:** `byte[]` ### seek ```java void com.datalogics.PDFL.JavaStreamFile.seek(long pos) ``` **Parameters** - `pos` (`long`) **Returns:** `void` ### write ```java void com.datalogics.PDFL.JavaStreamFile.write(byte[] arg0) ``` **Parameters** - `arg0` (`byte[]`) **Returns:** `void` --- # LabColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LabColorSpace ```java class LabColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description A Lab color space is a CIE-based ABC color space with two transformation stages. In this type of space, A, B, and C represent the L*, a*, and b* components of a CIE 1976 L*a*b* space. The range of the first (L*) component is always 0 to 100; the ranges of the second and third (a* and b*) components are defined by the Range. **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### LabColorSpace ```java com.datalogics.PDFL.LabColorSpace.LabColorSpace(java.util.List< Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. Create a Lab color space. The blackPoint defaults to [0.0, 0.0, 0.0]. The range defaults to [-100 100 -100 100] ### LabColorSpace ```java com.datalogics.PDFL.LabColorSpace.LabColorSpace(java.util.List< Double > whitePoint, java.util.List< Double > blackPoint, java.util.List< Double > range) ``` *constructor* **Parameters** - `whitePoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. - `blackPoint` (`java.util.List< Double >`): An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. - `range` (`java.util.List< Double >`): An array of four numbers [ amin amax bmin bmax ] specifying the range of valid values for the a* and b* (B and C) components of the color space. Create a Lab color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LabColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LabColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.LabColorSpace.finalize() ``` *protected* **Returns:** `void` ### getBlackPoint ```java java.util.List< Double > com.datalogics.PDFL.LabColorSpace.getBlackPoint() ``` **Returns:** `java.util.List< Double >` An array of three doubles representing the X, Y, and Z tristimulus values of the black point. The black point tristimulus value for this Lab color space. An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse black point. All three of these numbers must be non-negative. If no black point was specified during construction, the default value [0.0, 0.0, 0.0] is returned. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.LabColorSpace.getRange() ``` **Returns:** `java.util.List< Double >` An array of four doubles specifying the minimum and maximum values for a* and b*. The range of valid values for the a* and b* components. An array of four numbers [ amin amax bmin bmax ] specifying the range of valid values for the a* and b* (B and C) components of the color space. If no range was specified during construction, the default value [-100, 100, -100, 100] is returned. ### getWhitePoint ```java java.util.List< Double > com.datalogics.PDFL.LabColorSpace.getWhitePoint() ``` **Returns:** `java.util.List< Double >` An array of three doubles representing the X, Y, and Z tristimulus values of the white point. The white point tristimulus value for this Lab color space. An array of three numbers specifying the tristimulus value, in the CIE 1931 XYZ space, of the diffuse white point. The numbers X and Z must be positive, and Y must be equal to 1.0. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # LanguageSetting Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting ```java class LanguageSetting ``` **Namespace:** `com::datalogics::PDFL` ## Description Specify a language, along with any metadata about that language. **Referenced by:** [`LanguageSettingVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSettingVector.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCRParams.md) ## Constructors ### LanguageSetting ```java com.datalogics.PDFL.LanguageSetting.LanguageSetting(Language language, boolean prohibit) ``` *constructor* **Parameters** - `language` (`Language`): the language to specify - `prohibit` (`boolean`): Instead of loading this language, prohibit the language from being loaded as an adjunct of another language. create a language setting. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LanguageSetting.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LanguageSetting.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LanguageSetting.finalize() ``` *protected* **Returns:** `void` ### getLanguage ```java Language com.datalogics.PDFL.LanguageSetting.getLanguage() ``` **Returns:** `Language` The language being specified. ### getProhibit ```java boolean com.datalogics.PDFL.LanguageSetting.getProhibit() ``` **Returns:** `boolean` Instead of loading this language, prohibit the language from being loaded as an adjunct of another language. ### setLanguage ```java void com.datalogics.PDFL.LanguageSetting.setLanguage(Language value) ``` **Parameters** - `value` (`Language`) **Returns:** `void` The language being specified. ### setProhibit ```java void com.datalogics.PDFL.LanguageSetting.setProhibit(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` Instead of loading this language, prohibit the language from being loaded as an adjunct of another language. --- # LanguageSettingVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSettingVector ```java class LanguageSettingVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`LanguageSetting`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md) ## Constructors ### LanguageSettingVector ```java com.datalogics.PDFL.LanguageSettingVector.LanguageSettingVector() ``` *constructor* ### LanguageSettingVector ```java com.datalogics.PDFL.LanguageSettingVector.LanguageSettingVector(Iterable< LanguageSetting > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< LanguageSetting >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md)) ## Methods ### add ```java void com.datalogics.PDFL.LanguageSettingVector.add(LanguageSetting x) ``` **Parameters** - `x` ([`LanguageSetting`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.LanguageSettingVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.LanguageSettingVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.LanguageSettingVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LanguageSettingVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LanguageSettingVector.finalize() ``` *protected* **Returns:** `void` ### get ```java LanguageSetting com.datalogics.PDFL.LanguageSettingVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`LanguageSetting`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md) ### isEmpty ```java boolean com.datalogics.PDFL.LanguageSettingVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.LanguageSettingVector.set(int i, LanguageSetting val) ``` **Parameters** - `i` (`int`) - `val` ([`LanguageSetting`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.LanguageSettingVector.size() ``` **Returns:** `long` --- # LanguageVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageVector ```java class LanguageVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### LanguageVector ```java com.datalogics.PDFL.LanguageVector.LanguageVector() ``` *constructor* ### LanguageVector ```java com.datalogics.PDFL.LanguageVector.LanguageVector(Iterable< Language > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Language >`) ### LanguageVector ```java com.datalogics.PDFL.LanguageVector.LanguageVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.LanguageVector.add(Language x) ``` **Parameters** - `x` (`Language`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.LanguageVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.LanguageVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.LanguageVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LanguageVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LanguageVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Language com.datalogics.PDFL.LanguageVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `Language` ### isEmpty ```java boolean com.datalogics.PDFL.LanguageVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.LanguageVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.LanguageVector.set(int i, Language val) ``` **Parameters** - `i` (`int`) - `val` (`Language`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.LanguageVector.size() ``` **Returns:** `long` --- # LaunchAction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LaunchAction ```java class LaunchAction : Action ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) ## Description A launch action launches an application or opens or prints a document. **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### LaunchAction ```java com.datalogics.PDFL.LaunchAction.LaunchAction(FileSpecification fileSpec) ``` *constructor* **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md)): A FileSpecification representing the application to be launched or the document to be opened or printed by this action. General constructor. The action's target will be the path referenced in the FileSpecification parameter. If the path is absolute, the target path will also be absolute. If the path is relative, the target path will also be relative. Generally, the FileSpecification should be associated with the same Document that contains the LaunchAction. (Both FileSpecification and LaunchAction objects are associated with a Document at creation time, and the association cannot be changed.) The LaunchAction will be associated with the same Document that the FileSpecification parameter is associated with. If the action's FileSpecification is changed during program execution such that the FileSpecification is associated with a different Document than the LaunchAction, saving the Document that contains the action will create a copy of the FileSpecification in the Document that contains the action. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LaunchAction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LaunchAction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Action.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.LaunchAction.finalize() ``` *protected* **Returns:** `void` ### getFileSpecification ```java FileSpecification com.datalogics.PDFL.LaunchAction.getFileSpecification() ``` **Returns:** [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md) The FileSpecification associated with the LaunchAction. The FileSpecification for this action. Generally, the FileSpecification should be associated with the same Document that contains the LaunchAction. (Both FileSpecification and LaunchAction are associated with a Document at creation time.) ### getNewWindow ```java boolean com.datalogics.PDFL.LaunchAction.getNewWindow() ``` **Returns:** `boolean` true if the destination document is set to open in a new window, false otherwise. Whether the destination document should be opened in a new window. By default, this flag is not present. If the action's FileSpecification is not a PDF, this flag is ignored. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Action.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this Action. Retrieve the PDFObject representation of this object. ### getSubtype ```java String com.datalogics.PDFL.Action.getSubtype() ``` **Returns:** `String` The subtype string for this action, such as "GoTo", "URI", "Launch", or "GoToR". The action's subtype. ### setFileSpecification ```java void com.datalogics.PDFL.LaunchAction.setFileSpecification(FileSpecification fileSpec) ``` **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md)): The FileSpecification to associate with the LaunchAction. **Returns:** `void` Set the FileSpecification for this action. Generally, the FileSpecification should be associated with the same Document that contains the LaunchAction. (Both FileSpecification and LaunchAction are associated with a Document at creation time.) If the FileSpecification is associated with a different Document than the LaunchAction, saving the Document that contains the action will create a copy of the FileSpecification in that Document. ### setNewWindow ```java void com.datalogics.PDFL.LaunchAction.setNewWindow(boolean newValue) ``` **Parameters** - `newValue` (`boolean`): true to open the destination document in a new window, false otherwise. **Returns:** `void` Set whether the destination document should be opened in a new window. By default, this flag is not present. If the action's FileSpecification is not a PDF, this flag is ignored. ### toString ```java String com.datalogics.PDFL.Action.toString() ``` **Returns:** `String` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # Library Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Library ```java class Library ``` **Namespace:** `com::datalogics::PDFL` ## Description Used to create a new instance of a library object or change properties. A Library object can be used to create a new instance of a library or change the properties of an existing library. **Uses types:** [`LogParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LogParams.md) ## Constructors ### Library ```java com.datalogics.PDFL.Library.Library() ``` *constructor* Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(java.util.EnumSet< LibraryFlags > flags) ``` *constructor* **Parameters** - `flags` (`java.util.EnumSet< LibraryFlags >`): PDF Library initialization flags, optional Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(java.util.List< String > fontPaths) ``` *constructor* **Parameters** - `fontPaths` (`java.util.List< String >`): list of directories to search for fonts Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(java.util.List< String > fontPaths, java.util.EnumSet< LibraryFlags > flags) ``` *constructor* **Parameters** - `fontPaths` (`java.util.List< String >`): list of directories to search for fonts - `flags` (`java.util.EnumSet< LibraryFlags >`): PDF Library initialization flags, optional Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(java.util.List< String > fontPaths, String CMapPath, String UnicodePath, java.util.EnumSet< LibraryFlags > flags) ``` *constructor* **Parameters** - `fontPaths` (`java.util.List< String >`): list of directories to search for fonts - `CMapPath` (`String`): directory to search for CMap files (pass an empty string to use the default) - `UnicodePath` (`String`): directory to search for Unicode mapping files (pass an empty string to use the default) - `flags` (`java.util.EnumSet< LibraryFlags >`): PDF Library initialization flags, optional Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(java.util.List< String > fontPaths, String CMapPath, String UnicodePath, String ColorProfilePath, java.util.EnumSet< LibraryFlags > flags) ``` *constructor* **Parameters** - `fontPaths` (`java.util.List< String >`): list of directories to search for fonts - `CMapPath` (`String`): directory to search for CMap files (pass an empty string to use the default) - `UnicodePath` (`String`): directory to search for Unicode mapping files (pass an empty string to use the default) - `ColorProfilePath` (`String`): directory to search for Color Profile files (pass an empty string to use the default) - `flags` (`java.util.EnumSet< LibraryFlags >`): PDF Library initialization flags, optional Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(String[] fontPaths) ``` *constructor* **Parameters** - `fontPaths` (`String[]`): list of directories to search for fonts Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ### Library ```java com.datalogics.PDFL.Library.Library(String[] fontPaths, java.util.EnumSet< LibraryFlags > flags) ``` *constructor* **Parameters** - `fontPaths` (`String[]`): list of directories to search for fonts - `flags` (`java.util.EnumSet< LibraryFlags >`): PDF Library initialization flags, optional Initialize the PDF Library on this thread. Note that each thread needs its own instance of the library. Multiple Library objects can be created on a thread, but they all refer to the same underlying instantiation of the library. ## Methods ### changeWorkingSpaceCMYK ```java void com.datalogics.PDFL.Library.changeWorkingSpaceCMYK(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` (`ColorProfile`): The Color Profile to be used. **Returns:** `void` Sets the current CMYK working space to the specified ICC profile. ### changeWorkingSpaceCMYK ```java void com.datalogics.PDFL.Library.changeWorkingSpaceCMYK(String profilePath) ``` **Parameters** - `profilePath` (`String`): The path on disk of the Color Profile to be used. **Returns:** `void` Sets the current CMYK working space to the specified ICC profile. ### changeWorkingSpaceGray ```java void com.datalogics.PDFL.Library.changeWorkingSpaceGray(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` (`ColorProfile`): The Color Profile to be used. **Returns:** `void` Sets the current Gray working space to the specified ICC profile. ### changeWorkingSpaceGray ```java void com.datalogics.PDFL.Library.changeWorkingSpaceGray(String profilePath) ``` **Parameters** - `profilePath` (`String`): The path on disk of the Color Profile to be used. **Returns:** `void` Sets the current Gray working space to the specified ICC profile. ### changeWorkingSpaceRGB ```java void com.datalogics.PDFL.Library.changeWorkingSpaceRGB(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` (`ColorProfile`): The Color Profile to be used. **Returns:** `void` Sets the current RGB working space to the specified ICC profile. ### changeWorkingSpaceRGB ```java void com.datalogics.PDFL.Library.changeWorkingSpaceRGB(String profilePath) ``` **Parameters** - `profilePath` (`String`): The path on disk of the Color Profile to be used. **Returns:** `void` Sets the current RGB working space to the specified ICC profile. ### delete ```java synchronized void com.datalogics.PDFL.Library.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Library.delete() ``` **Returns:** `synchronized void` Destroy this handle to the PDF Library. Also terminate the library if this is the last Library object on this thread. ### enableLicensedBehavior ```java static boolean com.datalogics.PDFL.Library.enableLicensedBehavior(String arg0) ``` *static* **Parameters** - `arg0` (`String`): A base64-encoded string containing the encrypted license key. **Returns:** `boolean` true if the licensed behavior has been successfully enabled. This is used to turn on licensed behaviors in DLE. The function parameter is a base64-encoded string containing the encrypted licensed key. ### finalize ```java void com.datalogics.PDFL.Library.finalize() ``` *protected* **Returns:** `void` Destroy this handle to the PDF Library. Also terminate the library if this is the last Library object on this thread. ### getAPDFLVersion ```java static String com.datalogics.PDFL.Library.getAPDFLVersion() ``` *static* **Returns:** `String` The version of the C/C++ SDK, as reported in legacy versions of APDFL. E.g., 18.0.5P1a ### getAllowOpeningXFA ```java boolean com.datalogics.PDFL.Library.getAllowOpeningXFA() ``` **Returns:** `boolean` Allow opening PDF files that contain XFA forms. By default, an exception will be raised when attempting to open this type of document. ### getAllowRelaxedSyntax ```java boolean com.datalogics.PDFL.Library.getAllowRelaxedSyntax() ``` **Returns:** `boolean` true if these minor errors are ignored. Check to see if minor parsing errors are ignored while opening PDF files. ### getDLEVersion ```java static String com.datalogics.PDFL.Library.getDLEVersion() ``` *static* **Returns:** `String` The version of the .NET/Java SDK, as reported in legacy versions of APDFL. E.g., 18.0.5.0 ### getDefaultTempPath ```java String com.datalogics.PDFL.Library.getDefaultTempPath() ``` **Returns:** `String` string with current default directory for temporary files, or null if none was set by the user. Gets the default temporary directory. ### getDefaultTempStore ```java TempStoreType com.datalogics.PDFL.Library.getDefaultTempStore() ``` **Returns:** `TempStoreType` current temporary storage type. Gets default temporary storage.PDFL uses Disk storage type by default. ### getDefaultTempStoreMemLimit ```java int com.datalogics.PDFL.Library.getDefaultTempStoreMemLimit() ``` **Returns:** `int` current memory limit. It returns zero value for cases when unlimited memory amount is used or when current storage type is Disk. Call DefaultTempStore to get the exact meaning of the zero value Gets current memory limit. ### getFormsExtensionVersion ```java static String com.datalogics.PDFL.Library.getFormsExtensionVersion() ``` *static* **Returns:** `String` The Forms Extension Version Forms Extension Version ### getInstallLocation ```java static String com.datalogics.PDFL.Library.getInstallLocation() ``` *static* **Returns:** `String` the installation location as a UTF-8 path. The installation location. This is inferred from the location of the native code and returned as a UTF-8 path. ### getLicenseKey ```java static String com.datalogics.PDFL.Library.getLicenseKey() ``` *static* **Returns:** `String` A string containing a license key, as an alternative to using a license file. Only applicable to License-Managed versions. ### getLogParams ```java LogParams com.datalogics.PDFL.Library.getLogParams() ``` **Returns:** [`LogParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LogParams.md) The LogParams object which contains currently used logging settings. Gets LogParams object with preferences for logging. ### getResourceDirectory ```java static String com.datalogics.PDFL.Library.getResourceDirectory() ``` *static* **Returns:** `String` the resource directory as a UTF-8 path The resource directory. ### initialized ```java static boolean com.datalogics.PDFL.Library.initialized() ``` *static* **Returns:** `boolean` true if the PDF Library is initialized on this thread Check to see if the library is initialized ### isFormsExtensionAvailable ```java boolean com.datalogics.PDFL.Library.isFormsExtensionAvailable() ``` **Returns:** `boolean` true if the Forms Extension dependencies are present, and false if they are not. Validate the Forms Extension dependencies are present. Indicates if all of the necessary dependencies are present for the Forms extension. ### setAllowOpeningXFA ```java void com.datalogics.PDFL.Library.setAllowOpeningXFA(boolean xfaSetting) ``` **Parameters** - `xfaSetting` (`boolean`) **Returns:** `void` Allow opening PDF files that contain XFA forms. By default, an exception will be raised when attempting to open this type of document. ### setAllowRelaxedSyntax ```java void com.datalogics.PDFL.Library.setAllowRelaxedSyntax(boolean allowRelaxedSyntax) ``` **Parameters** - `allowRelaxedSyntax` (`boolean`) **Returns:** `void` Ignore minor parsing errors while opening PDF files.By default, exceptions are raised when such errors occur. ### setDefaultTempPath ```java void com.datalogics.PDFL.Library.setDefaultTempPath(String defTempPath) ``` **Parameters** - `defTempPath` (`String`) **Returns:** `void` Sets the default temporary path to the directory indicated by the specified path name. Pass null as the path to use the system default temporary file directory. ### setDefaultTempStore ```java void com.datalogics.PDFL.Library.setDefaultTempStore(TempStoreType tempStore) ``` **Parameters** - `tempStore` (`TempStoreType`): temporary storage type. **Returns:** `void` Allows to switch between different types of temporary storages. Use Disk type to turn off in-memory file system usage. Use Memory type to turn on in-memory file system with unlimited RAM amount by default. ### setDefaultTempStoreMemLimit ```java void com.datalogics.PDFL.Library.setDefaultTempStoreMemLimit(int memoryLimit) ``` **Parameters** - `memoryLimit` (`int`) **Returns:** `void` Sets memory limit for Memory storage type. Accepts any positive integer to set threshold for using RAM in kilobytes. When occupied memory exceeds specified threshold, temporary files creation will be redirected to physical disk. Throws an exception if current storage type is Disk. Throws an exception if input value less than 0; ### setLicenseKey ```java static void com.datalogics.PDFL.Library.setLicenseKey(String licenses) ``` *static* **Parameters** - `licenses` (`String`) **Returns:** `void` A string containing a license, as an alternative to using a license file. Only applicable to License-Managed versions. ### setLogParams ```java void com.datalogics.PDFL.Library.setLogParams(LogParams logParams) ``` **Parameters** - `logParams` ([`LogParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LogParams.md)): the new parameters for logging. **Returns:** `void` Sets LogParams object with preferences for logging. ### terminate ```java void com.datalogics.PDFL.Library.terminate() ``` **Returns:** `void` Terminate the library with regard to this handle. (Note that if there are other Library objects in this thread, they may keep the library initialized. --- # LibraryException Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LibraryException ```java class LibraryException : RuntimeException ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** `RuntimeException` ## Description Exception thrown when there is an error processing a Library call. ## Constructors ### LibraryException ```java com.datalogics.PDFL.LibraryException.LibraryException(String message, int errorCode, String objectName, String additionalInfo) ``` *constructor* **Parameters** - `message` (`String`): The detail message. - `errorCode` (`int`): The PDF Library error code. - `objectName` (`String`): The name of the object (i.e. a filename for a file) that caused the error. - `additionalInfo` (`String`): A string containing additional information about the object. Exception thrown when there is an error processing a Library call. ## Methods ### getAdditionalInfo ```java String com.datalogics.PDFL.LibraryException.getAdditionalInfo() ``` **Returns:** `String` A string containing additional information about the exception. Retrieve additional information about the exception. ### getErrorCode ```java int com.datalogics.PDFL.LibraryException.getErrorCode() ``` **Returns:** `int` The error code for this exception. Retrieve the internal PDF Library error code. ### getObjectName ```java String com.datalogics.PDFL.LibraryException.getObjectName() ``` **Returns:** `String` The name of the object. Retrieve the name of the object that caused the exception. --- # LineAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation ```java class LineAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description The line annotation displays a single straight line on a PDF page. When opened it displays a pop-up window containing the text of an associated note, placed at specific x/y coordinates for starting and ending points of the line. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### LineAnnotation ```java com.datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the LineAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The starting coordinate of the line, in user space. - `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The ending coordinate of the line, in user space. Create a new LineAnnotation at the end of a page's annotation array. To create a LineAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### LineAnnotation ```java com.datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The starting coordinate of the line, in user space. - `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The ending coordinate of the line, in user space. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new LineAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LineAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LineAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.LineAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.LineAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form containing the generated appearance, or null if the appearance could not be generated (for example, due to an invalid border style). Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.LineAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.LineAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.LineAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.LineAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getEndPoint ```java Point com.datalogics.PDFL.LineAnnotation.getEndPoint() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The ending coordinate of the line, in user space. If the line has leader lines, the end point represents the ending point of the leader line rather than the line itself. ### getEndPointEndingStyle ```java LineEndingStyle com.datalogics.PDFL.LineAnnotation.getEndPointEndingStyle() ``` **Returns:** `LineEndingStyle` The ending style applied to the end point of the line (for example, an arrowhead, circle, or square). ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getStartPoint ```java Point com.datalogics.PDFL.LineAnnotation.getStartPoint() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The starting coordinate of the line, in user space. If the line has leader lines, the start point represents the starting point of the leader line rather than the line itself. ### getStartPointEndingStyle ```java LineEndingStyle com.datalogics.PDFL.LineAnnotation.getStartPointEndingStyle() ``` **Returns:** `LineEndingStyle` The ending style applied to the start point of the line (for example, an arrowhead, circle, or square). ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.LineAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.LineAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.LineAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.LineAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setEndPoint ```java void com.datalogics.PDFL.LineAnnotation.setEndPoint(Point endPoint) ``` **Parameters** - `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The ending coordinate of the line, in user space. If the line has leader lines, the end point represents the ending point of the leader line rather than the line itself. ### setEndPointEndingStyle ```java void com.datalogics.PDFL.LineAnnotation.setEndPointEndingStyle(LineEndingStyle style) ``` **Parameters** - `style` (`LineEndingStyle`) **Returns:** `void` The ending style applied to the end point of the line (for example, an arrowhead, circle, or square). ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setStartPoint ```java void com.datalogics.PDFL.LineAnnotation.setStartPoint(Point startPoint) ``` **Parameters** - `startPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The starting coordinate of the line, in user space. If the line has leader lines, the start point represents the starting point of the leader line rather than the line itself. ### setStartPointEndingStyle ```java void com.datalogics.PDFL.LineAnnotation.setStartPointEndingStyle(LineEndingStyle style) ``` **Parameters** - `style` (`LineEndingStyle`) **Returns:** `void` The ending style applied to the start point of the line (for example, an arrowhead, circle, or square). ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # LineTo Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineTo ```java class LineTo : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description A lineto operator, which draws a straight line. A lineto operator creates a line path element. It draws a straight line from the current position (MoveTo) to a new position-a new set of (x,y) coordinates: MoveTo{x:0 y:50} LineTo{x:100 y:100} **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### LineTo ```java com.datalogics.PDFL.LineTo.LineTo(double x, double y) ``` *constructor* **Parameters** - `x` (`double`): The horizontal coordinate of the destination point. - `y` (`double`): The vertical coordinate of the destination point. Create a line to a new point specified by coordinates. Append a straight line segment from the current point to the point (x, y). The new current point is the point the line is drawn to. ### LineTo ```java com.datalogics.PDFL.LineTo.LineTo(Point lineToPoint) ``` *constructor* **Parameters** - `lineToPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The destination point for the line segment. Create a line to a new point. Append a straight line segment from the current point to the lineToPoint. The new current point is the point the line is drawn to. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LineTo.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LineTo.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LineTo.finalize() ``` *protected* **Returns:** `void` ### getPoint ```java Point com.datalogics.PDFL.LineTo.getPoint() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The new current point. ### setPoint ```java void com.datalogics.PDFL.LineTo.setPoint(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The new current point. ### toString ```java String com.datalogics.PDFL.LineTo.toString() ``` **Returns:** `String` A string in the format "[ LineTo {x, y} ]". Returns a string representation of this LineTo segment. --- # LinkAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation ```java class LinkAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A link annotation, which features an embedded hyperlink. **Referenced by:** [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### LinkAnnotation ```java com.datalogics.PDFL.LinkAnnotation.LinkAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the LinkAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. Create a new LinkAnnotation at the end of a page's annotation array. To create a LinkAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### LinkAnnotation ```java com.datalogics.PDFL.LinkAnnotation.LinkAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new LinkAnnotation at a specific index in the page's annotation array. ## Methods ### copyTo ```java LinkAnnotation com.datalogics.PDFL.LinkAnnotation.copyTo(Page destination) ``` **Parameters** - `destination` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): the page to copy the annotation to. The page may be in the same document as the source annotation or in a different document. **Returns:** [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md) the annotation created on the destination page. Copy a LinkAnnotation to the specified page. The annotation will be centered on the page. To center the annotation at a specific point, use the version of this method that accepts a Point. This creates a copy of the original LinkAnnotation and puts the copy in the destination page's annotation dictionary. Structural content information associated with the source annotation will not be present in the copy. An exception will be thrown if the annotation cannot be copied to the specified page. Note: If copying LinkAnnotations between pages in different documents, the source annotation may have a ViewDestination that's invalid in the destiantion document or an Action referring to a ViewDestination that's invalid in the destination document. In these cases, an exception will be thrown. ### copyTo ```java LinkAnnotation com.datalogics.PDFL.LinkAnnotation.copyTo(Page destination, Point centerPoint) ``` **Parameters** - `destination` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): the page to copy the annotation to. The page may be in the same document as the source annotation or in a different document. - `centerPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the point to center the annotation on. **Returns:** [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md) the annotation created on the destination page. Copy a LinkAnnotation to the specified page and center the annotation on the specified point. This creates a copy of the original LinkAnnotation and puts the copy in the destination page's annotation dictionary. Structural content information associated with the source annotation will not be present in the copy. An exception will be thrown if the annotation cannot be copied to the specified page. Note: If copying LinkAnnotations between pages in different documents, the source annotation may have a ViewDestination that's invalid in the destiantion document or an Action referring to a ViewDestination that's invalid in the destination document. In these cases, an exception will be thrown. ### delete ```java synchronized void com.datalogics.PDFL.LinkAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LinkAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.LinkAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.LinkAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form containing the generated appearance, or null if the appearance could not be generated (for example, due to an invalid border style). Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAction ```java Action com.datalogics.PDFL.LinkAnnotation.getAction() ``` **Returns:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) The Action object for this link. Note that setting the Action will wipe out the Link's Destination member a link annotation cannot have both members. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.LinkAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.LinkAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.LinkAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.LinkAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getDestination ```java ViewDestination com.datalogics.PDFL.LinkAnnotation.getDestination() ``` **Returns:** [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) The Destination for this link. Note that setting the Destination will wipe out the Link's Action member a link annotation cannot have both members. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getHighlight ```java HighlightStyle com.datalogics.PDFL.LinkAnnotation.getHighlight() ``` **Returns:** `HighlightStyle` The Highlighstyle for this link. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAction ```java void com.datalogics.PDFL.LinkAnnotation.setAction(Action newaction) ``` **Parameters** - `newaction` ([`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md)) **Returns:** `void` The Action object for this link. Note that setting the Action will wipe out the Link's Destination member a link annotation cannot have both members. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.LinkAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.LinkAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.LinkAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.LinkAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setDestination ```java void com.datalogics.PDFL.LinkAnnotation.setDestination(ViewDestination newdest) ``` **Parameters** - `newdest` ([`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md)) **Returns:** `void` The Destination for this link. Note that setting the Destination will wipe out the Link's Action member a link annotation cannot have both members. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setHighlight ```java void com.datalogics.PDFL.LinkAnnotation.setHighlight(HighlightStyle style) ``` **Parameters** - `style` (`HighlightStyle`) **Returns:** `void` The Highlighstyle for this link. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # LogParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LogParams ```java class LogParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Defines the parameters for writing error messages to a log file. The messages include the date and time, the source of the error, and the error type: debug, info, warning, error, or fatal. This class also defines the log file name and path. **Referenced by:** [`Library`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Library.md) ## Constructors ### LogParams ```java com.datalogics.PDFL.LogParams.LogParams() ``` *constructor* LogParams constructor which allows to create LogParams instance. The LogParams object contains all settings required for logging. The log output, log file name and log string format can be configured with it. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.LogParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.LogParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LogParams.finalize() ``` *protected* **Returns:** `void` ### getLogFileName ```java String com.datalogics.PDFL.LogParams.getLogFileName() ``` **Returns:** `String` Path to the file to write the log to. Gets the path to the file to write the log to. ### getLogFormat ```java String com.datalogics.PDFL.LogParams.getLogFormat() ``` **Returns:** `String` string Log record format. Gets log format string.The string which allows to write the log in a custom format. NOTE: PDFL supports the following markers to form output string: "%d" - current date (mmddyyyy). Example: 07292013 "%t" - current time (hhmmss). Example: 121311 "%s" - error source. Example: "DLFramework" "%e" - error type. It can be debug, info, warning, error, fatal. The value which will be output within this marker depends on severity value. It always outputs "error" string. "%m" - error message. Example: "Exception: InExistent.pdf: This file cannot be found. Error number: 1074397201" "%T" - full date. It contains current date, current time and the timezone (yyyy-mm-ddThh:mm:ss+/-hh:mm). Example: 2013-07-29T12:13:11+03:00 By default "%T | %s | %e | %m" string format is used. ### getLogOutputFlags ```java java.util.EnumSet< LogOutputFlags > com.datalogics.PDFL.LogParams.getLogOutputFlags() ``` **Returns:** `java.util.EnumSet< LogOutputFlags >` currently used flags. Gets LogOutputFlags. Supported types of logging are: console, file and Event Log (for Windows only). The outputs can be mixed by ORing corresponding flags. It is also possible to suppress any logging using LogOutputFlags.None. ### setLogFileName ```java void com.datalogics.PDFL.LogParams.setLogFileName(String logFileName) ``` **Parameters** - `logFileName` (`String`): Path to the file to write the log to. **Returns:** `void` Sets file name to write the log to. NOTE: Ignored if LogOuputFlag.File flag is not set. ### setLogFormat ```java void com.datalogics.PDFL.LogParams.setLogFormat(String logFormat) ``` **Parameters** - `logFormat` (`String`): string Log record format. **Returns:** `void` Sets log format string.The string which allows to write the log in a custom format. NOTE: PDFL supports the following markers to form output string: "%d" - current date (mmddyyyy). Example: 07292013 "%t" - current time (hhmmss). Example: 121311 "%s" - error source. Example: "DLFramework" "%e" - error type. It can be debug, info, warning, error, fatal. The value which will be output within this marker depends on severity value. Currently it always outputs "error" string. "%m" - error message. Example: "Exception: InExistent.pdf: This file cannot be found. Error number: 1074397201" "%T" - full date. It contains current date, current time and the timezone (yyyy-mm-ddThh:mm:ss+/-hh:mm). Example: 2013-07-29T12:13:11+03:00 By default "%T | %s | %e | %m" string format is used. ### setLogOutputFlags ```java void com.datalogics.PDFL.LogParams.setLogOutputFlags(java.util.EnumSet< LogOutputFlags > logOutputFlags) ``` **Parameters** - `logOutputFlags` (`java.util.EnumSet< LogOutputFlags >`): the flags containing outputs to write the log to. **Returns:** `void` Sets LogOutputFlags.Allows to specify where to put DLE's log. Supported types of logging are: console, file and Event Log (for Windows only). The outputs can be mixed by ORing corresponding flags. It is also possible to suppress any logging using LogOutputFlags.None. --- # LongVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LongVector ```java class LongVector ``` **Namespace:** `com::datalogics::PDFL` ## Constructors ### LongVector ```java com.datalogics.PDFL.LongVector.LongVector() ``` *constructor* ### LongVector ```java com.datalogics.PDFL.LongVector.LongVector(Iterable< Long > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< Long >`) ### LongVector ```java com.datalogics.PDFL.LongVector.LongVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.LongVector.add(long x) ``` **Parameters** - `x` (`long`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.LongVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.LongVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.LongVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.LongVector.finalize() ``` *protected* **Returns:** `void` ### get ```java long com.datalogics.PDFL.LongVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `long` ### isEmpty ```java boolean com.datalogics.PDFL.LongVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.LongVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.LongVector.set(int i, long val) ``` **Parameters** - `i` (`int`) - `val` (`long`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.LongVector.size() ``` **Returns:** `long` --- # Matrix Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix ```java class Matrix ``` **Namespace:** `com::datalogics::PDFL` ## Description A transformation matrix in a PDF file is specified by six numbers. The matrix is usually in the form of an array containing the six elements [a b c d h v]. A translation is specified as [ 1 0 0 1 tx ty], where tx and ty are the distance to translate from the origin of the coordinate system in the horizontal and vertical dimension, respectively. A scaling is obtained by [sx 0 0 sy 0 0]. This scales the coordinates so that 1 unit in the horizontal and vertical dimension of the new coordinate system is the same size as sx and sy units, respectively, as in the previous coordinate system. A rotation is produced by [ cos T sin T -sin T cos T 0 0 ], which has the effect of rotating the coordinate system axes by an angle T (degrees) counterclockwise. This material indicates that the matrix specifying a transformation is premultiplied with the current transformation matrix, i.e., M' = Mt * M The implementation of the Scale, Rotate, and Translate convenience functions of Matrix reflect the same order of operations, so that they are consistent with the PDF Reference manual. They are also consistent with the scale, rotate, and translate operators in PostScript, from which the coordinate system model in PDF is derived. **Referenced by:** [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) ## Constructors ### Matrix ```java com.datalogics.PDFL.Matrix.Matrix() ``` *constructor* the default constructor creates a transformation matrix to translate the rectangle 1 element (1/72nd of an inch) from the origin. ### Matrix ```java com.datalogics.PDFL.Matrix.Matrix(double na, double nb, double nc, double nd, double nh, double nv) ``` *constructor* **Parameters** - `na` (`double`): The horizontal scaling component (a). - `nb` (`double`): The vertical shearing component (b). - `nc` (`double`): The horizontal shearing component (c). - `nd` (`double`): The vertical scaling component (d). - `nh` (`double`): The horizontal translation component (h). - `nv` (`double`): The vertical translation component (v). Construct a Matrix with the specified component values. ## Methods ### concat ```java Matrix com.datalogics.PDFL.Matrix.concat(Matrix Mt) ``` **Parameters** - `Mt` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The matrix to concatenate (premultiply) onto this matrix. **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) the transformed matrix Concatenate a matrix onto an existing matrix. The product returned is: M' = Mt * M This corresponds to the action of the cm operator. ### delete ```java synchronized void com.datalogics.PDFL.Matrix.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Matrix.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Matrix.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Matrix.finalize() ``` *protected* **Returns:** `void` ### getA ```java double com.datalogics.PDFL.Matrix.getA() ``` **Returns:** `double` The horizontal scaling component of the matrix. ### getB ```java double com.datalogics.PDFL.Matrix.getB() ``` **Returns:** `double` The vertical shearing component of the matrix. ### getC ```java double com.datalogics.PDFL.Matrix.getC() ``` **Returns:** `double` The horizontal shearing component of the matrix. ### getD ```java double com.datalogics.PDFL.Matrix.getD() ``` **Returns:** `double` The vertical scaling component of the matrix. ### getH ```java double com.datalogics.PDFL.Matrix.getH() ``` **Returns:** `double` The horizontal translation component of the matrix. ### getV ```java double com.datalogics.PDFL.Matrix.getV() ``` **Returns:** `double` The vertical translation component of the matrix. ### invert ```java Matrix com.datalogics.PDFL.Matrix.invert() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The inverted matrix. Invert the Matrix object and return a new Matrix object. ### multiply ```java static Matrix com.datalogics.PDFL.Matrix.multiply(Matrix m1, Matrix m2) ``` *static* **Parameters** - `m1` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): a matrix - `m2` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): a matrix **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) the matrix product m1 x m2 Multiply two transformation matrices. ### rotate ```java Matrix com.datalogics.PDFL.Matrix.rotate(double T) ``` **Parameters** - `T` (`double`): The rotation, counterclockwise **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) the result [cos T sin T -sin T 0 0] * M Rotate a matrix by T degrees counterclockwise units. Rotation is done by creating the matrix [ cos T sin T -sin T cos T 0 0 ], and calling the Concat function with that matrix. ### scale ```java Matrix com.datalogics.PDFL.Matrix.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): X scaling factor - `sy` (`double`): Y scaling factor **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) the result [sx 0 0 sy 0 0] * M Scale a matrix by (sx,sy) units. Scaling is done by creating the matrix [sx 0 0 sy 0 0], and calling the Concat function with that matrix. ### setA ```java void com.datalogics.PDFL.Matrix.setA(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The horizontal scaling component of the matrix. ### setB ```java void com.datalogics.PDFL.Matrix.setB(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The vertical shearing component of the matrix. ### setC ```java void com.datalogics.PDFL.Matrix.setC(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The horizontal shearing component of the matrix. ### setD ```java void com.datalogics.PDFL.Matrix.setD(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The vertical scaling component of the matrix. ### setH ```java void com.datalogics.PDFL.Matrix.setH(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The horizontal translation component of the matrix. ### setV ```java void com.datalogics.PDFL.Matrix.setV(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The vertical translation component of the matrix. ### toString ```java String com.datalogics.PDFL.Matrix.toString() ``` **Returns:** `String` A string describing this Matrix and its component values. Returns a string representation of this Matrix. The returned string contains all six matrix components (a, b, c, d, h, v) in a human-readable format. ### translate ```java Matrix com.datalogics.PDFL.Matrix.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): X translation distance - `ty` (`double`): Y translation distance **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) the result [1 0 0 1 tx ty] * M Translate a matrix by (tx,ty) units. Translation is done by creating the matrix [ 1 0 0 1 tx ty ], and calling the Concat function with that matrix. --- # MoveTo Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/MoveTo ```java class MoveTo : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description An operator that creates a path by moving to a new current position. A LineTo operator creates an addition to a path element by moving to the (x,y) coordinates specified in the MoveTo statement. The MoveTo coordinates serve as the new current position, and from here a new path element can start. For example, the MoveTo coordinates can define the starting position for a LineTo operator. The LineTo operator draws a straight line from the current position (MoveTo) to a new position, the set of (x,y) coordinates defined with the LineTo operator: MoveTo{x:0 y:50} LineTo{x:100 y:100} **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### MoveTo ```java com.datalogics.PDFL.MoveTo.MoveTo(double x, double y) ``` *constructor* **Parameters** - `x` (`double`): The horizontal coordinate of the new current point. - `y` (`double`): The vertical coordinate of the new current point. Move to a new current point specified by coordinates. Begin a new subpath by moving the current point to coordinates x, y, omitting any connecting line segment. If the previous path segment in the current path was also a MoveTo, the new m overrides it; no vestige of the previous MoveTo operation remains in the path. ### MoveTo ```java com.datalogics.PDFL.MoveTo.MoveTo(Point newCurrentPoint) ``` *constructor* **Parameters** - `newCurrentPoint` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The new current point to move to. Move to a new current point. Begin a new subpath by moving the current point to a new point, omitting any connecting line segment. If the previous path segment in the current path was also a MoveTo, the new m overrides it; no vestige of the previous MoveTo operation remains in the path. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.MoveTo.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.MoveTo.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.MoveTo.finalize() ``` *protected* **Returns:** `void` ### getPoint ```java Point com.datalogics.PDFL.MoveTo.getPoint() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The new current point. ### setPoint ```java void com.datalogics.PDFL.MoveTo.setPoint(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The new current point. ### toString ```java String com.datalogics.PDFL.MoveTo.toString() ``` **Returns:** `String` A string in the format "[ MoveTo {x, y} ]". Returns a string representation of this MoveTo segment. --- # NamedColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace ```java class NamedColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Class used to define the color space in use. **Referenced by:** [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.NamedColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.NamedColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.NamedColorSpace.finalize() ``` *protected* **Returns:** `void` ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### makeDeviceRGBA ```java static NamedColorSpace com.datalogics.PDFL.NamedColorSpace.makeDeviceRGBA() ``` *static* **Returns:** [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md) A new NamedColorSpace for DeviceRGBA (4 components: red, green, blue, alpha). Creates a NamedColorSpace representing the DeviceRGBA color space. ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # NamedFunction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedFunction ```java class NamedFunction : Function ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Description Defines a function currently in use. A Function is a process; it takes input values and manipulates them to create output values. **Referenced by:** [`NamedFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedFunction.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedFunction.md) ## Fields ### DEFAULT ```java static final Function com.datalogics.PDFL.Function.DEFAULT ``` *static* The Default named function. ### IDENTITY ```java static final Function com.datalogics.PDFL.Function.IDENTITY ``` *static* The Identity named function, which returns its input values unchanged. ## Methods ### apply ```java java.util.List< Double > com.datalogics.PDFL.NamedFunction.apply(java.util.List< Double > args) ``` **Parameters** - `args` (`java.util.List< Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `java.util.List< Double >` a list of the result values from the function Apply the function to supplied input values. For Identity functions, this returns the same inputs. Not defined for any other kinds of named functions. ### delete ```java synchronized void com.datalogics.PDFL.Function.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.NamedFunction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.NamedFunction.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.NamedFunction.finalize() ``` *protected* **Returns:** `void` ### getDomain ```java java.util.List< Double > com.datalogics.PDFL.NamedFunction.getDomain() ``` **Returns:** `java.util.List< Double >` The domain of the function. 2 * m elements, where m is the number of inputs to the function. Throws a 'not implemented' exception for named functions. ### getNInputs ```java int com.datalogics.PDFL.NamedFunction.getNInputs() ``` **Returns:** `int` The number of inputs to the function.Throws a 'not implemented' exception for named functions. ### getNOutputs ```java int com.datalogics.PDFL.NamedFunction.getNOutputs() ``` **Returns:** `int` The number of outputs from the function.Throws a 'not implemented' exception for named functions. ### getName ```java String com.datalogics.PDFL.NamedFunction.getName() ``` **Returns:** `String` The name of the function. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.NamedFunction.getRange() ``` **Returns:** `java.util.List< Double >` The range of the function. 2 * n elements, where n is the number of outputs from the function. Throws a 'not implemented' exception for named functions. ### setDomain ```java void com.datalogics.PDFL.NamedFunction.setDomain(java.util.List< Double > domain) ``` **Parameters** - `domain` (`java.util.List< Double >`) **Returns:** `void` The domain of the function. 2 * m elements, where m is the number of inputs to the function. Throws a 'not implemented' exception for named functions. ### setRange ```java void com.datalogics.PDFL.NamedFunction.setRange(java.util.List< Double > range) ``` **Parameters** - `range` (`java.util.List< Double >`) **Returns:** `void` The range of the function. 2 * n elements, where n is the number of outputs from the function. Throws a 'not implemented' exception for named functions. ### toString ```java String com.datalogics.PDFL.NamedFunction.toString() ``` **Returns:** `String` The name of this NamedFunction. Convert the function to a displayable string. --- # NameTree Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree ```java class NameTree ``` **Namespace:** `com::datalogics::PDFL` ## Description The name tree is a common data structure in PDF files. A name tree is a type of dictionary that can store many more pairs of matched records than a standard object dictionary. A name tree uses keys that are character strings to map to data objects. The strings can use a standard coding format, such as Unicode, are sorted in order in the data structure, and can be associated with any type of object. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md) ## Constructors ### NameTree ```java com.datalogics.PDFL.NameTree.NameTree(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which to create the NameTree. Creates a new, empty NameTree in the specified Document. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.NameTree.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.NameTree.delete() ``` **Returns:** `synchronized void` ### enumEntries ```java void com.datalogics.PDFL.NameTree.enumEntries(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each indirect object in dP. Enumeration ends when enumProc returns false or all indirect objects have been enumerated. The value parameter returned in enumProc is always null. **Returns:** `void` Enumerates all the entries of this NameTree. This method does not enumerate invalid objects, which include objects that are defined as null, objects that are not defined at all (those having no cross-reference entry), and objects that are on the free list. This re-raises any exception that enumProc raises. ### equals ```java boolean com.datalogics.PDFL.NameTree.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.NameTree.finalize() ``` *protected* **Returns:** `void` ### get ```java PDFObject com.datalogics.PDFL.NameTree.get(PDFString key) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md)): The name of the PDFObject to get from the tree. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) - The PDFObject value corresponding to the supplied key Retrieves an entry from this NameTree. ### getPDFDict ```java PDFDict com.datalogics.PDFL.NameTree.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict representing the NameTree's data structure. Gets the underlying PDFDict of this NameTree. ### put ```java void com.datalogics.PDFL.NameTree.put(PDFString key, PDFObject value) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md)): The name of the PDFObject to put in the tree. - `value` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The PDFObject to be associated with key. **Returns:** `void` Puts a new entry in this NameTree. If an entry with this name is already in the tree, it is replaced. ### remove ```java void com.datalogics.PDFL.NameTree.remove(PDFString key) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md)): The name of the PDFObject to remove from the tree. **Returns:** `void` Removes the specified PDFObject from this NameTree. It does nothing if no PDFObject of that name exists in this NameTree. --- # NumberTree Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree ```java class NumberTree ``` **Namespace:** `com::datalogics::PDFL` ## Description The number tree is a common data structure in PDF files. The number tree is a type of dictionary that can store many more pairs of matched records than a standard object dictionary. A number tree uses keys that are integers to map to data objects, sorted in ascending numerical order. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### NumberTree ```java com.datalogics.PDFL.NumberTree.NumberTree(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which to create the NumberTree. Creates a new, empty NumberTree in the specified Document. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.NumberTree.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.NumberTree.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.NumberTree.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.NumberTree.finalize() ``` *protected* **Returns:** `void` ### get ```java PDFObject com.datalogics.PDFL.NumberTree.get(int key) ``` **Parameters** - `key` (`int`): The integer key of the PDFObject to get from the tree. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject value corresponding to the supplied key. Retrieves an entry from this NumberTree. ### getPDFDict ```java PDFDict com.datalogics.PDFL.NumberTree.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict representing the NumberTree's data structure. Gets the underlying PDFDict of this NumberTree. ### put ```java void com.datalogics.PDFL.NumberTree.put(int key, PDFObject value) ``` **Parameters** - `key` (`int`): The integer of the PDFObject to put in the tree. - `value` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The PDFObject to be associated with key. **Returns:** `void` Puts a new entry in this NumberTree. If an entry with this name is already in the tree, it is replaced. ### remove ```java void com.datalogics.PDFL.NumberTree.remove(int key) ``` **Parameters** - `key` (`int`): The integer of the PDFObject to remove from the tree. **Returns:** `void` Removes the specified PDFObject from this NumberTree. It does nothing if no PDFObject of that number exists in this NumberTree. --- # OCREngine Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine ```java class OCREngine ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents an OCR Engine and its configuration. Create an OCREngine object once, and reuse it to convert multiple images to Form objects to avoid repeating the sometimes expensive initialization of the engine. The configuration of the engine can't be changed after it's created; if you need to do that, create another OCREngine object. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCRParams.md) ## Constructors ### OCREngine ```java com.datalogics.PDFL.OCREngine.OCREngine() ``` *constructor* Create an OCR engine. ### OCREngine ```java com.datalogics.PDFL.OCREngine.OCREngine(OCRParams ocrParams) ``` *constructor* **Parameters** - `ocrParams` ([`OCRParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCRParams.md)): the configuration to use Create an OCR engine with a specified configuration. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OCREngine.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OCREngine.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OCREngine.finalize() ``` *protected* **Returns:** `void` ### getAvailableLanguages ```java java.util.List< Language > com.datalogics.PDFL.OCREngine.getAvailableLanguages() ``` **Returns:** `java.util.List< Language >` the list of languages supported, or null if that list can't be determined. Get a list of languages this OCREngine can use. ### isLanguageAvailable ```java boolean com.datalogics.PDFL.OCREngine.isLanguageAvailable(Language language) ``` **Parameters** - `language` (`Language`): the language to check **Returns:** `boolean` true if the language is available, false otherwise Query if a language for OCR is available for use. ### placeTextUnder ```java Form com.datalogics.PDFL.OCREngine.placeTextUnder(Image image) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) a Form element containing the image with text underneath. Recognize text in the image, returning a form element with the image and the text underneath. Run the image through an OCR engine. Creates a Form element containing the image, and additional text underneath. The Form element has a transformation matrix which makes it directly substitutable for the image in a Content stream. This method may throw an exception if it can't find a font that will represent all the characters in a word. See the candidateFontNames on OCRParams to supply more fonts. ### placeTextUnder ```java Form com.datalogics.PDFL.OCREngine.placeTextUnder(Image image, Document inDocument) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) a Form element containing the image with text underneath. Recognize text in the image, returning a form element with the image and the text underneath. Run the image through an OCR engine. Creates a Form element containing the image, and additional text underneath. The Form element has a transformation matrix which makes it directly substitutable for the image in a Content stream. The form will be created in the specified document, sharing fonts with the results of recognizing text in other images. This method may throw an exception if it can't find a font that will represent all the characters in a word. See the candidateFontNames on OCRParams to supply more fonts. ### placeTextUnder ```java Form com.datalogics.PDFL.OCREngine.placeTextUnder(Image image, Document inDocument, double resolution) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. - `resolution` (`double`): The resolution of the Image being recognized. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) a Form element containing the image with text underneath. Recognize text in the image of the known resolution, returning a form element with the image and the text underneath.Knowing the image's resolution can enhance recognition. NOTE: Determining the resolution of the image is the caller's responsibility. Run the image through an OCR engine. Creates a Form element containing the image, and additional text underneath. The Form element has a transformation matrix which makes it directly substitutable for the image in a Content stream. The form will be created in the specified document, sharing fonts with the results of recognizing text in other images. If a font that will represent all the characters in a word can't be found, an exception will be raised. ### placeTextUnder ```java Form com.datalogics.PDFL.OCREngine.placeTextUnder(Image image, Document inDocument, double resolution, MissingFontStrategy missingFontStrategy) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. - `resolution` (`double`): The resolution of the Image being recognized. - `missingFontStrategy` (`MissingFontStrategy`): The behavior to use if a Font can't be found to represent the recognized text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) a Form element containing the image with text underneath. Recognize text in the image of the known resolution, returning a form element with the image and the text underneath.Knowing the image's resolution can enhance recognition. NOTE: Determining the resolution of the image is the caller's responsibility. Run the image through an OCR engine. Creates a Form element containing the image, and additional text underneath. The Form element has a transformation matrix which makes it directly substitutable for the image in a Content stream. The form will be created in the specified document, sharing fonts with the results of recognizing text in other images. If a font that will represent all the characters in a word can't be found, the missingFontStrategy will determine the behavior to employ. ### placeTextUnder ```java Form com.datalogics.PDFL.OCREngine.placeTextUnder(Image image, Document inDocument, MissingFontStrategy missingFontStrategy) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. - `missingFontStrategy` (`MissingFontStrategy`): The behavior to use if a Font can't be found to represent the recognized text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) a Form element containing the image with text underneath. Recognize text in the image, returning a form element with the image and the text underneath.Knowing the image's resolution can enhance recognition. Run the image through an OCR engine. Creates a Form element containing the image, and additional text underneath. The Form element has a transformation matrix which makes it directly substitutable for the image in a Content stream. The form will be created in the specified document, sharing fonts with the results of recognizing text in other images. If a font that will represent all the characters in a word can't be found, the missingFontStrategy will determine the behavior to employ. --- # OCRParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCRParams ```java class OCRParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Parameters for configuring the OCR (Optical Character Recognition) engine. OCRParams controls settings such as the engine to use, the resolution of the input images, the language(s) to recognize, performance tuning, page segmentation mode, candidate font names for placing text, and image preprocessing options. **Referenced by:** [`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md) **Uses types:** [`LanguageSetting`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md) ## Constructors ### OCRParams ```java com.datalogics.PDFL.OCRParams.OCRParams() ``` *constructor* Create an OCRParams structure with defaults. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OCRParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OCRParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OCRParams.finalize() ``` *protected* **Returns:** `void` ### getCandidateFontNames ```java java.util.List< String > com.datalogics.PDFL.OCRParams.getCandidateFontNames() ``` **Returns:** `java.util.List< String >` The names of candidate fonts for placing text under an image. The default list should work well in most cases. If you're using text that isn't represented by Latin fonts, or by Chinese, Japanese, or Korean fonts, then retrieve this list, add the font that can represent that text, then set that new list on this object. Enough font names must be supplied to cover the expected languages/scripts in use. The code selects a font to represent each word. If a word code-switches between different scripts, for instance, if it contains non-Latin text and Arabic numerals, then make sure to supply the name of a font family that can handle both the text and the numerals. The quality of the results depends on the font choice. The list is searched in order until a font works for a particular word. To make the text fit better, it's recommended to list proportional fonts before fixed-width fonts. Decorative fonts with flourishes, like Zapf Chancery, deliver poor results. Generally, supply a font that would be used in block text, such as in a newspaper or work of literature, such as Times Roman, or a font already in the list, like MinionPro. If the PlaceTextUnder method in OCREngine can't identify a font that covers the whole text of a word, an exception will be thrown. ### getConfigurationParameters ```java java.util.Map< String, String > com.datalogics.PDFL.OCRParams.getConfigurationParameters() ``` **Returns:** `java.util.Map< String, String >` Get the configuration parameters. Note: Reserved for internal use. Do not use unless directed to by Datalogics Support. ### getEnableImagePreprocessing ```java boolean com.datalogics.PDFL.OCRParams.getEnableImagePreprocessing() ``` **Returns:** `boolean` Get the image preprocessing enable state.True if any image preprocessing is on. ### getEngine ```java String com.datalogics.PDFL.OCRParams.getEngine() ``` **Returns:** `String` The name of the OCR engine to use. Use the Tesseract4Engine constant to select the Tesseract v4 engine. ### getLanguages ```java java.util.List< LanguageSetting > com.datalogics.PDFL.OCRParams.getLanguages() ``` **Returns:** [`java.util.List< LanguageSetting >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md) The list of languages the OCR engine should recognize. ### getPageSegmentationMode ```java PageSegmentationMode com.datalogics.PDFL.OCRParams.getPageSegmentationMode() ``` **Returns:** `PageSegmentationMode` The page segmentation mode, which controls how the OCR engine detects text regions on the page. ### getPerformance ```java Performance com.datalogics.PDFL.OCRParams.getPerformance() ``` **Returns:** `Performance` The desired performance mode for the OCR engine, balancing speed versus accuracy. ### getResolution ```java double com.datalogics.PDFL.OCRParams.getResolution() ``` **Returns:** `double` The resolution, in DPI, at which images are rendered for OCR processing. ### getTesseract4Engine ```java static String com.datalogics.PDFL.OCRParams.getTesseract4Engine() ``` *static* **Returns:** `String` The name of the Tesseract v4 engine. Pass this value to the Engine property to select the Tesseract v4 engine. ### setCandidateFontNames ```java void com.datalogics.PDFL.OCRParams.setCandidateFontNames(java.util.List< String > candidateFonts) ``` **Parameters** - `candidateFonts` (`java.util.List< String >`) **Returns:** `void` The names of candidate fonts for placing text under an image. The default list should work well in most cases. If you're using text that isn't represented by Latin fonts, or by Chinese, Japanese, or Korean fonts, then retrieve this list, add the font that can represent that text, then set that new list on this object. Enough font names must be supplied to cover the expected languages/scripts in use. The code selects a font to represent each word. If a word code-switches between different scripts, for instance, if it contains non-Latin text and Arabic numerals, then make sure to supply the name of a font family that can handle both the text and the numerals. The quality of the results depends on the font choice. The list is searched in order until a font works for a particular word. To make the text fit better, it's recommended to list proportional fonts before fixed-width fonts. Decorative fonts with flourishes, like Zapf Chancery, deliver poor results. Generally, supply a font that would be used in block text, such as in a newspaper or work of literature, such as Times Roman, or a font already in the list, like MinionPro. If the PlaceTextUnder method in OCREngine can't identify a font that covers the whole text of a word, an exception will be thrown. ### setConfigurationParameters ```java void com.datalogics.PDFL.OCRParams.setConfigurationParameters(java.util.Map< String, String > configurationParams) ``` **Parameters** - `configurationParams` (`java.util.Map< String, String >`) **Returns:** `void` Set the configuration parameters. Note: Reserved for internal use. Do not use unless directed to by Datalogics Support. ### setEnableImagePreprocessing ```java void com.datalogics.PDFL.OCRParams.setEnableImagePreprocessing(boolean enable) ``` **Parameters** - `enable` (`boolean`) **Returns:** `void` Enable all image preprocessing, default enabled.Note that once the OCREngine is initialized, this setting is permanent. ### setEngine ```java void com.datalogics.PDFL.OCRParams.setEngine(String value) ``` **Parameters** - `value` (`String`) **Returns:** `void` The name of the OCR engine to use. Use the Tesseract4Engine constant to select the Tesseract v4 engine. ### setLanguages ```java void com.datalogics.PDFL.OCRParams.setLanguages(java.util.List< LanguageSetting > languages) ``` **Parameters** - `languages` ([`java.util.List< LanguageSetting >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LanguageSetting.md)) **Returns:** `void` The list of languages the OCR engine should recognize. ### setPageSegmentationMode ```java void com.datalogics.PDFL.OCRParams.setPageSegmentationMode(PageSegmentationMode mode) ``` **Parameters** - `mode` (`PageSegmentationMode`) **Returns:** `void` The page segmentation mode, which controls how the OCR engine detects text regions on the page. ### setPerformance ```java void com.datalogics.PDFL.OCRParams.setPerformance(Performance performanceSetting) ``` **Parameters** - `performanceSetting` (`Performance`) **Returns:** `void` The desired performance mode for the OCR engine, balancing speed versus accuracy. ### setResolution ```java void com.datalogics.PDFL.OCRParams.setResolution(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The resolution, in DPI, at which images are rendered for OCR processing. --- # OptionalContentConfig Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig ```java class OptionalContentConfig ``` **Namespace:** `com::datalogics::PDFL` ## Description A structure used to store data related to layers in a PDF. The Optional Content Configuration Structure is used to maintain a set of visibility states and other optional values related to layers, or Optional Content Groups, within a PDF file. These configuration values are stored for future use. The default configuration for a PDF document is stored in the D entry in the Optional Content Properties dictionary. An Optional Content Group, or layer, is a set of graphic images that can be made visible or invisible within a PDF file, and the Optional Content Configuration Structure is typically used to set the initial value for these images-On or Off, visible or invisible. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentConfigVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfigVector.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### OptionalContentConfig ```java com.datalogics.PDFL.OptionalContentConfig.OptionalContentConfig(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentConfig will belong to. Create a new OptionalContentConfig. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentConfig.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentConfig.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentConfig.finalize() ``` *protected* **Returns:** `void` ### getBaseState ```java OptionalContentBaseState com.datalogics.PDFL.OptionalContentConfig.getBaseState() ``` **Returns:** `OptionalContentBaseState` The base state that will be applied to OptionalContentGroups. Get the base state for this OptionalContentConfig. When this config is applied to an OptionalContentContext, all OptionalContentGroups will be set to according to this base state: If BaseState is set to BaseStateOff, when this OptionalContentConfig is applied to an OptionalContentContext: All OptionalContentGroups in the document are set to OFF, and Any OptionalContentGroups in this OptionalContentConfig's ON array are then set to on. If BaseState is set to BaseStateOn, when this OptionalContentConfig is applied to an OptionalContentContext: All OptionalContentGroups in the document are set to ON, and Any OptionalContentGroups in this OptionalContentConfig's OFF array are then set to off. If BaseState is set to BaseStateUnchanged, when this OptionalContentConfig is applied to an OptionalContentContext: Any OptionalContentGroups in this OptionalContentConfig's ON array are set to on Any OptionalContentGroups in this OptionalContentConfig's OFF array are set to off Any OptionalContentGroups in neither the ON or OFF array are unaffected ### getIntent ```java java.util.List< String > com.datalogics.PDFL.OptionalContentConfig.getIntent() ``` **Returns:** `java.util.List< String >` An array containing intent strings. Gets the intent list for an OptionalContentConfig. An intent is a string value broadly describing the intended use, either View or Design. A config's intent is used to set the intent of an OptionalContentContext when this config is applied to the context. ### getName ```java String com.datalogics.PDFL.OptionalContentConfig.getName() ``` **Returns:** `String` The name of this OptionalContentConfig. Use `null` to remove the name. Get the name of the OptionalContentConfig ### getOffArray ```java java.util.List< OptionalContentGroup > com.datalogics.PDFL.OptionalContentConfig.getOffArray() ``` **Returns:** [`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) A list of all OptionalContentGroups in the OFF array Get the list of OptionalContentGroups in the OFF array. When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to OFF. This list is ignored if the BaseState is BaseStateOff; please see the description of the BaseState property for details. Note that an OptionalContentGroup should not be in both the ON array and the OFF array. ### getOnArray ```java java.util.List< OptionalContentGroup > com.datalogics.PDFL.OptionalContentConfig.getOnArray() ``` **Returns:** [`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) A list of all OptionalContentGroups in the ON array Get the list of OptionalContentGroups in the ON array. When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to ON. This list is ignored if the BaseState is BaseStateOn; please see the description of the BaseState property for details. Note that an OptionalContentGroup should not be in both the ON array and the OFF array. ### getOrder ```java OptionalContentOrderArray com.datalogics.PDFL.OptionalContentConfig.getOrder() ``` **Returns:** [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md) The OptionalContentOrderArray for optional content in this optional content config. Gets the order list for the optional content in this optional content config. Note that you can set the Title property on this order list, just as on any other OptionalContentOrderArray, and it will save as a legal PDF. However, the Title property on the top level order array simply appears as an extraneous text label in a PDF Viewer Layers panel, so its use at this level is typically not required. ### getPDFDict ```java PDFDict com.datalogics.PDFL.OptionalContentConfig.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this OptionalContentConfig. Retrieve the PDFObject representation of this object. ### setBaseState ```java void com.datalogics.PDFL.OptionalContentConfig.setBaseState(OptionalContentBaseState baseState) ``` **Parameters** - `baseState` (`OptionalContentBaseState`): The base state that will be applied to OptionalContentGroups. **Returns:** `void` Set the base state for this OptionalContentConfig. When this config is applied to an OptionalContentContext, all OptionalContentGroups will be set to according to this base state: If BaseState is set to BaseStateOff, when this OptionalContentConfig is applied to an OptionalContentContext: All OptionalContentGroups in the document are set to OFF, and Any OptionalContentGroups in this OptionalContentConfig's ON array are then set to on. If BaseState is set to BaseStateOn, when this OptionalContentConfig is applied to an OptionalContentContext: All OptionalContentGroups in the document are set to ON, and Any OptionalContentGroups in this OptionalContentConfig's OFF array are then set to off. If BaseState is set to BaseStateUnchanged, when this OptionalContentConfig is applied to an OptionalContentContext: Any OptionalContentGroups in this OptionalContentConfig's ON array are set to on Any OptionalContentGroups in this OptionalContentConfig's OFF array are set to off Any OptionalContentGroups in neither the ON or OFF array are unaffected ### setIntent ```java void com.datalogics.PDFL.OptionalContentConfig.setIntent(java.util.List< String > intents) ``` **Parameters** - `intents` (`java.util.List< String >`): An array of intent strings to assign to this config. **Returns:** `void` Sets the intent list for an OptionalContentConfig. An intent is a string value broadly describing the intended use, either View or Design. A config's intent is used to set the intent of an OptionalContentContext when this config is applied to the context. ### setName ```java void com.datalogics.PDFL.OptionalContentConfig.setName(String name) ``` **Parameters** - `name` (`String`): The name of this OptionalContentConfig. Use `null` to remove the name. **Returns:** `void` Set the name of the optional content group ### setOffArray ```java void com.datalogics.PDFL.OptionalContentConfig.setOffArray(java.util.List< OptionalContentGroup > ocgs) ``` **Parameters** - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of all OptionalContentGroups to be placed in the OFF array **Returns:** `void` Set the list of OptionalContentGroups in the OFF array. When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to OFF. This list is ignored if the BaseState is BaseStateOff; please see the description of the BaseState property for details. Note that an OptionalContentGroup should not be in both the ON array and the OFF array. ### setOnArray ```java void com.datalogics.PDFL.OptionalContentConfig.setOnArray(java.util.List< OptionalContentGroup > ocgs) ``` **Parameters** - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of all OptionalContentGroups to be placed in the ON array **Returns:** `void` Set the list of OptionalContentGroups in the ON array. When this config is applied to an OptionalContentContext, the OptionalContentGroups in this array will be set to ON. This list is ignored if the BaseState is BaseStateOn; please see the description of the BaseState property for details. Note that an OptionalContentGroup should not be in both the ON array and the OFF array. --- # OptionalContentConfigVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfigVector ```java class OptionalContentConfigVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) ## Constructors ### OptionalContentConfigVector ```java com.datalogics.PDFL.OptionalContentConfigVector.OptionalContentConfigVector() ``` *constructor* ### OptionalContentConfigVector ```java com.datalogics.PDFL.OptionalContentConfigVector.OptionalContentConfigVector(Iterable< OptionalContentConfig > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< OptionalContentConfig >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md)) ## Methods ### add ```java void com.datalogics.PDFL.OptionalContentConfigVector.add(OptionalContentConfig x) ``` **Parameters** - `x` ([`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.OptionalContentConfigVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.OptionalContentConfigVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentConfigVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentConfigVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentConfigVector.finalize() ``` *protected* **Returns:** `void` ### get ```java OptionalContentConfig com.datalogics.PDFL.OptionalContentConfigVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) ### isEmpty ```java boolean com.datalogics.PDFL.OptionalContentConfigVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.OptionalContentConfigVector.set(int i, OptionalContentConfig val) ``` **Parameters** - `i` (`int`) - `val` ([`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.OptionalContentConfigVector.size() ``` **Returns:** `long` --- # OptionalContentContext Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext ```java class OptionalContentContext ``` **Namespace:** `com::datalogics::PDFL` ## Description Defines the context for optional content in a PDF. An Optional Content Context is a status object that defines the context for optional content within a document. The context tracks the On/Off status for Optional Content Groups (layers) within a document. It contains flags that control whether to display content that is marked as optional. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationParams.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) ## Constructors ### OptionalContentContext ```java com.datalogics.PDFL.OptionalContentContext.OptionalContentContext(Document document) ``` *constructor* **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document for which to create a context. Creates a context object that represents an optional-content state of the document, using the current state as the initial state for each group (OCG), as determined by the document's optional-content configuration. ## Methods ### clone ```java OptionalContentContext com.datalogics.PDFL.OptionalContentContext.clone() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) A copy of the original optional content context. Makes a copy of the optional content context. ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentContext.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentContext.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.OptionalContentContext.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.OptionalContentContext.finalize() ``` *protected* **Returns:** `void` ### getDrawOptionalContent ```java OptionalContentDrawingPolicy com.datalogics.PDFL.OptionalContentContext.getDrawOptionalContent() ``` **Returns:** `OptionalContentDrawingPolicy` The drawing policy for optional content in this optional content context. Gets the drawing policy for the optional content in this optional content context. ### getOCGStates ```java java.util.List< Boolean > com.datalogics.PDFL.OptionalContentContext.getOCGStates(java.util.List< OptionalContentGroup > ocgs) ``` **Parameters** - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of optional-content groups whose states are obtained. **Returns:** `java.util.List< Boolean >` An array of OCG states corresponding to the array of OCGs, true for ON and false for OFF. Gets the ON-OFF states for the given optional-content groups (OCGs) in the given optional-content context. ### getStateOfOCG ```java boolean com.datalogics.PDFL.OptionalContentContext.getStateOfOCG(OptionalContentGroup ocg) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The optional content group whose state will be retrieved. **Returns:** `boolean` true if the OCG is ON, false if it is OFF. Gets the ON-OFF state for the given optional content group (OCG) in this optional content context. ### setDrawOptionalContent ```java void com.datalogics.PDFL.OptionalContentContext.setDrawOptionalContent(OptionalContentDrawingPolicy newPolicy) ``` **Parameters** - `newPolicy` (`OptionalContentDrawingPolicy`): The new drawing policy for optional content in this optional content context. **Returns:** `void` Sets the drawing policy for the optional content in this optional content context. ### setOCGStates ```java void com.datalogics.PDFL.OptionalContentContext.setOCGStates(java.util.List< OptionalContentGroup > ocgs, java.util.List< Boolean > newStates) ``` **Parameters** - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of optional-content groups. - `newStates` (`java.util.List< Boolean >`): A list of new OCG states corresponding to the list of OCGs, true for ON and false for OFF. The list must contain as many states as there are non-NULL OCGs in the pdocgs list. **Returns:** `void` Sets the ON-OFF states for the given optional-content groups (OCGs) in the given optional-content context. The newStates vector must be large enough to hold as many Boolean values as there are OCGs. ### setStateOfOCG ```java void com.datalogics.PDFL.OptionalContentContext.setStateOfOCG(OptionalContentGroup ocg, boolean newValue) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The optional content group whose state will be set. - `newValue` (`boolean`): The new ON-OFF state for the optional content group. **Returns:** `void` Sets the ON-OFF state for the given optional content group (OCG) in this optional content context. ### toString ```java String com.datalogics.PDFL.OptionalContentContext.toString() ``` **Returns:** `String` A string describing the state of all optional content groups in this context. Returns a string representation of this OptionalContentContext. The string lists all optional content groups in the document along with their ON/OFF states in this context. --- # OptionalContentGroup Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup ```java class OptionalContentGroup ``` **Namespace:** `com::datalogics::PDFL` ## Description A dictionary used to manage graphics images in a PDF. An Optional Content Group is a dictionary that represents a set of graphics images that users can turn on or off in a PDF document, making them visible or invisible. In a PDF Viewer, Optional Content Groups are referred to as "Layers." **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentGroupVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroupVector.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### OptionalContentGroup ```java com.datalogics.PDFL.OptionalContentGroup.OptionalContentGroup(Document doc, String name) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentGroup will belong to. - `name` (`String`): The name given to the new OptionalContentGroup. Create a new OptionalContentGroup. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentGroup.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentGroup.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.OptionalContentGroup.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.OptionalContentGroup.finalize() ``` *protected* **Returns:** `void` ### getIntent ```java java.util.List< String > com.datalogics.PDFL.OptionalContentGroup.getIntent() ``` **Returns:** `java.util.List< String >` An array containing intent strings. Gets the intent list for an optional-content group. An intent is a string value broadly describing the intended use, either View or Design. A group's content is considered to be optional (that is, the group's state is considered in its visibility) if any intent in its list matches an intent of the context. The intent list of the context is usually set from the intent list of the document configuration. ### getName ```java String com.datalogics.PDFL.OptionalContentGroup.getName() ``` **Returns:** `String` the name Get the name of the optional content group ### getPDFDict ```java PDFDict com.datalogics.PDFL.OptionalContentGroup.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this OptionalContentGroup. Retrieve the PDFObject representation of this object. ### setIntent ```java void com.datalogics.PDFL.OptionalContentGroup.setIntent(java.util.List< String > intents) ``` **Parameters** - `intents` (`java.util.List< String >`): An array of intent strings to assign to this group. **Returns:** `void` Sets the intent list for an optional-content group. An intent is a string value broadly describing the intended use, either View or Design. A group's content is considered to be optional (that is, the group's state is considered in its visibility) if any intent in its list matches an intent of the context. The intent list of the context is usually set from the intent list of the document configuration. ### setName ```java void com.datalogics.PDFL.OptionalContentGroup.setName(String name) ``` **Parameters** - `name` (`String`): The new name for this OptionalContentGroup. **Returns:** `void` Set the name of the optional content group. ### toString ```java String com.datalogics.PDFL.OptionalContentGroup.toString() ``` **Returns:** `String` A string describing this OptionalContentGroup. Returns a string representation of this OptionalContentGroup. The string includes the group's name and its intent list. --- # OptionalContentGroupVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroupVector ```java class OptionalContentGroupVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) ## Constructors ### OptionalContentGroupVector ```java com.datalogics.PDFL.OptionalContentGroupVector.OptionalContentGroupVector() ``` *constructor* ### OptionalContentGroupVector ```java com.datalogics.PDFL.OptionalContentGroupVector.OptionalContentGroupVector(Iterable< OptionalContentGroup > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)) ## Methods ### add ```java void com.datalogics.PDFL.OptionalContentGroupVector.add(OptionalContentGroup x) ``` **Parameters** - `x` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.OptionalContentGroupVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.OptionalContentGroupVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentGroupVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentGroupVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentGroupVector.finalize() ``` *protected* **Returns:** `void` ### get ```java OptionalContentGroup com.datalogics.PDFL.OptionalContentGroupVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) ### isEmpty ```java boolean com.datalogics.PDFL.OptionalContentGroupVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.OptionalContentGroupVector.set(int i, OptionalContentGroup val) ``` **Parameters** - `i` (`int`) - `val` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.OptionalContentGroupVector.size() ``` **Returns:** `long` --- # OptionalContentMembershipDict Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict ```java class OptionalContentMembershipDict ``` **Namespace:** `com::datalogics::PDFL` ## Description Attaches content to one or more optional content groups. Form, container, and annotation objects can be associated with one or more optional content groups. By associating them with an optional content group, they become part of that 'layer', and the user can control the visibility of the content. Note that by placing other element objects in a container, they can also be associated with an optional content group. An OptionalContentMembershipDict connects content to the OptionalContentGroup; it contains a list of OptionalContentGroups, and rules for determining visibility when the OptionalContentGroups have conflicting on/off states in the active OptionalContentContext. An OptionalContentMembershipDict cannot be changed once created; you must create a new OptionalContentMembershipDict and change the objects to point to it. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md) ## Constructors ### OptionalContentMembershipDict ```java com.datalogics.PDFL.OptionalContentMembershipDict.OptionalContentMembershipDict(Document doc, java.util.List< OptionalContentGroup > ocgs, VisibilityPolicy vp) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentMembershipDict will belong to. - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The list of OptionalContentGroups this MembershipDict refers to. - `vp` (`VisibilityPolicy`): The VisibilityPolicy of this MembershipDict. Create a new OptionalContentMembershipDict. ### OptionalContentMembershipDict ```java com.datalogics.PDFL.OptionalContentMembershipDict.OptionalContentMembershipDict(Document doc, java.util.List< OptionalContentGroup > ocgs, VisibilityPolicy vp, PDFArray visibilityExpression) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentMembershipDict will belong to. - `ocgs` ([`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The list of OptionalContentGroups this MembershipDict refers to. - `vp` (`VisibilityPolicy`): The VisibilityPolicy of this MembershipDict. - `visibilityExpression` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)): The VisibilityExpression of this MembershipDict. Create a new OptionalContentMembershipDict. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentMembershipDict.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentMembershipDict.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.OptionalContentMembershipDict.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.OptionalContentMembershipDict.finalize() ``` *protected* **Returns:** `void` ### getOptionalContentGroups ```java java.util.List< OptionalContentGroup > com.datalogics.PDFL.OptionalContentMembershipDict.getOptionalContentGroups() ``` **Returns:** [`java.util.List< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) An array containing OptionalContentGroups. Gets the list of OptionalContentGroups for this membership dictionary. This may consist of one OCG or several. ### getVisibilityExpression ```java PDFArray com.datalogics.PDFL.OptionalContentMembershipDict.getVisibilityExpression() ``` **Returns:** [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md) A Visibility Expression array. GetVisibilityExpression Gets the Visibility Expression for this membership dictionary. ### getVisibilityPolicy ```java VisibilityPolicy com.datalogics.PDFL.OptionalContentMembershipDict.getVisibilityPolicy() ``` **Returns:** `VisibilityPolicy` A Visibility Policy. Gets the Visbility Policy for this membership dictionary. ### toString ```java String com.datalogics.PDFL.OptionalContentMembershipDict.toString() ``` **Returns:** `String` A string describing this OptionalContentMembershipDict. Returns a string representation of this OptionalContentMembershipDict. The string includes the names of all associated OptionalContentGroups and the current VisibilityPolicy. --- # OptionalContentOrderArray Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray ```java class OptionalContentOrderArray : OptionalContentOrderNode ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) ## Description Array node class for items in the OptionalContentConfig Order array. Items in the Order array can be arranged into a tree structure; subarrays within the parent array form 'branches' of the tree. Each OptionalContentOrderArray may contain OptionalContentOrderLeafs or OptionalContentOrderArrays in a specific order; this order determines how they will appear in the 'Layers' control of the viewer. By placing OptionalContentOrderArrays into a higher-level array, branches can be added to the tree. The 'Title' property is a string that will appear next to the expand/collapse branch control in a PDF Viewer 'Layers' panel. **Referenced by:** [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) ## Constructors ### OptionalContentOrderArray ```java com.datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document this OptionalContentOrderArray is being created in Create an OptionalContentOrderArray with no title. ### OptionalContentOrderArray ```java com.datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc, String title) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document this OptionalContentOrderArray is being created in - `title` (`String`): The string which will appear in the Layer control panel Create an OptionalContentOrderArray with a title. ## Methods ### add ```java void com.datalogics.PDFL.OptionalContentOrderArray.add(OptionalContentOrderNode node) ``` **Parameters** - `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to append to the Array **Returns:** `void` Adds an OptionalContentOrderNode to the end of the Array. ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderArray.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderArray.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentOrderArray.finalize() ``` *protected* **Returns:** `void` ### get ```java OptionalContentOrderNode com.datalogics.PDFL.OptionalContentOrderArray.get(int index) ``` **Parameters** - `index` (`int`): The index at which to fetch an OptionalContentOrderNode. **Returns:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) An OptionalContentOrderNode, or null if there is nothing at that index. Returns the OptionalContentOrderNode at the given index. ### getLength ```java int com.datalogics.PDFL.OptionalContentOrderArray.getLength() ``` **Returns:** `int` The number of nodes in this array. Gets the number of OptionalContentOrderNodes in this array. ### getTitle ```java String com.datalogics.PDFL.OptionalContentOrderArray.getTitle() ``` **Returns:** `String` The title string of this OptionalContentOrderArray, or NULL if no title is set. Gets the title string of this Array. This title will appear next to the expand/collapse control in the 'Layers' panel of a PDF Viewer. ### insert ```java void com.datalogics.PDFL.OptionalContentOrderArray.insert(int index, OptionalContentOrderNode node) ``` **Parameters** - `index` (`int`): The index at which to insert the Node - `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to insert in the Array **Returns:** `void` Inserts an OptionalContentOrderNode at the given index, displacing existing objects. All objects following this will have their index increased by one. ### put ```java void com.datalogics.PDFL.OptionalContentOrderArray.put(int index, OptionalContentOrderNode node) ``` **Parameters** - `index` (`int`): The index at which to replace the existing Node - `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to place in the Array **Returns:** `void` Puts an OptionalContentOrderNode at the given index, replacing the existing item. The index can be greater than the current length of the array; the array will be extended and the empty slots filled with null objects. ### removeAt ```java void com.datalogics.PDFL.OptionalContentOrderArray.removeAt(int index) ``` **Parameters** - `index` (`int`): The index of the OptionalContentOrderNode to remove **Returns:** `void` Removes the OptionalContentOrderNode at the given index. The length of the array is reduced by 1. ### setTitle ```java void com.datalogics.PDFL.OptionalContentOrderArray.setTitle(String title) ``` **Parameters** - `title` (`String`): The title string of this OptionalContentOrderArray, or NULL to remove the title. **Returns:** `void` Sets the title string of this Array. This title will appear next to the expand/collapse control in the 'Layers' panel of a PDF Viewer. This field may be set to NULL to remove the title. --- # OptionalContentOrderLeaf Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf ```java class OptionalContentOrderLeaf : OptionalContentOrderNode ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) ## Description Leaf node class for items in the OptionalContentConfig Order array. Items in the Order array can be arranged into a tree structure. Each 'leaf' on this tree would be an OptionalContentOrderLeaf that contains a reference to an OptionalContentGroup in this document. **Uses types:** [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) ## Constructors ### OptionalContentOrderLeaf ```java com.datalogics.PDFL.OptionalContentOrderLeaf.OptionalContentOrderLeaf(OptionalContentGroup ocg) ``` *constructor* **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The OptionalContentGroup this object will refer to. Create an OptionalContentOrderLeaf that refers to the OptionalContentGroup. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderLeaf.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderLeaf.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentOrderLeaf.finalize() ``` *protected* **Returns:** `void` ### getOptionalContentGroup ```java OptionalContentGroup com.datalogics.PDFL.OptionalContentOrderLeaf.getOptionalContentGroup() ``` **Returns:** [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) The OptionalContentGroup this object refers to. Gets the OptionalContentGroup referred to by this OptionalContentOrderLeaf. --- # OptionalContentOrderNode Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode ```java class OptionalContentOrderNode ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf.md) ## Description Base class for items in the OptionalContentConfig Order array. Items in the OptionalContentConfig's Order array are either OptionalContentOrderLeaf or OptionalContentOrderArray. This is the base class for both; you cannot instantiate an OptionalContentOrderNode, only one of its child classes. **Referenced by:** [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderNode.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OptionalContentOrderNode.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OptionalContentOrderNode.finalize() ``` *protected* **Returns:** `void` --- # OutputNozzle Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OutputNozzle ```java class OutputNozzle ``` **Namespace:** `com::datalogics::PDFL` **Referenced by:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.OutputNozzle.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.OutputNozzle.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.OutputNozzle.finalize() ``` *protected* **Returns:** `void` ### read ```java byte[] com.datalogics.PDFL.OutputNozzle.read(int n) ``` **Parameters** - `n` (`int`) **Returns:** `byte[]` --- # Page Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page ```java class Page ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a page within a PDF file. The page is the basic object used for organizing content in a PDF document. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md), [`QREncodeParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QREncodeParams.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationParams.md) ## Constructors ### Page ```java com.datalogics.PDFL.Page.Page(Document doc, int afterPageNum, Rect mediaBox) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document in which the page is created. - `afterPageNum` (`int`): The page number after which the new page is inserted. The first page is 0. Use PDBeforeFirstPage() (see PDExpT.h) to insert the new page at the beginning of a document. - `mediaBox` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the page's media box, specified in user space coordinates. Creates and acquires a new page. The page is inserted into the document at the specified location. Call PDPageRelease() when you are done using the page. ### Page ```java com.datalogics.PDFL.Page.Page(Document doc, int pageNum) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document containing the page to acquire. - `pageNum` (`int`): The page number of the page to acquire. The first page is 0. Gets a Page from a document. ## Methods ### addAnnotation ```java void com.datalogics.PDFL.Page.addAnnotation(int addAfter, Annotation annot) ``` **Parameters** - `addAfter` (`int`): The index into the page's annotation array where the annotation is added. The first annotation in the array has an index of zero. Passing a value of -2 adds the annotation to the end of the array. Passing other negative values produces undefined results. - `annot` ([`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md)): The annotation to add. **Returns:** `void` (Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.) Adds an annotation at the specified location in a page's annotation array. ### addNewAnnotation ```java Annotation com.datalogics.PDFL.Page.addNewAnnotation(int addAfter, String subType, Rect initialRect) ``` **Parameters** - `addAfter` (`int`): Where to add the annotation in the page's annotation array. Passing a value of -2 adds the annotation to the end of the array (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. - `subType` (`String`): The subtype of the annotation to add. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A pointer to a rectangle specifying the annotation's bounds, specified in user space coordinates. **Returns:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) The newly created annotation. (Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.) Adds an annotation to the page. This method is equivalent to calling PDPageCreateAnnot() followed by PDPageAddAnnot(). ### addQRBarcode ```java boolean com.datalogics.PDFL.Page.addQRBarcode(QREncodeParams params) ``` **Parameters** - `params` ([`QREncodeParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QREncodeParams.md)): The Params specified how to encode the barcode **Returns:** `boolean` if True, the Barcode was successfully added to the Page. Add a QR Two-Dimensional Barcode encoded with the specified Params to the specified PDF page as an image. ### addQRBarcode ```java void com.datalogics.PDFL.Page.addQRBarcode(String textToEncode, double x, double y, double width, double height) ``` **Parameters** - `textToEncode` (`String`): The Text to be encoded in the barcode - `x` (`double`): The horizontal location on the page in points - `y` (`double`): The vertical location on the page in points - `width` (`double`): The width of the barcode image in points - `height` (`double`): The height of the barcode image in points **Returns:** `void` Add a QR Two-Dimensional Barcode encoded with the specified Text to the page as an image. ### colorConvertContent ```java boolean com.datalogics.PDFL.Page.colorConvertContent(ColorConvertParams params) ``` **Parameters** - `params` ([`ColorConvertParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorConvertParams.md)): The color conversion parameters. **Returns:** `boolean` True if color conversion occurred. False if nothing was color converted. Convert the colors (in place) in a page as specified by the params block by applying an ICC profile to the objects contained in the page. ### createAnnotation ```java Annotation com.datalogics.PDFL.Page.createAnnotation(String subType, Rect initialRect) ``` **Parameters** - `subType` (`String`): The subtype of the annotation to add. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A pointer to a rectangle specifying the annotation's bounds, specified in user space coordinates. **Returns:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) The newly created annotation. (Deprecated, function may be removed in the future. Instead, use the constructor for Annotation or a subclass of Annotation.) Creates a new annotation, associated with the specified page's Document, but not added to the page. Use AddAnnotation to add the annotation to the page. ### delete ```java synchronized void com.datalogics.PDFL.Page.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Page.delete() ``` **Returns:** `synchronized void` ### drawContents ```java byte[] com.datalogics.PDFL.Page.drawContents(DrawParams drawParams) ``` **Parameters** - `drawParams` ([`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md)): Parameters for the drawing operation **Returns:** `byte[]` an array of bytes containing the image. Draw the contents of the page into a bitmap, and return the raw bitmap data as an array of bytes arranged in left to right, top to bottom order. Each row of the bitmap is aligned onto a four-byte boundary. The amount of data returned depends on the destRect parameter. Using integer arithmetic: stride = (width * components + 3) & ~3 array_size = stride * height ### drawContents ```java java.util.List< java.awt.image.BufferedImage > com.datalogics.PDFL.Page.drawContents(DrawParams drawParams, java.util.List< SeparationColorSpace > colorants) ``` **Parameters** - `drawParams` ([`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md)): draw parameters for rendering of this page - `colorants` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): collection of the page's colorants in SeparationColorSpace, that were constructed from an ink and a page. Their tint transforms and alternates will be ignored **Returns:** `java.util.List< java.awt.image.BufferedImage >` List, that contains buffered image for each ink Draw the contents of this page in collection of the images. Each image in collection is a separated channel. ### drawContents ```java void com.datalogics.PDFL.Page.drawContents(java.awt.image.BufferedImage image, Matrix matrix, Rect updateRect) ``` **Parameters** - `image` (`java.awt.image.BufferedImage`): the image into which to rasterize the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): A matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling. - `updateRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): the rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn. **Returns:** `void` Draw the contents of this page to an image, only DeviceRGBA colorModel is supported. ### drawContents ```java void com.datalogics.PDFL.Page.drawContents(java.awt.image.BufferedImage image, Matrix matrix, Rect updateRect, java.util.EnumSet< SmoothFlags > newAntiAlias, boolean doThinLine, boolean bypassCopyPerm) ``` **Parameters** - `image` (`java.awt.image.BufferedImage`): the image into which to rasterize the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): A matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling. - `updateRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): the rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn. - `newAntiAlias` (`java.util.EnumSet< SmoothFlags >`): antialias level. - `doThinLine` (`boolean`): flag to set ThinLineHeuristics, to determine whether thin lines will be fattened non-linearly. - `bypassCopyPerm` (`boolean`): flag to set to determine whether Copy Permissions are bypassed for drawing. **Returns:** `void` Draw the contents of this page to a BufferedImage, only DeviceRGBA colorModel is supported. ### drawContents ```java void com.datalogics.PDFL.Page.drawContents(java.awt.image.BufferedImage image, Matrix matrix, Rect updateRect, java.util.EnumSet< SmoothFlags > newAntiAlias, boolean doThinLine, boolean bypassCopyPerm, OptionalContentContext optionalContentContext) ``` **Parameters** - `image` (`java.awt.image.BufferedImage`): the image into which to rasterize the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): A matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling. - `updateRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): the rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn. - `newAntiAlias` (`java.util.EnumSet< SmoothFlags >`): antialias level. - `doThinLine` (`boolean`): flag to set ThinLineHeuristics, to determine whether thin lines will be fattened non-linearly. - `bypassCopyPerm` (`boolean`): flag to set to determine whether Copy Permissions are bypassed for drawing. - `optionalContentContext` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): the optional-content visibility state to render with. Passing null retains the current behavior (the document's default optional-content context). **Returns:** `void` Draw the contents of this page to a BufferedImage using a specific optional-content (layer) visibility state, only DeviceRGBA colorModel is supported. ### drawContents ```java void com.datalogics.PDFL.Page.drawContents(java.awt.image.BufferedImage image, Matrix matrix, Rect updateRect, OptionalContentContext optionalContentContext) ``` **Parameters** - `image` (`java.awt.image.BufferedImage`): the image into which to rasterize the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): A matrix to concatenate onto the default page matrix. It is useful for converting from page to window coordinates and for scaling. - `updateRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): the rectangle to draw, specified in user coordinates. Any objects outside the updateRect will not be drawn. - `optionalContentContext` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): the optional-content visibility state to render with. Passing null retains the current behavior (the document's default optional-content context). **Returns:** `void` Draw the contents of this page to an image using a specific optional-content (layer) visibility state, only DeviceRGBA colorModel is supported. ### finalize ```java void com.datalogics.PDFL.Page.finalize() ``` *protected* **Returns:** `void` ### flattenOptionalContent ```java boolean com.datalogics.PDFL.Page.flattenOptionalContent() ``` **Returns:** `boolean` true if the page was successfully flattened, false otherwise. Flattens optional content on the page. This page will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made. The document's default optional content context will be used to determine visibility of optional content. The optional content information formerly associated with content on the page will NOT be deleted from the document, as it is possible for optional content groups to contain items on multiple pages. ### flattenOptionalContent ```java boolean com.datalogics.PDFL.Page.flattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `boolean` true if the page was successfully flattened, false otherwise. Flattens optional content on the page. This page will be replaced with a version that has no optional content. The new version of the page will contain only what was visible on the page when the call was made. The optional content information formerly associated with content on the page will NOT be deleted from the document, as it is possible for optional content groups to contain items on multiple pages. ### getAnnotation ```java Annotation com.datalogics.PDFL.Page.getAnnotation(int annotIndex) ``` **Parameters** - `annotIndex` (`int`): The index of the annotation to get on a page. The first annotation on a page has an index of zero. **Returns:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) The indexed annotation object. Gets the annotIndex annotation on the page. ### getArtBox ```java Rect com.datalogics.PDFL.Page.getArtBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The ArtBox rectangle in user space coordinates. Get the page's ArtBox. The ArtBox defines the extent of the page's meaningful content (including potential white space) as intended by the page's creator. ### getBBox ```java Rect com.datalogics.PDFL.Page.getBBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box rectangle in user space coordinates. Get the page's Bounding Box. The BBox is the smallest rectangle that encloses all of the page's visible content. Unlike the other page boxes, it is calculated from the page content and cannot be set directly. ### getBleedBox ```java Rect com.datalogics.PDFL.Page.getBleedBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The BleedBox rectangle in user space coordinates. Get the page's BleedBox. The BleedBox defines the region to which the contents of the page shall be clipped when output in a production environment. It includes any extra bleed area needed to account for limitations of cutting, folding, and trimming equipment. ### getContent ```java Content com.datalogics.PDFL.Page.getContent() ``` **Returns:** [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md) The content for the page. Creates a Content from the Page object's contents and resources. The Content is cached, so that subsequent calls on the same Page return the same Content. After making changes to the content, make sure to call the UpdateContent method on the Page. ### getCropBox ```java Rect com.datalogics.PDFL.Page.getCropBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The CropBox rectangle in user space coordinates. Get the page's CropBox. The CropBox defines the region to which the contents of the page are to be clipped (cropped) when displayed or printed. The default value is the page's MediaBox. ### getImage ```java Image com.datalogics.PDFL.Page.getImage(Rect exportRect) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) An Image containing the rendered page region. Export a region of a PDF page to an Image object. If the exportRect is smaller than the PDF page, then the pixel width and pixel height of the resulting image will be calculated from the exportRect and a resolution of 300.0, containing the area of the page inside the exportRect, scaled to fit. If a specific pixel size or resolution is desired, use the version of GetImage that takes a PageImageParams as a parameter. ### getImage ```java Image com.datalogics.PDFL.Page.getImage(Rect exportRect, PageImageParams ImageParams) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) An Image containing the rendered page region. Export a region of a PDF page to an Image object. This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight. If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit. It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other. ### getImage ```java Image com.datalogics.PDFL.Page.getImage(Rect exportRect, PageImageParams ImageParams, java.util.List< SeparationColorSpace > spaces) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0. - `spaces` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): A collection of SeparationColorSpace objects. This parameter is used to specify page's inks to be drawn. Each SeparationColorSpace must be constructed from an ink and a page. Their tint transforms and alternates will be ignored. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) An Image containing the rendered page region. Export a region of a PDF page to an Image object. This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight. It renders specified page's inks and ignores colorSpace parameter from ImageParams. This function always renders the page in DeviceN colorspace. If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit. It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other. ### getImageSeparations ```java ImageCollection com.datalogics.PDFL.Page.getImageSeparations(Rect exportRect, PageImageParams ImageParams, java.util.List< SeparationColorSpace > spaces, RenderProgressProc progressProc) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. - `spaces` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. - `progressProc` ([`RenderProgressProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc.md)): A callback to report rendering progress. **Returns:** [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md) An ImageCollection containing one Image per separation colorant. Export a region of a PDF page using the specified Separation ColorSpaces to an Image Collection object, with a progress callback. ### getImageSeparations ```java ImageCollection com.datalogics.PDFL.Page.getImageSeparations(Rect exportRect, PageImageParams ImageParams, java.util.List< SeparationColorSpace > spacesCollection) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0. - `spacesCollection` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page. Their tint transforms and alternates will be ignored. **Returns:** [`ImageCollection`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ImageCollection.md) An ImageCollection containing one Image per separation colorant. Export a region of a PDF page using the specified Separation ColorSpaces to an Image Collection object. This version of GetImage can be used to specify a particular size in pixels for the exported image by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight. If the exportRect is smaller than the PDF page and ImageParams.PixelWidth and ImageParams.PixelHeight are set, then the resulting image will be of the size ImageParams.PixelWidth x ImageParams.PixelHeight and contain the area of the page inside the exportRect, scaled to fit. It is also possible to use this function by specifying only ImageParams.PixelWidth or only ImageParams.PixelHeight. When only one is specified, the function will calculate the other. ### getMediaBox ```java Rect com.datalogics.PDFL.Page.getMediaBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The MediaBox rectangle in user space coordinates. Get the page's MediaBox. The MediaBox defines the boundaries of the physical medium on which the page is intended to be displayed or printed. It is the largest of the page boxes and serves as the default for the CropBox. ### getNumAnnotations ```java int com.datalogics.PDFL.Page.getNumAnnotations() ``` **Returns:** `int` The number of annotations on this page. Gets the number of annotations on a page. Annotations associated with pop-up windows (such as strikeouts) are counted as two annotations. Widget annotations (form fields) are included in the count. ### getOutputPreviewImage ```java Image com.datalogics.PDFL.Page.getOutputPreviewImage(Rect exportRect, PageImageParams ImageParams, java.util.List< SeparationColorSpace > spaces) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0. - `spaces` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) An Image representing the output preview of the page region. Create an Output Preview image used when Soft Proofing a document prior to actual printing. ### getOutputPreviewImage ```java Image com.datalogics.PDFL.Page.getOutputPreviewImage(Rect exportRect, PageImageParams ImageParams, java.util.List< SeparationColorSpace > spaces, boolean simulateOverprint) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the unrotated page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `ImageParams` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): A PageImageParams containing additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and pixel height of the image are calculated using the exportRect and a resolution of 300.0. - `spaces` ([`java.util.List< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): A collection of SeparationColorSpace class additional parameter for specifying colorants for bitmap rendering. Each SeparationColorSpace must be constructed from an ink and a page. - `simulateOverprint` (`boolean`): A flag that controls if Overprint is simulated or not for Spot Colorants. NOTE: A file with Overprinting, Process, and Spot Colorants can yield a different appearance when Simulation is enabled compared to when it's not. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md) An Image representing the output preview of the page region. Create an Output Preview image used when Soft Proofing a document prior to actual printing. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Page.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) Retrieve the PDFObject representation of this object. ### getPageNumber ```java int com.datalogics.PDFL.Page.getPageNumber() ``` **Returns:** `int` the number of this page in the Document. Retrieve the page number for this PDF page. Page numbers always start at zero. ### getRenderWarnings ```java int com.datalogics.PDFL.Page.getRenderWarnings() ``` **Returns:** `int` A bitfield to be compared against PageRenderWarning Enum values. Reports possible page rendering problems. ### getRotation ```java PageRotation com.datalogics.PDFL.Page.getRotation() ``` **Returns:** `PageRotation` The number of degrees by which the page is rotated clockwise when displayed or printed. ### getTrimBox ```java Rect com.datalogics.PDFL.Page.getTrimBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The TrimBox rectangle in user space coordinates. Get the page's TrimBox. The TrimBox defines the intended dimensions of the finished page after trimming. It may be smaller than the MediaBox to account for production- related content such as printing instructions or cut marks. ### getUserUnit ```java float com.datalogics.PDFL.Page.getUserUnit() ``` **Returns:** `float` the size of default user space units. Gets the size of default user space units for the page. ### hasTransparency ```java boolean com.datalogics.PDFL.Page.hasTransparency(boolean includeAnnotAppearances) ``` **Parameters** - `includeAnnotAppearances` (`boolean`): If true, annotation appearances are included in the check; if false, annotation appearances will be ignored. **Returns:** `boolean` true if the page uses transparency features, false otherwise. Checks whether a page uses any transparency features. Note: To determine whether a page uses transparency, the resources of the page must be enumerated (though the page contents do not need to be parsed). The page resources may not be optimized for slow (browser-based) connections, so calling Page.HasTransparency() before the page has been downloaded may cause unpleasant read behavior and performance problems. ### listInks ```java java.util.List< Ink > com.datalogics.PDFL.Page.listInks() ``` **Returns:** [`java.util.List< Ink >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md) A list of Ink objects representing the inks used on this page. Retrieve a list of all inks present on a page. ### listInks ```java java.util.List< Ink > com.datalogics.PDFL.Page.listInks(boolean includeOPI) ``` **Parameters** - `includeOPI` (`boolean`): If true, include inks contained in OPI dictionaries. **Returns:** [`java.util.List< Ink >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md) A list of Ink objects representing the inks used on this page. Retrieve a list of all inks present on a page. ### makeBufferedImage ```java java.awt.image.BufferedImage com.datalogics.PDFL.Page.makeBufferedImage(Rect exportRect, PageImageParams pip) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A Rect describing the region of the page to export, specified in user space coordinates. One user unit corresponds to 1/72 inch. To export the entire page, set this parameter to the page's CropBox. User space coordinates correspond to the **unrotated** page; the rotation specified in Page.Rotation is not taken into account with these coordinates. - `pip` ([`PageImageParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams.md)): Additional parameters for the exported image, including the exported image's pixel width, pixel height, and resolution. If these parameters are not specified, the pixel width and height of the returned image are calculated using the exportRect and a resolution of 300.0. **Returns:** `java.awt.image.BufferedImage` Export a region of a PDF page to a java.awt.BufferedImage. A particular size in pixels can be specified for the exported Bitmap by setting ImageParams.PixelWidth and/or ImageParams.PixelHeight. If the exportRect is smaller than the PDF page and pip.PixelWidth and pip.PixelHeight are set, then the resulting image will be of the size pip.PixelWidth x pip.PixelHeight and contain the area of the page inside the exportRect, scaled to fit. It is also possible to use this function by specifying only pip.PixelWidth or only pip.PixelHeight. When only one is specified, the function will calculate the other. ### makeSeparations ```java void com.datalogics.PDFL.Page.makeSeparations(SeparationParams params) ``` **Parameters** - `params` ([`SeparationParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationParams.md)): Parameters for the separation generation, including a list of plates. **Returns:** `void` Generate print color separations for a page. ### recognizePageContents ```java void com.datalogics.PDFL.Page.recognizePageContents(Document doc, OCREngine engine) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the page being OCR'd belongs to - `engine` ([`OCREngine`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OCREngine.md)): The OCR engine instance that will be used to OCR document **Returns:** `void` Run optical character recognition (OCR) on a page. ### removeAnnotation ```java void com.datalogics.PDFL.Page.removeAnnotation(int annotIndex) ``` **Parameters** - `annotIndex` (`int`): The index (into the page's annotation array) of the annotation to remove. **Returns:** `void` Removes an annotation from the specified page. Annotations are stored in arrays, which are automatically compressed when an annotation is removed. For this reason, if you use a loop in which you remove annotations, structure the code so the loop processes from the highest to the lowest index. If you loop the other direction, you will skip over annotations immediately following ones you remove. ### setArtBox ```java void com.datalogics.PDFL.Page.setArtBox(Rect r) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle specifying the ArtBox in user space coordinates, or null to remove the ArtBox. **Returns:** `void` Set the page's ArtBox. The ArtBox defines the extent of the page's meaningful content (including potential white space) as intended by the page's creator. ### setBleedBox ```java void com.datalogics.PDFL.Page.setBleedBox(Rect r) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle specifying the BleedBox in user space coordinates, or null to remove the BleedBox. **Returns:** `void` Set the page's BleedBox. The BleedBox defines the region to which the contents of the page shall be clipped when output in a production environment. It includes any extra bleed area needed to account for limitations of cutting, folding, and trimming equipment. ### setCropBox ```java void com.datalogics.PDFL.Page.setCropBox(Rect r) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle specifying the CropBox in user space coordinates, or null to remove the CropBox. **Returns:** `void` Set the page's CropBox. The CropBox defines the region to which the contents of the page are to be clipped (cropped) when displayed or printed. The default value is the page's MediaBox. ### setMediaBox ```java void com.datalogics.PDFL.Page.setMediaBox(Rect r) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle specifying the MediaBox in user space coordinates. **Returns:** `void` Set the page's MediaBox. The MediaBox defines the boundaries of the physical medium on which the page is intended to be displayed or printed. It is the largest of the page boxes and serves as the default for the CropBox. ### setRotation ```java void com.datalogics.PDFL.Page.setRotation(PageRotation rotation) ``` **Parameters** - `rotation` (`PageRotation`) **Returns:** `void` The number of degrees by which the page is rotated clockwise when displayed or printed. ### setTrimBox ```java void com.datalogics.PDFL.Page.setTrimBox(Rect r) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle specifying the TrimBox in user space coordinates, or null to remove the TrimBox. **Returns:** `void` Set the page's TrimBox. The TrimBox defines the intended dimensions of the finished page after trimming. It may be smaller than the MediaBox to account for production- related content such as printing instructions or cut marks. ### setUserUnit ```java void com.datalogics.PDFL.Page.setUserUnit(float userUnit) ``` **Parameters** - `userUnit` (`float`): the size of default user space units. **Returns:** `void` Sets the size of default user space units for the page. ### updateContent ```java void com.datalogics.PDFL.Page.updateContent() ``` **Returns:** `void` Sets the page's Content back into the Page, using the same compression filters with which the content was previously encoded. Call this function after making any changes to the Page's content. --- # PageImageParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageImageParams ```java class PageImageParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Used to manage converting a PDF page to an image. The Page Image Parameters are a set of parameters used to control converting a PDF page to an image, such as a PNG, JPG, or BMP. The parameters include pixel height & width, color space, resolution, so on. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Constructors ### PageImageParams ```java com.datalogics.PDFL.PageImageParams.PageImageParams() ``` *constructor* Construct default PageImageParams. Initializes with DeviceRGB color space, no smoothing, zero pixel dimensions, 300 dpi resolution, relative colorimetric render intent, and black point compensation enabled. ### PageImageParams ```java com.datalogics.PDFL.PageImageParams.PageImageParams(ColorSpace ColorSpace, java.util.EnumSet< SmoothFlags > Smoothing, int PixelWidth, int PixelHeight, double HorizontalResolution, double VerticalResolution, java.util.EnumSet< DrawFlags > PageDrawFlags) ``` *constructor* **Parameters** - `ColorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The desired color space for the image, DEVICERGB, DEVICECMYK or DEVICEGRAY only. - `Smoothing` (`java.util.EnumSet< SmoothFlags >`): Indicates what parts of PDF Page (text, image, art, none) are to be smoothed in rendering to an image. Note these flags can be or'd together - `PixelWidth` (`int`): The desired witdth in pixels of the output image. - `PixelHeight` (`int`): The desired height in pixels of the output image. - `HorizontalResolution` (`double`): The desired horizontal resolution in pixels/inch of the output image. If you pass in 0.0, 300.0 dpi is used. - `VerticalResolution` (`double`): The desired vertical resolution in pixels/inch of the output image. If you pass in 0.0, 300.0 dpi is used. - `PageDrawFlags` (`java.util.EnumSet< DrawFlags >`): An OR of the flags from DrawFlags which control how the PDF page is to be drawn. Set up the parameters for rendering a PDF page to an image. Horizontal and Vertical Resolution have to be either both zero or both non-zero. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PageImageParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PageImageParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PageImageParams.finalize() ``` *protected* **Returns:** `void` ### getBlackPointCompensation ```java boolean com.datalogics.PDFL.PageImageParams.getBlackPointCompensation() ``` **Returns:** `boolean` The BlackPointCompensation setting. Default is true if not explicitly set. ### getBypassCopyPerm ```java boolean com.datalogics.PDFL.PageImageParams.getBypassCopyPerm() ``` **Returns:** `boolean` true if this option is turned on. The BypassCopyPerm allows to bypass copy permitions. ### getCalibrateDeviceSpacesWhenPrinting ```java boolean com.datalogics.PDFL.PageImageParams.getCalibrateDeviceSpacesWhenPrinting() ``` **Returns:** `boolean` true if this option is turned on. Sets if Device spaces should be treated as calibrated to the associated working profile (when true), otherwise it treats them as uncalibrated (when false) when printing. ### getHorizontalResolution ```java double com.datalogics.PDFL.PageImageParams.getHorizontalResolution() ``` **Returns:** `double` The desired horizontal resolution in pixels/inch of the output image. Defaults to 300 dpi. Must not be negative. Horizontal and vertical resolution must be either both zero or both non-zero. ### getICCProfile ```java ColorProfile com.datalogics.PDFL.PageImageParams.getICCProfile() ``` **Returns:** `ColorProfile` Gets the ICC Profile of the colorspace to be used for rendering from a known value. NOTE: The ICCProfileCustomPath must not be set for this property to be used. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### getICCProfileCustomPath ```java String com.datalogics.PDFL.PageImageParams.getICCProfileCustomPath() ``` **Returns:** `String` Gets the ICC Profile of the colorspace to be used for rendering from a custom file path. NOTE: The ICCProfile is ignored when this property is a non-empty string. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### getImageColorSpace ```java ColorSpace com.datalogics.PDFL.PageImageParams.getImageColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The ColorSpace used in exporting a PDF page to an image. Must be one of DeviceGray, DeviceRGB, DeviceRGBA, DeviceCMYK, DeviceN, or ICCBased. ### getPageDrawFlags ```java java.util.EnumSet< DrawFlags > com.datalogics.PDFL.PageImageParams.getPageDrawFlags() ``` **Returns:** `java.util.EnumSet< DrawFlags >` The DrawFlags used for rendering a PDF page to an image. An OR of the flags from DrawFlags which control how the PDF page is drawn. ### getPixelHeight ```java int com.datalogics.PDFL.PageImageParams.getPixelHeight() ``` **Returns:** `int` The height in pixels of the image to be created from a PDF page. If not specified (zero), the rendered PDF page size will be used. PixelWidth and PixelHeight must be either both zero or both non-zero. ### getPixelWidth ```java int com.datalogics.PDFL.PageImageParams.getPixelWidth() ``` **Returns:** `int` The width in pixels of the image to be created from a PDF page. If not specified (zero), the rendered PDF page size will be used. PixelWidth and PixelHeight must be either both zero or both non-zero. ### getRenderIntent ```java RenderIntent com.datalogics.PDFL.PageImageParams.getRenderIntent() ``` **Returns:** `RenderIntent` The RenderIntent used to specify color translation for colors outside gamut of the color profile used. The default is relative colorimetric. ### getSmoothing ```java java.util.EnumSet< SmoothFlags > com.datalogics.PDFL.PageImageParams.getSmoothing() ``` **Returns:** `java.util.EnumSet< SmoothFlags >` The SmoothFlags used in exporting a PDF page to an image. Indicates what parts of the PDF page (text, image, art, none) are to be smoothed when rendering to an image. These flags can be OR'd together. ### getThinLineHeuristics ```java boolean com.datalogics.PDFL.PageImageParams.getThinLineHeuristics() ``` **Returns:** `boolean` true if thin line heuristics are applied, false otherwise. The ThinLineHeuristics setting. Determines whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles. ### getUseDeviceNForImageSeparations ```java boolean com.datalogics.PDFL.PageImageParams.getUseDeviceNForImageSeparations() ``` **Returns:** `boolean` true if this option is turned on. NOTE: This member is only applicable when calling the GetImageSeparations() method, only when Colorants used are only Process. Gets the UseDeviceNForImageSeparations setting, which indicates when the GetImageSeparations() method is called if a DeviceN colorspace will be used for rasterization.When false, if only Process colorants are provided to GetImageSeparations() then it's rendered using DeviceCMYK.When true, then it's rendered using DeviceN. ### getVerticalResolution ```java double com.datalogics.PDFL.PageImageParams.getVerticalResolution() ``` **Returns:** `double` The desired vertical resolution in pixels/inch of the output image. Defaults to 300 dpi. Must not be negative. Horizontal and vertical resolution must be either both zero or both non-zero. ### setBlackPointCompensation ```java void com.datalogics.PDFL.PageImageParams.setBlackPointCompensation(boolean arg0) ``` **Parameters** - `arg0` (`boolean`) **Returns:** `void` The BlackPointCompensation setting. Default is true if not explicitly set. ### setBypassCopyPerm ```java void com.datalogics.PDFL.PageImageParams.setBypassCopyPerm(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setCalibrateDeviceSpacesWhenPrinting ```java void com.datalogics.PDFL.PageImageParams.setCalibrateDeviceSpacesWhenPrinting(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setHorizontalResolution ```java void com.datalogics.PDFL.PageImageParams.setHorizontalResolution(double arg0) ``` **Parameters** - `arg0` (`double`) **Returns:** `void` The desired horizontal resolution in pixels/inch of the output image. Defaults to 300 dpi. Must not be negative. Horizontal and vertical resolution must be either both zero or both non-zero. ### setICCProfile ```java void com.datalogics.PDFL.PageImageParams.setICCProfile(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` (`ColorProfile`) **Returns:** `void` Sets the ICC Profile of the colorspace to be used for rendering to a known value. NOTE: The ICCProfileCustomPath must not be set for this property to be used. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### setICCProfileCustomPath ```java void com.datalogics.PDFL.PageImageParams.setICCProfileCustomPath(String colorProfilePath) ``` **Parameters** - `colorProfilePath` (`String`) **Returns:** `void` Sets the ICC Profile of the colorspace to be used for rendering from a custom file path. NOTE: The ICCProfile is ignored when this property is a non-empty string. The profile must be compatible with the ColorSpace property value, which can't be set to ICCBased either. ### setImageColorSpace ```java void com.datalogics.PDFL.PageImageParams.setImageColorSpace(ColorSpace cs) ``` **Parameters** - `cs` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)) **Returns:** `void` The ColorSpace used in exporting a PDF page to an image. Must be one of DeviceGray, DeviceRGB, DeviceRGBA, DeviceCMYK, DeviceN, or ICCBased. ### setPageDrawFlags ```java void com.datalogics.PDFL.PageImageParams.setPageDrawFlags(java.util.EnumSet< DrawFlags > arg0) ``` **Parameters** - `arg0` (`java.util.EnumSet< DrawFlags >`) **Returns:** `void` The DrawFlags used for rendering a PDF page to an image. An OR of the flags from DrawFlags which control how the PDF page is drawn. ### setPixelHeight ```java void com.datalogics.PDFL.PageImageParams.setPixelHeight(int arg0) ``` **Parameters** - `arg0` (`int`) **Returns:** `void` The height in pixels of the image to be created from a PDF page. If not specified (zero), the rendered PDF page size will be used. PixelWidth and PixelHeight must be either both zero or both non-zero. ### setPixelWidth ```java void com.datalogics.PDFL.PageImageParams.setPixelWidth(int arg0) ``` **Parameters** - `arg0` (`int`) **Returns:** `void` The width in pixels of the image to be created from a PDF page. If not specified (zero), the rendered PDF page size will be used. PixelWidth and PixelHeight must be either both zero or both non-zero. ### setRenderIntent ```java void com.datalogics.PDFL.PageImageParams.setRenderIntent(RenderIntent arg0) ``` **Parameters** - `arg0` (`RenderIntent`) **Returns:** `void` The RenderIntent used to specify color translation for colors outside gamut of the color profile used. The default is relative colorimetric. ### setSmoothing ```java void com.datalogics.PDFL.PageImageParams.setSmoothing(java.util.EnumSet< SmoothFlags > smoothflag) ``` **Parameters** - `smoothflag` (`java.util.EnumSet< SmoothFlags >`) **Returns:** `void` The SmoothFlags used in exporting a PDF page to an image. Indicates what parts of the PDF page (text, image, art, none) are to be smoothed when rendering to an image. These flags can be OR'd together. ### setThinLineHeuristics ```java void com.datalogics.PDFL.PageImageParams.setThinLineHeuristics(boolean arg0) ``` **Parameters** - `arg0` (`boolean`) **Returns:** `void` true if thin line heuristics are applied, false otherwise. The ThinLineHeuristics setting. Determines whether thin lines will be fattened non-linearly or the stroke adjust will be applied to thin rectangles. ### setUseDeviceNForImageSeparations ```java void com.datalogics.PDFL.PageImageParams.setUseDeviceNForImageSeparations(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` Sets the UseDeviceNForImageSeparations setting, which indicates when GetImageSeparations() is called if a DeviceN colorspace will be used for rasterization.When false, if only Process colorants are provided to GetImageSeparations() then it's rendered using DeviceCMYK.When true, then it's rendered using DeviceN.NOTE: This member is only applicable when calling the GetImageSeparations() method, only when Colorants used are only Process. ### setVerticalResolution ```java void com.datalogics.PDFL.PageImageParams.setVerticalResolution(double arg0) ``` **Parameters** - `arg0` (`double`) **Returns:** `void` The desired vertical resolution in pixels/inch of the output image. Defaults to 300 dpi. Must not be negative. Horizontal and vertical resolution must be either both zero or both non-zero. --- # PageLabel Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel ```java class PageLabel ``` **Namespace:** `com::datalogics::PDFL` ## Description Describes numbering labels for a range of pages. PageLabel describes how to construct a label string for a range of pages. It contains information on number style, any prefixes, and a starting position within the document. Note that a single PageLabel describes the label string for several pages all pages up until the first page covered by the next PageLabel, or the end of the document. Also note that if a Document has any PageLabels, there must be one that starts at page index 0. This will be automatically created if the user does not supply one. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PageLabelVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabelVector.md) ## Constructors ### PageLabel ```java com.datalogics.PDFL.PageLabel.PageLabel(int start, NumberStyle ns) ``` *constructor* **Parameters** - `start` (`int`): Starting page index in the Document for this range - `ns` (`NumberStyle`): Numbering style for this range Convenience constructor creates a range with no prefix starting with number 1. ### PageLabel ```java com.datalogics.PDFL.PageLabel.PageLabel(int start, NumberStyle ns, String p, int first) ``` *constructor* **Parameters** - `start` (`int`): Starting page index in the Document for this range - `ns` (`NumberStyle`): Numbering style for this range - `p` (`String`): Prefix string for this range - `first` (`int`): First number appearing on a page in this range Public constructor ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PageLabel.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PageLabel.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PageLabel.finalize() ``` *protected* **Returns:** `void` ### getEndPageIndex ```java int com.datalogics.PDFL.PageLabel.getEndPageIndex() ``` **Returns:** `int` The zero-based ending page index for this page label range. You cannot set the end index for a range; you must change the start index for the following range. A value of -1 means the end index for this PageLabel is unknown (e.g. when the label has not yet been added to a Document). ### getFirstNumberInRange ```java int com.datalogics.PDFL.PageLabel.getFirstNumberInRange() ``` **Returns:** `int` The first numeric value used for page labels in this range. Must be greater than or equal to 1. ### getNumberStyle ```java NumberStyle com.datalogics.PDFL.PageLabel.getNumberStyle() ``` **Returns:** `NumberStyle` The NumberStyle used for generating page labels in this range. ### getPrefix ```java String com.datalogics.PDFL.PageLabel.getPrefix() ``` **Returns:** `String` The prefix string prepended to page labels in this range. For example, a prefix of "A-" with decimal numbering starting at 1 would produce labels "A-1", "A-2", "A-3", etc. ### getStartPageIndex ```java int com.datalogics.PDFL.PageLabel.getStartPageIndex() ``` **Returns:** `int` The zero-based starting page index for this page label range in the Document. ### setFirstNumberInRange ```java void com.datalogics.PDFL.PageLabel.setFirstNumberInRange(int arg0) ``` **Parameters** - `arg0` (`int`) **Returns:** `void` The first numeric value used for page labels in this range. ### setNumberStyle ```java void com.datalogics.PDFL.PageLabel.setNumberStyle(NumberStyle arg0) ``` **Parameters** - `arg0` (`NumberStyle`) **Returns:** `void` The NumberStyle used for generating page labels in this range. ### setPrefix ```java void com.datalogics.PDFL.PageLabel.setPrefix(String arg0) ``` **Parameters** - `arg0` (`String`) **Returns:** `void` The prefix string prepended to page labels in this range. ### setStartPageIndex ```java void com.datalogics.PDFL.PageLabel.setStartPageIndex(int ndx) ``` **Parameters** - `ndx` (`int`) **Returns:** `void` The zero-based starting page index for this page label range in the Document. ### toString ```java String com.datalogics.PDFL.PageLabel.toString() ``` **Returns:** `String` A string describing this PageLabel. Returns a string representation of this PageLabel. The string includes the start page, end page, number style, prefix, and first page number of this label range. --- # PageLabelVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabelVector ```java class PageLabelVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`PageLabel`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md) ## Constructors ### PageLabelVector ```java com.datalogics.PDFL.PageLabelVector.PageLabelVector() ``` *constructor* ### PageLabelVector ```java com.datalogics.PDFL.PageLabelVector.PageLabelVector(Iterable< PageLabel > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< PageLabel >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md)) ## Methods ### add ```java void com.datalogics.PDFL.PageLabelVector.add(PageLabel x) ``` **Parameters** - `x` ([`PageLabel`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.PageLabelVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.PageLabelVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.PageLabelVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PageLabelVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PageLabelVector.finalize() ``` *protected* **Returns:** `void` ### get ```java PageLabel com.datalogics.PDFL.PageLabelVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`PageLabel`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md) ### isEmpty ```java boolean com.datalogics.PDFL.PageLabelVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.PageLabelVector.set(int i, PageLabel val) ``` **Parameters** - `i` (`int`) - `val` ([`PageLabel`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageLabel.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.PageLabelVector.size() ``` **Returns:** `long` --- # PageRange Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange ```java class PageRange ``` **Namespace:** `com::datalogics::PDFL` ## Description Specifies a range of pages in a document (page numbers begin with 0). **Referenced by:** [`PageRangeVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRangeVector.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkParams.md) ## Constructors ### PageRange ```java com.datalogics.PDFL.PageRange.PageRange() ``` *constructor* Specifies a range of pages in a document (page numbers begin with 0). ### PageRange ```java com.datalogics.PDFL.PageRange.PageRange(int argStartPage, int argEndPage, PageSpec argPageSpec) ``` *constructor* **Parameters** - `argStartPage` (`int`) - `argEndPage` (`int`) - `argPageSpec` (`PageSpec`) Specifies a range of pages in a document (page numbers begin with 0). ### PageRange ```java com.datalogics.PDFL.PageRange.PageRange(int argStartPage, int argEndPage, PageSpec argPageSpec, int argPagePaperSource) ``` *constructor* **Parameters** - `argStartPage` (`int`) - `argEndPage` (`int`) - `argPageSpec` (`PageSpec`) - `argPagePaperSource` (`int`) Specifies a range of pages in a document (page numbers begin with 0). ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PageRange.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PageRange.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PageRange.finalize() ``` *protected* **Returns:** `void` ### getEndPage ```java int com.datalogics.PDFL.PageRange.getEndPage() ``` **Returns:** `int` The ending page number. ### getPagePaperSource ```java short com.datalogics.PDFL.PageRange.getPagePaperSource() ``` **Returns:** `short` The paper source of a printer device for a particular PageRange. NOTE: This property is only relevant if printing and only on Windows. A value of 0 indicates this setting has no effect. ### getPageSpec ```java PageSpec com.datalogics.PDFL.PageRange.getPageSpec() ``` **Returns:** `PageSpec` ### getStartPage ```java int com.datalogics.PDFL.PageRange.getStartPage() ``` **Returns:** `int` The starting page number. ### setEndPage ```java void com.datalogics.PDFL.PageRange.setEndPage(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` The ending page number. ### setPagePaperSource ```java void com.datalogics.PDFL.PageRange.setPagePaperSource(short value) ``` **Parameters** - `value` (`short`) **Returns:** `void` The paper source of a printer device for a particular PageRange. NOTE: This property is only relevant if printing and only on Windows. A value of 0 indicates this setting has no effect. ### setPageSpec ```java void com.datalogics.PDFL.PageRange.setPageSpec(PageSpec value) ``` **Parameters** - `value` (`PageSpec`) **Returns:** `void` ### setStartPage ```java void com.datalogics.PDFL.PageRange.setStartPage(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` The starting page number. --- # PageRangeVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRangeVector ```java class PageRangeVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md) ## Constructors ### PageRangeVector ```java com.datalogics.PDFL.PageRangeVector.PageRangeVector() ``` *constructor* ### PageRangeVector ```java com.datalogics.PDFL.PageRangeVector.PageRangeVector(Iterable< PageRange > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< PageRange >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md)) ## Methods ### add ```java void com.datalogics.PDFL.PageRangeVector.add(PageRange x) ``` **Parameters** - `x` ([`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.PageRangeVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.PageRangeVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.PageRangeVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PageRangeVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PageRangeVector.finalize() ``` *protected* **Returns:** `void` ### get ```java PageRange com.datalogics.PDFL.PageRangeVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md) ### isEmpty ```java boolean com.datalogics.PDFL.PageRangeVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.PageRangeVector.set(int i, PageRange val) ``` **Parameters** - `i` (`int`) - `val` ([`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.PageRangeVector.size() ``` **Returns:** `long` --- # PaperSource Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PaperSource ```java class PaperSource ``` **Namespace:** `com::datalogics::PDFL` ## Description Defines a set of paper trays in a printer that can be used to select the paper source when printing. ## Fields ### AUTO ```java static final int com.datalogics.PDFL.PaperSource.AUTO ``` *static* Auto select based on paper size ### CASSETTE ```java static final int com.datalogics.PDFL.PaperSource.CASSETTE ``` *static* Use paper from the cassette tray ### ENVELOPE ```java static final int com.datalogics.PDFL.PaperSource.ENVELOPE ``` *static* Use paper from the envelope tray ### ENV_MAUAL ```java static final int com.datalogics.PDFL.PaperSource.ENV_MAUAL ``` *static* Use paper from the envelope manual feed ### FIRST ```java static final int com.datalogics.PDFL.PaperSource.FIRST ``` *static* Use paper from the upper tray ### FORM_SOURCE ```java static final int com.datalogics.PDFL.PaperSource.FORM_SOURCE ``` *static* Use paper from the forms tray ### LARGE_CAPACITY ```java static final int com.datalogics.PDFL.PaperSource.LARGE_CAPACITY ``` *static* Use paper from the large capacity tray ### LARGE_FMT ```java static final int com.datalogics.PDFL.PaperSource.LARGE_FMT ``` *static* Use paper from the large forms tray ### LAST ```java static final int com.datalogics.PDFL.PaperSource.LAST ``` *static* Use paper from the forms tray ### LOWER ```java static final int com.datalogics.PDFL.PaperSource.LOWER ``` *static* Use paper from the lower tray ### MANUAL ```java static final int com.datalogics.PDFL.PaperSource.MANUAL ``` *static* Use paper from the manual feed ### MIDDLE ```java static final int com.datalogics.PDFL.PaperSource.MIDDLE ``` *static* Use paper from the middle tray ### ONLY_ONE ```java static final int com.datalogics.PDFL.PaperSource.ONLY_ONE ``` *static* Use paper from the upper tray ### SMALL_FMT ```java static final int com.datalogics.PDFL.PaperSource.SMALL_FMT ``` *static* Use paper from the small forms tray ### TRACTOR ```java static final int com.datalogics.PDFL.PaperSource.TRACTOR ``` *static* Use paper from the tractor feed ### UPPER ```java static final int com.datalogics.PDFL.PaperSource.UPPER ``` *static* Use paper from the upper tray ### USER ```java static final int com.datalogics.PDFL.PaperSource.USER ``` *static* Use paper from device specific trays by setting PaperSource to a value larger than User ### USE_SYSTEM_DEFAULT ```java static final int com.datalogics.PDFL.PaperSource.USE_SYSTEM_DEFAULT ``` *static* Use the default paper source ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PaperSource.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PaperSource.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PaperSource.finalize() ``` *protected* **Returns:** `void` --- # Path Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path ```java class Path : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description A path in a PDF file defines shapes. Paths in PDF files are used to draw lines, define filled areas, and define boundaries for clipping graphics. A path is composed of straight and curved line segments. **Referenced by:** [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Constructors ### Path ```java com.datalogics.PDFL.Path.Path() ``` *constructor* Create a path. ### Path ```java com.datalogics.PDFL.Path.Path(GraphicState graphicState) ``` *constructor* **Parameters** - `graphicState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): the initial graphic state for the path Create a path with a given graphic state. ## Methods ### addCurve ```java void com.datalogics.PDFL.Path.addCurve(Point Point1, Point Point2, Point Point3) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): second Bezier control point - `Point3` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the ending Point of the Bezier curve which will also be the current point of the current path. **Returns:** `void` Adds a Bezier curve from the current path using the first two points specified as Bezier control points ending at the third point. The new current point is then set to the third point. ### addCurveV ```java void com.datalogics.PDFL.Path.addCurveV(Point Point1, Point Point2) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the ending Point of the Bezier curve which will also be the new current point of the path. **Returns:** `void` Adds a Bezier curve from the current path. This extends from the current path to the point Point2 using the current point and the first point specified as Bezier control points ending at the second point. The new current point is then set to the second point. ### addCurveY ```java void com.datalogics.PDFL.Path.addCurveY(Point Point1, Point Point2) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): second Bezier control point and the ending Point of the Bezier curve which will also be the new current point of the path. **Returns:** `void` Adds a Bezier curve from the current path. This extends from the current path to the point Point2 using the two points specified as Bezier control points ending at the second point. The new current point is then set to the second point. ### addLine ```java void com.datalogics.PDFL.Path.addLine(Point Point) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the coordinates of the endpoint of the new line. **Returns:** `void` Adds a line to the current path from the current path position. The given point becomes the new current position. ### addRect ```java void com.datalogics.PDFL.Path.addRect(Point Point, double Width, double Height) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the coordinates of the lower left corner of the new rectangle. - `Width` (`double`): the width of the new rectangle. - `Height` (`double`): the height of the new rectangle. **Returns:** `void` Adds a rectangle to the current path with the lower left corner at the give point, and with the width and height specified. ### clone ```java Path com.datalogics.PDFL.Path.clone() ``` **Returns:** [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md) The copied path. Makes a copy of the path. Make a copy of an path to obtain a new path that has a distinct set of attributes. ### clone ```java Path com.datalogics.PDFL.Path.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md) The copied path. Makes a copy of the path. Make a copy of an path to obtain a new path that has a distinct set of attributes. ### closePath ```java void com.datalogics.PDFL.Path.closePath() ``` **Returns:** `void` Closes the current subpath. ### colorConvert ```java Path com.datalogics.PDFL.Path.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md) A new Path with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Path ### delete ```java synchronized void com.datalogics.PDFL.Path.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Path.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Path.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getGraphicState ```java GraphicState com.datalogics.PDFL.Path.getGraphicState() ``` **Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) Get the graphic state of the current path. May return null if this element does not have a GraphicState. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getPaintOp ```java java.util.EnumSet< PathPaintOpFlags > com.datalogics.PDFL.Path.getPaintOp() ``` **Returns:** `java.util.EnumSet< PathPaintOpFlags >` the PathPaintOpFlags flags describing the fill and stroke attributes. Gets the fill and stroke attributes of a path. ### getSegments ```java java.util.List< Segment > com.datalogics.PDFL.Path.getSegments() ``` **Returns:** [`java.util.List< Segment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) Get the segments of the path. Returns a list of Segment objects, one for each segment in the path. ### moveTo ```java void com.datalogics.PDFL.Path.moveTo(Point Point) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the coordinates of the new current point. **Returns:** `void` Moves the current point of the path to the given point. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setGraphicState ```java void com.datalogics.PDFL.Path.setGraphicState(GraphicState gstate) ``` **Parameters** - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): the new/updated Graphic State for the path. **Returns:** `void` Set the Graphic State of the current path. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### setPaintOp ```java void com.datalogics.PDFL.Path.setPaintOp(java.util.EnumSet< PathPaintOpFlags > paintops) ``` **Parameters** - `paintops` (`java.util.EnumSet< PathPaintOpFlags >`): the flags describing the fill and stroke attributes. **Returns:** `void` Sets the fill and stroke attributes of a path. ### setSegments ```java void com.datalogics.PDFL.Path.setSegments(java.util.List< Segment > segments) ``` **Parameters** - `segments` ([`java.util.List< Segment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md)): The segments in the path. This list must have at least one element. **Returns:** `void` Set the segments of the path. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # Pattern Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern ```java class Pattern ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md) ## Description A pattern is used to fill an area to be painted. A tiling pattern consists of a repeating graphical figure that is replicated across an area to be filled in, or painted. A shading pattern provides smoothly varying gradients of color, to produce a transition between colors across an area. **Referenced by:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) **Uses types:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Pattern.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Pattern.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Pattern.finalize() ``` *protected* **Returns:** `void` ### getPDFObject ```java PDFObject com.datalogics.PDFL.Pattern.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject representing this pattern in the PDF document. Gets the underlying PDF object for this pattern. ### toString ```java String com.datalogics.PDFL.Pattern.toString() ``` **Returns:** `String` A string describing this Pattern. Convert a pattern to a string representation. --- # PDFAConvertParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertParams ```java class PDFAConvertParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Parameters for converting a document to PDF/A compliance. These parameters control how a Document is converted to the PDF/A standard. `RemoveAllAnnotations` if true, will remove all Annotations and Actions from the output `IgnoreFontErrors` if true, will try to rasterize the page when fonts cannot be embedded `AbortIfXFAIsPresent` if true, will abort conversion process if XFA form entry is detected `NoValidationErrors` if true, will ignore validation errors `RasterizationResolution` rasterization resolution; if 0, use 72 DPI `ValidateImplementationLimitsOfDocument` Validate PDF Implementation Limits of the Document. PDF/A is an ISO-standard version the PDF format. It is designed to be used with PDF files that need to be archived and stored for long periods. For example, the fonts in a PDF/A file are embedded in the file itself, rather than accessed through a link to a font directory on a local server. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PDFAConvertParams ```java com.datalogics.PDFL.PDFAConvertParams.PDFAConvertParams() ``` *constructor* Default constructor for PDFAConvertParams. Initializes with RemoveAllAnnotations = false, IgnoreFontErrors = true, AbortIfXFAIsPresent = false, NoValidationErrors = false, RasterizationResolution = 72, and ValidateImplementationLimitsOfDocument = true. ### PDFAConvertParams ```java com.datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(boolean RemoveAllAnnotations, boolean IgnoreFontErrors, boolean AbortIfXFAIsPresent) ``` *constructor* **Parameters** - `RemoveAllAnnotations` (`boolean`): Remove all annotations whether legal or illegal. - `IgnoreFontErrors` (`boolean`): Rasterize a page when fonts cannot be embedded. - `AbortIfXFAIsPresent` (`boolean`): Abort when XFA is present for PDF/A-1. Parameters for converting to PDF/A. ### PDFAConvertParams ```java com.datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(boolean removeAllAnnotations, boolean ignoreFontErrors, boolean abortIfXFAIsPresent, boolean noValidationErrors, int rasterizationResolution) ``` *constructor* **Parameters** - `removeAllAnnotations` (`boolean`): Remove all annotations whether legal or illegal. - `ignoreFontErrors` (`boolean`): Rasterize a page when fonts cannot be embedded. - `abortIfXFAIsPresent` (`boolean`): Abort when XFA is present for PDF/A-1. - `noValidationErrors` (`boolean`): Ignore validation errors. - `rasterizationResolution` (`int`): Rasterization resolution. Parameters for converting to PDF/A. ### PDFAConvertParams ```java com.datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(boolean removeAllAnnotations, boolean ignoreFontErrors, boolean abortIfXFAIsPresent, boolean noValidationErrors, int rasterizationResolution, boolean validateImplementationLimitsOfDocument) ``` *constructor* **Parameters** - `removeAllAnnotations` (`boolean`): Remove all annotations whether legal or illegal. - `ignoreFontErrors` (`boolean`): Rasterize a page when fonts cannot be embedded. - `abortIfXFAIsPresent` (`boolean`): Abort when XFA is present for PDF/A-1. - `noValidationErrors` (`boolean`): Ignore validation errors. - `rasterizationResolution` (`int`): Rasterization resolution. - `validateImplementationLimitsOfDocument` (`boolean`): Validate PDF Implementation Limits of the Document. Parameters for converting to PDF/A. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PDFAConvertParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFAConvertParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PDFAConvertParams.finalize() ``` *protected* **Returns:** `void` ### getAbortIfXFAIsPresent ```java boolean com.datalogics.PDFL.PDFAConvertParams.getAbortIfXFAIsPresent() ``` **Returns:** `boolean` The presence of XFA can result in some loss of data in output PDF/A-1 file as the PDFProcessor does not support XFA. However you can choose to abort the conversion if XFA is present by setting this parameter to true. By default we will not abort if XFA is present for PDF/A-1. By default we will not abort if XFA is present for PDF/A-1. If false we will convert even if XFA is found. If true we will abort the process if XFA is found. ### getIgnoreFontErrors ```java boolean com.datalogics.PDFL.PDFAConvertParams.getIgnoreFontErrors() ``` **Returns:** `boolean` If we encounter any errors like unembeddable fonts etc. while conversion then we try to rasterize the current page on which the error occured. However the client can modify this behavior by setting the value of this parameter to false in which case we will throw an error if we encounter any problems while conversion. By default we will rasterize the page on error. If true we will try to rasterize the current page if any error occured. If false we will abort and throw an exception if any error occured. ### getNoValidationErrors ```java boolean com.datalogics.PDFL.PDFAConvertParams.getNoValidationErrors() ``` **Returns:** `boolean` Permit validation errors to be ignored When true, PDF Implementation Limits (as defined in the PDF Specification of the PDF/A target) of the page are ignored. When false, PDF Implementation Limits of the Page are checked and if violated will cause the Page to be rasterized as a fallback mechanism when IgnoreFontErrors is true or simply raise an error if IgnoreFontErrors is false. ### getProfileDesc ```java String com.datalogics.PDFL.PDFAConvertParams.getProfileDesc() ``` **Returns:** `String` The Output Intent of a PDF/A document may be any valid CMYK Profile for CMYK Conversion, and any valid RGB profile for RGB conversion. This parameter allows the user to specify a particular profile for this conversion by description. When this parameter is not present, the profile "U.S. Web Coated (SWOP) v2" will be used for CMYK Conversions, and "sRGB IEC61966-2.1" for RGB conversions. If this description is present, and specifies a profile of the wrong color family, or specifies a profile which cannot be located in resources, an exception will be raised. ### getRasterizationResolution ```java int com.datalogics.PDFL.PDFAConvertParams.getRasterizationResolution() ``` **Returns:** `int` Permit user to select rasterization resolution When this value is zero, we will rasterize at 72 DPI (Legacy Behaviour). Otherwise, we will interpret the value as the desired resolution. ### getRemoveAllAnnotations ```java boolean com.datalogics.PDFL.PDFAConvertParams.getRemoveAllAnnotations() ``` **Returns:** `boolean` Some of the standards like PDF/A prohibit the presence of some types of Annotations and Actions in order to comply with those standards. By default we will filter all illegal Annotations and Actions. If false we will filter out all illegal Annotations and Actions (according to the standard being used) while retaining the legal ones. If true this will remove all the Annotations and Actions from the output PDF/A compliant file. ### getValidateImplementationLimitsOfDocument ```java boolean com.datalogics.PDFL.PDFAConvertParams.getValidateImplementationLimitsOfDocument() ``` **Returns:** `boolean` Validate PDF Implementation Limits (as defined in the PDF Specification of the PDF/A target) of the Document. When true. PDF Implementation Limits are checked and if violated raise an error. When false, PDF Implementation Limits are not checked. Note this option applies to the Whole document versus only Pages in the NoValidationErrors option. NOTE: It's recommended NoValidationErrors be set to false, IgnoreFontErrors be set to false, and ValidateImplementationLimitsOfDocument be set to true for getting the best quality output that adheres to the specification. ### setAbortIfXFAIsPresent ```java void com.datalogics.PDFL.PDFAConvertParams.setAbortIfXFAIsPresent(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` The presence of XFA can result in some loss of data in output PDF/A-1 file as the PDFProcessor does not support XFA. However you can choose to abort the conversion if XFA is present by setting this parameter to true. By default we will not abort if XFA is present for PDF/A-1. By default we will not abort if XFA is present for PDF/A-1. If false we will convert even if XFA is found. If true we will abort the process if XFA is found. ### setIgnoreFontErrors ```java void com.datalogics.PDFL.PDFAConvertParams.setIgnoreFontErrors(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If we encounter any errors like unembeddable fonts etc. while conversion then we try to rasterize the current page on which the error occured. However the client can modify this behavior by setting the value of this parameter to false in which case we will throw an error if we encounter any problems while conversion. By default we will rasterize the page on error. If true we will try to rasterize the current page if any error occured. If false we will abort and throw an exception if any error occured. ### setNoValidationErrors ```java void com.datalogics.PDFL.PDFAConvertParams.setNoValidationErrors(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` Permit validation errors to be ignored When true, PDF Implementation Limits (as defined in the PDF Specification of the PDF/A target) of the page are ignored. When false, PDF Implementation Limits of the Page are checked and if violated will cause the Page to be rasterized as a fallback mechanism when IgnoreFontErrors is true or simply raise an error if IgnoreFontErrors is false. ### setProfileDesc ```java void com.datalogics.PDFL.PDFAConvertParams.setProfileDesc(String profile) ``` **Parameters** - `profile` (`String`) **Returns:** `void` The Output Intent of a PDF/A document may be any valid CMYK Profile for CMYK Conversion, and any valid RGB profile for RGB conversion. This parameter allows the user to specify a particular profile for this conversion by description. When this parameter is not present, the profile "U.S. Web Coated (SWOP) v2" will be used for CMYK Conversions, and "sRGB IEC61966-2.1" for RGB conversions. If this description is present, and specifies a profile of the wrong color family, or specifies a profile which cannot be located in resources, an exception will be raised. ### setRasterizationResolution ```java void com.datalogics.PDFL.PDFAConvertParams.setRasterizationResolution(int theSetting) ``` **Parameters** - `theSetting` (`int`) **Returns:** `void` Permit user to select rasterization resolution When this value is zero, we will rasterize at 72 DPI (Legacy Behaviour). Otherwise, we will interpret the value as the desired resolution. ### setRemoveAllAnnotations ```java void com.datalogics.PDFL.PDFAConvertParams.setRemoveAllAnnotations(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` Some of the standards like PDF/A prohibit the presence of some types of Annotations and Actions in order to comply with those standards. By default we will filter all illegal Annotations and Actions. If false we will filter out all illegal Annotations and Actions (according to the standard being used) while retaining the legal ones. If true this will remove all the Annotations and Actions from the output PDF/A compliant file. ### setValidateImplementationLimitsOfDocument ```java void com.datalogics.PDFL.PDFAConvertParams.setValidateImplementationLimitsOfDocument(boolean validateImplementationLimitsOfDocument) ``` **Parameters** - `validateImplementationLimitsOfDocument` (`boolean`) **Returns:** `void` Validate PDF Implementation Limits (as defined in the PDF Specification of the PDF/A target) of the Document. When true. PDF Implementation Limits are checked and if violated raise an error. When false, PDF Implementation Limits are not checked. Note this option applies to the Whole document versus only Pages in the NoValidationErrors option. NOTE: It's recommended NoValidationErrors be set to false, IgnoreFontErrors be set to false, and ValidateImplementationLimitsOfDocument be set to true for getting the best quality output that adheres to the specification. --- # PDFAConvertResult Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFAConvertResult ```java class PDFAConvertResult ``` **Namespace:** `com::datalogics::PDFL` ## Description Return the PDF/A compliant version of the document. Contains a PDF document if the conversion is successful; returns null if the conversion fails. PDF/A is an ISO-standard version the PDF format, lighter and designed to be used with PDF files that need to be archived for long periods. For example, the fonts in a PDF/A file are embedded in the file itself, and not accessed from the host machine. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PDFAConvertResult ```java com.datalogics.PDFL.PDFAConvertResult.PDFAConvertResult() ``` *constructor* ### PDFAConvertResult ```java com.datalogics.PDFL.PDFAConvertResult.PDFAConvertResult(Document doc, EnumSet< SaveFlags > flags) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) - `flags` (`EnumSet< SaveFlags >`) ## Methods ### getPDFADocument ```java Document com.datalogics.PDFL.PDFAConvertResult.getPDFADocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) Return the PDF/A compliant version of the document. This will return null if the conversion failed. ### getPDFASaveFlags ```java EnumSet< SaveFlags > com.datalogics.PDFL.PDFAConvertResult.getPDFASaveFlags() ``` **Returns:** `EnumSet< SaveFlags >` Return the SaveFlags that must be used when saving the PDF/A compliant document. You *must* use these SaveFlags when saving the PDF/A document, or you risk breaking PDF/A compliance. ### setPDFADocument ```java void com.datalogics.PDFL.PDFAConvertResult.setPDFADocument(Document value) ``` **Parameters** - `value` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) **Returns:** `void` Set the PDF/A compliant version of the document. ### setPDFASaveFlags ```java void com.datalogics.PDFL.PDFAConvertResult.setPDFASaveFlags(EnumSet< SaveFlags > value) ``` **Parameters** - `value` (`EnumSet< SaveFlags >`) **Returns:** `void` Set the SaveFlags that must be used when saving the PDF/A compliant document. --- # PDFArray Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray ```java class PDFArray : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents an array of data elements within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFInteger represents a single integer value. Others represent a collection of PDFObjects, like PDFArray, an indexed array of data elements. A PDFArray is a heterogenous collection object that gathers other PDFObjects (including other PDFArrays) into an indexed list. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFArray ```java com.datalogics.PDFL.PDFArray.PDFArray(Document doc, boolean indirect) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFArray - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFArray ```java com.datalogics.PDFL.PDFArray.PDFArray(PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### add ```java void com.datalogics.PDFL.PDFArray.add(PDFObject object) ``` **Parameters** - `object` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `void` Adds an object to the end of the array ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFArray.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFArray.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFArray.finalize() ``` *protected* **Returns:** `void` ### get ```java PDFObject com.datalogics.PDFL.PDFArray.get(int index) ``` **Parameters** - `index` (`int`) **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) Returns the object at the given index. ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getLength ```java int com.datalogics.PDFL.PDFArray.getLength() ``` **Returns:** `int` The number of elements in this array. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### insert ```java void com.datalogics.PDFL.PDFArray.insert(int index, PDFObject object) ``` **Parameters** - `index` (`int`) - `object` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `void` Inserts an object at the given index, displacing existing objects. All objects following this will have their index increased by one. ### put ```java void com.datalogics.PDFL.PDFArray.put(int index, PDFObject obj) ``` **Parameters** - `index` (`int`) - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `void` Puts an object at the given index, replacing the existing item. The index can be greater than the current length of the array; the array will be extended and the empty slots filled with null objects. ### remove ```java void com.datalogics.PDFL.PDFArray.remove(PDFObject object) ``` **Parameters** - `object` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `void` Removes the first object that matches the given object. The length of the array is reduced by 1. ### removeAt ```java void com.datalogics.PDFL.PDFArray.removeAt(int index) ``` **Parameters** - `index` (`int`) **Returns:** `void` Removes the object at the given index. The length of the array is reduced by 1. ### toString ```java String com.datalogics.PDFL.PDFArray.toString() ``` **Returns:** `String` A string describing this PDFObject. Returns a string representation of this PDFObject. The string includes the object's indirect status, and if indirect, its ID and generation number. --- # PDFBoolean Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFBoolean ```java class PDFBoolean : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents a boolean data element within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFBoolean represents a single boolean value. Others represent a collection of PDFObjects, such as PDFArray, an indexed array of data elements. A PDFBoolean represents a single boolean value, and may be inserted into any collection object. **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFBoolean ```java com.datalogics.PDFL.PDFBoolean.PDFBoolean(boolean value, Document doc, boolean indirect) ``` *constructor* **Parameters** - `value` (`boolean`): Boolean value of this PDFBoolean - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFBoolean - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFBoolean ```java com.datalogics.PDFL.PDFBoolean.PDFBoolean(boolean value, PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `value` (`boolean`): Boolean value of this PDFBoolean - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFBoolean.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFBoolean.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFBoolean.finalize() ``` *protected* **Returns:** `void` ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getValue ```java boolean com.datalogics.PDFL.PDFBoolean.getValue() ``` **Returns:** `boolean` Boolean value of this object. ### toString ```java String com.datalogics.PDFL.PDFBoolean.toString() ``` **Returns:** `String` A string describing this PDFBoolean and its properties, including its value. Returns a string representation of this PDFBoolean. --- # PDFDict Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict ```java class PDFDict : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents an associative collection of data elements within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements, such as PDFInteger, which represents a single integer value. Other subclasses represent a collection of PDFObjects, like PDFArray, an indexed array of data elements. A PDFDict is a heterogenous collection object that maps other PDFObjects (including other PDFDicts) to PDFName objects. **Referenced by:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GoToAction.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`URIAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/URIAction.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFDict ```java com.datalogics.PDFL.PDFDict.PDFDict(Document doc, boolean indirect) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFDict - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFDict ```java com.datalogics.PDFL.PDFDict.PDFDict(PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### contains ```java boolean com.datalogics.PDFL.PDFDict.contains(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** `boolean` true if the given key exists Tests whether the given key exists in the dictionary ### contains ```java boolean com.datalogics.PDFL.PDFDict.contains(String key) ``` **Parameters** - `key` (`String`): A string representing the name for the key **Returns:** `boolean` true if the given key exists Tests whether the given key exists in the dictionary ### delete ```java synchronized void com.datalogics.PDFL.PDFDict.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFDict.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFDict.finalize() ``` *protected* **Returns:** `void` ### get ```java PDFObject com.datalogics.PDFL.PDFDict.get(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A PDFObject matching the key Returns the object matching the given key. ### get ```java PDFObject com.datalogics.PDFL.PDFDict.get(String key) ``` **Parameters** - `key` (`String`): A string representing the name for the key **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A PDFObject matching the key Returns the object matching the given key string. ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getKeys ```java java.util.List< PDFObject > com.datalogics.PDFL.PDFDict.getKeys() ``` **Returns:** [`java.util.List< PDFObject >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) a list of all the keys Get a list of all keys in the dictionary ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getXMPMetadata ```java String com.datalogics.PDFL.PDFDict.getXMPMetadata() ``` **Returns:** `String` The XMP metadata associated with this dictionary. NULL if there is no such data. Note: PDFL will not attempt to verify that obj is one of the objects specified to allow XMP metadata by the PDF reference. ### put ```java void com.datalogics.PDFL.PDFDict.put(PDFName key, PDFObject obj) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): A PDFObject to add to the dictionary **Returns:** `void` Puts an object with the matching key into the dictionary, adding the entry if the key is not already present. ### put ```java void com.datalogics.PDFL.PDFDict.put(String key, PDFObject obj) ``` **Parameters** - `key` (`String`): A string representing the name for the key - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): A PDFObject to add to the dictionary **Returns:** `void` Puts an object with the matching key string into the dictionary, adding the entry if the key is not already present. ### remove ```java void com.datalogics.PDFL.PDFDict.remove(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** `void` Removes a key/object pair from the dictionary. ### remove ```java void com.datalogics.PDFL.PDFDict.remove(String key) ``` **Parameters** - `key` (`String`): A string representing the name for the key **Returns:** `void` Removes a key/object pair from the dictionary. ### setXMPMetadata ```java void com.datalogics.PDFL.PDFDict.setXMPMetadata(String metadata) ``` **Parameters** - `metadata` (`String`) **Returns:** `void` The XMP metadata associated with this dictionary. NULL if there is no such data. Note: PDFL will not attempt to verify that obj is one of the objects that is specified in the PDF reference to allow XMP metadata. ### toString ```java String com.datalogics.PDFL.PDFDict.toString() ``` **Returns:** `String` A string describing this PDFDict and its properties. Returns a string representation of this PDFDict. --- # PDFInteger Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFInteger ```java class PDFInteger : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents an integer data element within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFInteger represents a single integer value. Others represent a collection of PDFObjects, such as PDFArray, an indexed array of data elements. A PDFInteger represents a single integer value, and may be inserted into any collection object. **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFInteger ```java com.datalogics.PDFL.PDFInteger.PDFInteger(int value, Document doc, boolean indirect) ``` *constructor* **Parameters** - `value` (`int`): Integer value of this PDFInteger - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFInteger - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFInteger ```java com.datalogics.PDFL.PDFInteger.PDFInteger(int value, PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `value` (`int`): Integer value of this PDFInteger - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFInteger.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFInteger.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFInteger.finalize() ``` *protected* **Returns:** `void` ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getLongValue ```java long com.datalogics.PDFL.PDFInteger.getLongValue() ``` **Returns:** `long` Full 64-bit integer value of this object, without the 32-bit truncation of GetValue(). Use for values that may exceed 2^31-1. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getValue ```java int com.datalogics.PDFL.PDFInteger.getValue() ``` **Returns:** `int` Integer value of this object. ### toString ```java String com.datalogics.PDFL.PDFInteger.toString() ``` **Returns:** `String` A string describing this PDFInteger and its properties, including its value. Returns a string representation of this PDFInteger. --- # PDFL Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFL ```java class PDFL : PDFLConstants ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFLConstants`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/interface/PDFLConstants.md) --- # PDFLConstants Interface Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/interface/PDFLConstants ```java interface PDFLConstants ``` **Namespace:** `com::datalogics::PDFL` --- # PDFName Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName ```java class PDFName : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents a name data element within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFName represents a single name value. Others represent a collection of PDFObjects, such as PDFArray, an indexed array of data elements. A PDFName represents a single indivisible name token, and may be inserted into any collection object. It may also be used as a key in a PDFDictionary. **Referenced by:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFName ```java com.datalogics.PDFL.PDFName.PDFName(String value, Document doc, boolean indirect) ``` *constructor* **Parameters** - `value` (`String`): String value representing this PDFName - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFName - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFName ```java com.datalogics.PDFL.PDFName.PDFName(String value, PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `value` (`String`): String value representing this PDFName - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFName.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFName.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFName.finalize() ``` *protected* **Returns:** `void` ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getValue ```java String com.datalogics.PDFL.PDFName.getValue() ``` **Returns:** `String` String value of this object. ### toString ```java String com.datalogics.PDFL.PDFName.toString() ``` **Returns:** `String` A string describing this PDFName, including its value and properties. Returns a string representation of this PDFName object. The returned string includes property information and the name value in a human-readable format. --- # PDFObject Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject ```java class PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md) ## Description Represents the underlying simple data element of an object in a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFInteger represents a single integer value. Others represent a collection of PDFObjects, such as PDFArray, an indexed array of data elements. PDFObject is the superclass of these simple objects. A PDFObject cannot be directly instantiated, but any of its subclasses may. Any PDFObject may be either direct or indirect. A direct object exists within its collection object (such as a PDFArray) and can be referenced only within that collection object. An indirect object exists outside of any collection object and can be referenced by many collection objects. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NumberTree.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md), [`Pattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFObject.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFObject.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFObject.finalize() ``` *protected* **Returns:** `void` ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### toString ```java String com.datalogics.PDFL.PDFObject.toString() ``` **Returns:** `String` A string describing this PDFObject. Returns a string representation of this PDFObject. The string includes the object's indirect status, and if indirect, its ID and generation number. --- # PDFObjectEnumProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc ```java class PDFObjectEnumProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents callback function for Document.EnumIndirectPDFObjects & PDFObject.Enum. Enum is short for Enumerate. The class considers a list of indirect PDF objects. The callback function calls each object, and considers each object one by one, and continues to call and review each object until it finds and selects the object that is needed. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString.md) **Uses types:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### PDFObjectEnumProc ```java com.datalogics.PDFL.PDFObjectEnumProc.PDFObjectEnumProc() ``` *constructor* Represents callback function for Document.EnumIndirectPDFObjects & PDFObject.Enum. Enum is short for Enumerate. The class considers a list of indirect PDF objects. The callback function calls each object, and considers each object one by one, and continues to call and review each object until it finds and selects the object that is needed. ## Methods ### Call ```java boolean com.datalogics.PDFL.PDFObjectEnumProc.Call(PDFObject pdfObject, PDFObject pdfObjectValue) ``` **Parameters** - `pdfObject` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) - `pdfObjectValue` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `boolean` ### delete ```java synchronized void com.datalogics.PDFL.PDFObjectEnumProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFObjectEnumProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PDFObjectEnumProc.finalize() ``` *protected* **Returns:** `void` --- # PDFOptimizer Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFOptimizer ```java class PDFOptimizer ``` **Namespace:** `com::datalogics::PDFL` ## Description Implementation of the PDF Optimizer function. Use the PDFOptimizer object to accumulate options for the Optimization, and to Optimize documents. **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md) ## Constructors ### PDFOptimizer ```java com.datalogics.PDFL.PDFOptimizer.PDFOptimizer() ``` *constructor* Construct a CPDFOptimizer, with default Options. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PDFOptimizer.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFOptimizer.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PDFOptimizer.finalize() ``` *protected* **Returns:** `void` ### getCompressionQuality ```java CompressQuality com.datalogics.PDFL.PDFOptimizer.getCompressionQuality(CompressImageType type) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to query. **Returns:** `CompressQuality` The compression quality level for the specified color model. Get the value of the Compression Quality for a given color model. ### getMajorVersion ```java short com.datalogics.PDFL.PDFOptimizer.getMajorVersion() ``` **Returns:** `short` The major PDF version number, or 0 if the Optimizer will decide. Get the value of the Major Version of the optimized document. ### getMaxResolution ```java int com.datalogics.PDFL.PDFOptimizer.getMaxResolution(CompressImageType type) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to query. **Returns:** `int` The maximum resolution in DPI above which images will be downsampled. Get the value of the Max DPI for a given color model. ### getMinorVersion ```java short com.datalogics.PDFL.PDFOptimizer.getMinorVersion() ``` **Returns:** `short` The minor PDF version number. Get the value of the Minor Version of the optimized document. ### getObjectCompression ```java ObjectCompressionType com.datalogics.PDFL.PDFOptimizer.getObjectCompression() ``` **Returns:** `ObjectCompressionType` The current object compression type setting. Get the value of the Object Compression of the optimized document. ### getOption ```java boolean com.datalogics.PDFL.PDFOptimizer.getOption(OptimizerOption option) ``` **Parameters** - `option` (`OptimizerOption`): The optimization option to query. **Returns:** `boolean` true if the option is enabled, false if it is disabled. Get the value of a single Optimizer Option. ### getRecompressionType ```java CompressionType com.datalogics.PDFL.PDFOptimizer.getRecompressionType(CompressImageType type) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to query. **Returns:** `CompressionType` The compression type that will be applied to images of the specified color model. Get the value of the Recompression Type for a given color model. ### getResampleToResolution ```java int com.datalogics.PDFL.PDFOptimizer.getResampleToResolution(CompressImageType type) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to query. **Returns:** `int` The target resolution in DPI to which images will be downsampled. Get the value of the Resample To DPI for a given color model. ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document doc, javax.imageio.stream.ImageOutputStream stream) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) - `stream` (`javax.imageio.stream.ImageOutputStream`) **Returns:** `void` ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document doc, javax.imageio.stream.ImageOutputStream stream, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) - `stream` (`javax.imageio.stream.ImageOutputStream`) - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)) - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)) **Returns:** `void` ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document document, JavaStreamFile dest) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document to optimize. - `dest` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)): The stream file handle to write the optimized document to. **Returns:** `void` Perform the Optimization of a single document, saving the result to a stream. ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document document, JavaStreamFile dest, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document to optimize. - `dest` ([`JavaStreamFile`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/JavaStreamFile.md)): The stream file handle to write the optimized document to. - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): An optional progress monitor callback, or NULL. - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): An optional cancellation callback, or NULL. **Returns:** `void` Perform the Optimization of a single document, saving the result to a stream. ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document document, String newPath) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document to optimize. - `newPath` (`String`): The file system path where the optimized document will be saved. **Returns:** `void` Perform the Optimization of a single document, saving the result in a new file. ### optimize ```java void com.datalogics.PDFL.PDFOptimizer.optimize(Document document, String newPath, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document to optimize. - `newPath` (`String`): The file system path where the optimized document will be saved. - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): An optional progress monitor callback, or NULL. - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): An optional cancellation callback, or NULL. **Returns:** `void` Perform the Optimization of a single document, saving the result in a new file. ### setCompressionQuality ```java void com.datalogics.PDFL.PDFOptimizer.setCompressionQuality(CompressImageType type, CompressQuality value) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to set. - `value` (`CompressQuality`): The compression quality level to apply. **Returns:** `void` Set the value for the Compression Quality for a given color model. Any image that recompressed, regardless of the reason, will use this Quality for the Quality value of the specific compression type. ### setMajorVersion ```java void com.datalogics.PDFL.PDFOptimizer.setMajorVersion(short major) ``` **Parameters** - `major` (`short`): The major PDF version number. **Returns:** `void` Set the value for the Major Version for the optimized document. ### setMaxResolution ```java void com.datalogics.PDFL.PDFOptimizer.setMaxResolution(CompressImageType type, int value) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to set. - `value` (`int`): The maximum resolution in DPI. **Returns:** `void` Set the value for the Max DPI for a given color model. Any image above this resolution will be down sampled, if the Downsampling option is true for this color model. ### setMinorVersion ```java void com.datalogics.PDFL.PDFOptimizer.setMinorVersion(short minor) ``` **Parameters** - `minor` (`short`): The minor PDF version number. **Returns:** `void` Set the value for the Minor Version for the optimized document. ### setObjectCompression ```java void com.datalogics.PDFL.PDFOptimizer.setObjectCompression(ObjectCompressionType objectCompression) ``` **Parameters** - `objectCompression` (`ObjectCompressionType`): The desired object compression type. **Returns:** `void` Set the value for the Object Compression for the optimized document. ### setOption ```java void com.datalogics.PDFL.PDFOptimizer.setOption(OptimizerOption option, boolean value) ``` **Parameters** - `option` (`OptimizerOption`): The optimization option to set. - `value` (`boolean`): true to enable the option, false to disable it. **Returns:** `void` Set the value of a single Optimizer option. ### setRecompressionType ```java void com.datalogics.PDFL.PDFOptimizer.setRecompressionType(CompressImageType type, CompressionType value) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to set. - `value` (`CompressionType`): The compression type to apply. **Returns:** `void` Set the value for the recompression Type for a given color model. Any image that is downsampled will be compressed using this method, if the Downsampling option is true for this color model. Any image that is not downsampled, will be converted to this compression type, if it is not already compressed in this type, and the Recompression option for this color model is true. ### setResampleToResolution ```java void com.datalogics.PDFL.PDFOptimizer.setResampleToResolution(CompressImageType type, int value) ``` **Parameters** - `type` (`CompressImageType`): The image color type (Color, Gray, or BW) to set. - `value` (`int`): The target resolution in DPI. **Returns:** `void` Set the value for the Resample To DPI for a given color model. Any image will be downsampled to this resolution, if the Downsampling option is true for this color model. --- # PDFReal Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFReal ```java class PDFReal : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents a floating point data element within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements. For example, PDFReal represents a single floating point value. Others represent a collection of PDFObjects, such as PDFArray, an indexed array of data elements. A PDFReal represents a single floating point value, and may be inserted into any collection object. **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFReal ```java com.datalogics.PDFL.PDFReal.PDFReal(double value, Document doc, boolean indirect) ``` *constructor* **Parameters** - `value` (`double`): Double value of this PDFReal - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFReal - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ### PDFReal ```java com.datalogics.PDFL.PDFReal.PDFReal(double value, PDFObject docFromObj, boolean indirect) ``` *constructor* **Parameters** - `value` (`double`): Double value of this PDFReal - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject General constructor ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFReal.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFReal.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFReal.finalize() ``` *protected* **Returns:** `void` ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getValue ```java double com.datalogics.PDFL.PDFReal.getValue() ``` **Returns:** `double` Floating-point value of this object. ### toString ```java String com.datalogics.PDFL.PDFReal.toString() ``` **Returns:** `String` A string describing this PDFReal, including its value and properties. Returns a string representation of this PDFReal object. The returned string includes property information and the floating-point value in a human-readable format. --- # PDFStream Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream ```java class PDFStream : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents a stream of data within a PDF document. All objects in a PDF document are built from a collection of simpler objects that represent fundamental datatypes like numbers, strings and arrays. PDFObject and its subclasses allow direct access and manipulation of these simple objects. Some subclasses represent single data elements (e.g. PDFInteger represents a single integer value); other subclasses represent a collection of PDFObjects (e.g. PDFArray is an indexed array of data elements). A PDFStream represents a stream of unsigned bytes, and may be inserted into any collection object. It includes a dictionary that describes how the data in the stream is encoded and other useful information about the stream. A PDFStream is always an indirect object. PDFStreams can be encoded using built-in filters. These filters include compression schemes for most popular image formats, and text encoding translators to permit safe transmission of the document over the Internet. The data in a PDFStream will be automatically encoded when it is created; the user can read either the encoded (raw) or decoded (filtered) data. PDFStreams can be used for any large collection of data that need not be read into memory all at once, including image data, multimedia data or XML markup. **Referenced by:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md) **Uses types:** [`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`OutputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OutputNozzle.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFStream ```java com.datalogics.PDFL.PDFStream.PDFStream(BaseInputNozzle nozzle, Document doc, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor, protected* **Parameters** - `nozzle` ([`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md)): An input nozzle providing the stream data. - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which this PDFStream is created. - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)): A PDFDict describing the encoding filters for this stream, or null for no encoding. - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)): A PDFArray describing parameters for the encoding filters, or null for defaults. Creates a new PDFStream in the specified document. ### PDFStream ```java com.datalogics.PDFL.PDFStream.PDFStream(BaseInputNozzle nozzle, PDFObject docFromObj, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor, protected* **Parameters** - `nozzle` ([`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md)): An input nozzle providing the stream data. - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): A PDFObject whose document will contain the new PDFStream. - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)): A PDFDict describing the encoding filters for this stream, or null for no encoding. - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)): A PDFArray describing parameters for the encoding filters, or null for defaults. Creates a new PDFStream in the same document as the given PDFObject. ### PDFStream ```java com.datalogics.PDFL.PDFStream.PDFStream(java.io.InputStream stream, Document doc, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor* **Parameters** - `stream` (`java.io.InputStream`) - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)) ### PDFStream ```java com.datalogics.PDFL.PDFStream.PDFStream(java.io.InputStream stream, PDFObject docFromObj, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor* **Parameters** - `stream` (`java.io.InputStream`) - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)) - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)) ## Methods ### SetData ```java void com.datalogics.PDFL.PDFStream.SetData(java.io.InputStream stream, PDFDict encoding_dict, PDFArray encoding_params) ``` **Parameters** - `stream` (`java.io.InputStream`) - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)) **Returns:** `void` ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFStream.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFStream.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFStream.finalize() ``` *protected* **Returns:** `void` ### getDict ```java PDFDict com.datalogics.PDFL.PDFStream.getDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The stream's encoding dictionary. The encoding dictionary for the stream. This includes all required information for decoding the stream, such as filter names and decode parameters. ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getFilteredStream ```java java.io.InputStream com.datalogics.PDFL.PDFStream.getFilteredStream() ``` **Returns:** `java.io.InputStream` ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getLength ```java int com.datalogics.PDFL.PDFStream.getLength() ``` **Returns:** `int` The length of the encoded (raw) stream data. The encoded length of the stream in bytes. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getStream ```java java.io.InputStream com.datalogics.PDFL.PDFStream.getStream(PDFStreamOpenMode mode) ``` **Parameters** - `mode` (`PDFStreamOpenMode`) **Returns:** `java.io.InputStream` ### getStreamPos ```java int com.datalogics.PDFL.PDFStream.getStreamPos() ``` **Returns:** `int` The byte position of this stream within the PDF file. The byte offset of this stream in the PDF file. ### getUnfilteredStream ```java java.io.InputStream com.datalogics.PDFL.PDFStream.getUnfilteredStream() ``` **Returns:** `java.io.InputStream` ### setDataInternal ```java void com.datalogics.PDFL.PDFStream.setDataInternal(BaseInputNozzle nozzle, PDFDict encoding_dict, PDFArray encoding_params) ``` *protected* **Parameters** - `nozzle` ([`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md)) - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md)) **Returns:** `void` ### toString ```java String com.datalogics.PDFL.PDFStream.toString() ``` **Returns:** `String` A string describing this PDFStream, including its indirect/direct status and ID. Returns a string representation of this PDFStream. --- # PDFString Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFString ```java class PDFString : PDFObject ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Description Represents an array of unsigned bytes within a PDF document. A PDFString is a single data element that represents an array of unsigned bytes. It may be inserted into any collection object. PDFString may be a string of human readable text, but this is not required, and it may be stored either as characters or as hex values. **Referenced by:** [`NameTree`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/NameTree.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(byte[] value, Document doc, boolean indirect, boolean storedAsHex) ``` *constructor* **Parameters** - `value` (`byte[]`): Array of bytes stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values General constructor ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(byte[] value, PDFObject docFromObj, boolean indirect, boolean storedAsHex) ``` *constructor* **Parameters** - `value` (`byte[]`): Array of bytes stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values General constructor ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(String value, Document doc, boolean indirect, boolean storedAsHex) ``` *constructor* **Parameters** - `value` (`String`): String stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values String constructor The provided string value is a Unicode string object. If it only contains characters within the PDFDocEncoding character set, it will be stored in that encoding; otherwise it will be stored in the document as UTF-16BE. ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(String value, Document doc, boolean indirect, boolean storedAsHex, boolean storedAsUTF16) ``` *constructor* **Parameters** - `value` (`String`): String stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values - `storedAsUTF16` (`boolean`): flag indicating this PDFString should be stored as UTF-16BE, even if it could be encoded as PDFDocEncoding String constructor The provided string value is a Unicode string object. If storedAsUTF16 is true, it will be stored in the document at UTF-16BE. Otherwise it will be stored as PDFDocEncoding if it only contains characters within the PDFDocEncoding character set, else it will be stored as UTF-16BE. ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(String value, PDFObject docFromObj, boolean indirect, boolean storedAsHex) ``` *constructor* **Parameters** - `value` (`String`): String stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values String constructor The provided string value is a Unicode string object. If it only contains characters within the PDFDocEncoding character set, it will be stored in that encoding; otherwise it will be stored in the document as UTF-16BE. ### PDFString ```java com.datalogics.PDFL.PDFString.PDFString(String value, PDFObject docFromObj, boolean indirect, boolean storedAsHex, boolean storedAsUTF16) ``` *constructor* **Parameters** - `value` (`String`): String stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`boolean`): flag marking this as an indirect PDFObject - `storedAsHex` (`boolean`): flag indicating this PDFString should be stored as hex values - `storedAsUTF16` (`boolean`): flag indicating this PDFString should be stored as UTF-16BE, even if it could be encoded as PDFDocEncoding String constructor The provided string value is a Unicode string object. If storedAsUTF16 is true, it will be stored in the document at UTF-16BE. Otherwise it will be stored as PDFDocEncoding if it only contains characters within the PDFDocEncoding character set, else it will be stored as UTF-16BE. ## Methods ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object. Makes a new copy of this PDFObject in memory, in the same document and using same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(Document doc, boolean indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the specified document. Makes a new copy of this PDFObject in memory, in the supplied document, using supplied direct/indirect setting. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using the same direct/indirect setting as this PDFObject. ### clone ```java PDFObject com.datalogics.PDFL.PDFObject.clone(PDFObject obj, boolean indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`boolean`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) A new PDFObject that is a copy of this object in the same document as obj. Makes a new copy of this PDFObject in memory, in the same document as another object, using supplied direct/indirect setting. ### compareTo ```java PDFObjectComparison com.datalogics.PDFL.PDFObject.compareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** `PDFObjectComparison` A PDFObjectComparison value that relates this object to the rhs object Compares this object to another object. The result is useful for ordering or sorting PDFObjects. No other significance should be attached to the result. In particular, an unequal result indicates nothing about the type of either object. The result is valid only within a single instance of the document. ### delete ```java synchronized void com.datalogics.PDFL.PDFString.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFString.delete() ``` **Returns:** `synchronized void` ### destroy ```java void com.datalogics.PDFL.PDFObject.destroy() ``` **Returns:** `void` Destroys this object. This method does nothing if this object is a direct scalar object. If a composite object (an array, dictionary or stream) is destroyed: All the direct objects in it are automatically destroyed. The indirect objects in it are not destroyed. ### enumPDFObjects ```java boolean com.datalogics.PDFL.PDFObject.enumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md)): A user-supplied callback to call for each element of the object. of obj. Neither proc nor any routine called by proc may modify the object. Doing so can produce undefined results or errors. For example, if the object is an array, enumProc must not call Remove(); if the object is a dictionary, enumProc must not call Put(). **Returns:** `boolean` Returns true if every call to enumProc returned true. As soon as any call to enumProc returns false, the enumeration stops and EnumPDFObject() returns false. Enumerates the elements of a PDFObject by calling a user-supplied procedure for each component of the object. For scalars or strings, the proc is not called, and CosObjEnum() returns true. For dictionaries, proc is called for each key-value pair. The order in which the key-value pairs are enumerated is undefined. For arrays, proc is called with each element as the first paramater to proc, and the NULL object as the second parameter. Array elements are enumerated in ascending order of index. For streams, proc is called once, with the stream's dictionary as the first parameter to the proc and the NULL object as the second parameter. ### equals ```java boolean com.datalogics.PDFL.PDFObject.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PDFString.finalize() ``` *protected* **Returns:** `void` ### getBytes ```java byte[] com.datalogics.PDFL.PDFString.getBytes() ``` **Returns:** `byte[]` A byte array containing the raw data of this PDFString. The raw byte array of this PDFString. This method returns the raw data of the PDFString, without respect to any encoding. It should be used when the contents of the object represent data instead of human readable text, or when direct access to the underlying data is required. ### getDocument ```java Document com.datalogics.PDFL.PDFObject.getDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) the Document in which the object resides. The Document of which this object is a member. Returns null if the Document is not known by PDFL, or if it is a temporary document. If the Document is not null, then it shares the same internal data with other Document objects that refer to the same file. Document objects returned this way do not contribute to the internal count that keeps the Document open, and will become invalid if the main reference to the document is disposed. ### getGeneration ```java int com.datalogics.PDFL.PDFObject.getGeneration() ``` **Returns:** `int` The generation number of this indirect object. The generation number for this object. Only indirect objects have a generation number. ### getID ```java int com.datalogics.PDFL.PDFObject.getID() ``` **Returns:** `int` The ID number of this indirect object. The ID number for this object. Only indirect objects have an ID number. ### getIndirect ```java boolean com.datalogics.PDFL.PDFObject.getIndirect() ``` **Returns:** `boolean` true if this object is indirect, false if it is direct. Indicates if this object is indirect or direct. ### getPDFHashValue ```java int com.datalogics.PDFL.PDFObject.getPDFHashValue() ``` **Returns:** `int` The 32-bit hash value for this object. The 32-bit hash value for this object. The hash value is used internally to quickly access the object, and is not generally useful for PDFObject users. Note that two PDFObjects with equal hash values are not necessarily equal; use Equals() to check for equality. ### getStoredAsHex ```java boolean com.datalogics.PDFL.PDFString.getStoredAsHex() ``` **Returns:** `boolean` true if this PDFString is stored as hex values, false otherwise. Indicates that the data is stored as hexadecimal values. ### getValue ```java String com.datalogics.PDFL.PDFString.getValue() ``` **Returns:** `String` The string value of this PDFString, converted to a Unicode string. The byte array as a native string object. This is a convenience for typical uses where a PDFString holds a human readable string instead of a byte array. The text may be encoded within the PDF as either UTF-16BE or PDFDocEncoding; in either case, it will be converted to a Unicode string object appropriate to the platform. If you need to access the contents of the PDFString object without respect to an encoding, use the Bytes property. ### toString ```java String com.datalogics.PDFL.PDFString.toString() ``` **Returns:** `String` A string describing this PDFString. Returns a string representation of this PDFString. The string includes the object's indirect status, value, and hex storage flag. --- # PDFXConvertParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertParams ```java class PDFXConvertParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Parameters for converting a document to PDF/X compliance. These parameters control how a Document is converted to the PDF/X standard. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PDFXConvertParams ```java com.datalogics.PDFL.PDFXConvertParams.PDFXConvertParams() ``` *constructor* Parameters for converting to PDF/X. ### PDFXConvertParams ```java com.datalogics.PDFL.PDFXConvertParams.PDFXConvertParams(boolean RemoveAllAnnotations, boolean AbortIfXFAIsPresent) ``` *constructor* **Parameters** - `RemoveAllAnnotations` (`boolean`): Remove all annotations whether legal or illegal. - `AbortIfXFAIsPresent` (`boolean`): Abort when XFA is present. Parameters for converting to PDF/X. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PDFXConvertParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PDFXConvertParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PDFXConvertParams.finalize() ``` *protected* **Returns:** `void` ### getAbortIfXFAIsPresent ```java boolean com.datalogics.PDFL.PDFXConvertParams.getAbortIfXFAIsPresent() ``` **Returns:** `boolean` Gets whether conversion is aborted when XFA forms are present. Presence of XFA can result in some loss of data in output PDF/X file as the Library does not support XFA. However client can choose to abort the conversion in case XFA is present by setting this parameter to true. By default we will not abort if XFA is present. If false we will convert even if we detect the XFA form entry in PDDoc. If true we will abort the process. ### getProfileDesc ```java String com.datalogics.PDFL.PDFXConvertParams.getProfileDesc() ``` **Returns:** `String` Gets the Output Intent profile description for the PDF/X conversion. The Output Intent of a PDF/X document may be any valid CMYK Profile For PDF/X-1a or any valid CMYK or RGB Profile for PDF/X-3. This parameter allows the user to specify a particular profile for this conversion by description. When this parameter is not present, the profile "U.S. Web Coated (SWOP) v2" will be used for both. If this description is present, and specifies a profile of the wrong color family, or specifies a profile which cannot be located in resources, an exception will be raised. ### getRemoveAllAnnotations ```java boolean com.datalogics.PDFL.PDFXConvertParams.getRemoveAllAnnotations() ``` **Returns:** `boolean` Gets whether all annotations and actions are removed during conversion. Some of the standards like PDF/X prohibit the presence of some types of Annotations and Actions in order to comply with those standards. By default we will filter all illegal Annotations and Actions. If false we will filter out all illegal Annotations and Actions (according to the standard being used) while retaining the legal ones. If true this will remove all the Annotations and Actions from the output PDF/X compliant file. ### setAbortIfXFAIsPresent ```java void com.datalogics.PDFL.PDFXConvertParams.setAbortIfXFAIsPresent(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` Sets whether conversion is aborted when XFA forms are present. Presence of XFA can result in some loss of data in output PDF/X file as the Library does not support XFA. However client can choose to abort the conversion in case XFA is present by setting this parameter to true. By default we will not abort if XFA is present. If false we will convert even if we detect the XFA form entry in PDDoc. If true we will abort the process. ### setProfileDesc ```java void com.datalogics.PDFL.PDFXConvertParams.setProfileDesc(String profile) ``` **Parameters** - `profile` (`String`) **Returns:** `void` Sets the Output Intent profile description for the PDF/X conversion. The Output Intent of a PDF/X document may be any valid CMYK Profile For PDF/X-1a or any valid CMYK or RGB Profile for PDF/X-3. This parameter allows the user to specify a particular profile for this conversion by description. When this parameter is not present, the profile "U.S. Web Coated (SWOP) v2" will be used for both. If this description is present, and specifies a profile of the wrong color family, or specifies a profile which cannot be located in resources, an exception will be raised. ### setRemoveAllAnnotations ```java void com.datalogics.PDFL.PDFXConvertParams.setRemoveAllAnnotations(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` Sets whether all annotations and actions are removed during conversion. Some of the standards like PDF/X prohibit the presence of some types of Annotations and Actions in order to comply with those standards. By default we will filter all illegal Annotations and Actions. If false we will filter out all illegal Annotations and Actions (according to the standard being used) while retaining the legal ones. If true this will remove all the Annotations and Actions from the output PDF/X compliant file. --- # PDFXConvertResult Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFXConvertResult ```java class PDFXConvertResult ``` **Namespace:** `com::datalogics::PDFL` ## Description Return the PDF/X compliant version of the document. Contains a PDF document if the conversion is successful; returns null if the conversion fails. PDF/X is a subset of the PDF ISO standard. The purpose of PDF/X is to facilitate graphics exchange, and it therefore has a series of printing related requirements. For example, in PDF/X-1a all fonts need to be embedded and all images need to be CMYK or spot colors. PDF/X-3 accepts calibrated RGB and CIELAB colors. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PDFXConvertResult ```java com.datalogics.PDFL.PDFXConvertResult.PDFXConvertResult() ``` *constructor* ### PDFXConvertResult ```java com.datalogics.PDFL.PDFXConvertResult.PDFXConvertResult(Document doc, EnumSet< SaveFlags > flags) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) - `flags` (`EnumSet< SaveFlags >`) ## Methods ### getPDFXDocument ```java Document com.datalogics.PDFL.PDFXConvertResult.getPDFXDocument() ``` **Returns:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) Return the PDF/X compliant version of the document. This will return null if the conversion failed. ### getPDFXSaveFlags ```java EnumSet< SaveFlags > com.datalogics.PDFL.PDFXConvertResult.getPDFXSaveFlags() ``` **Returns:** `EnumSet< SaveFlags >` Return the SaveFlags that must be used when saving the PDF/X compliant document. You *must* use these SaveFlags when saving the PDF/X document, or you risk breaking PDF/X compliance. ### setPDFXDocument ```java void com.datalogics.PDFL.PDFXConvertResult.setPDFXDocument(Document value) ``` **Parameters** - `value` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)) **Returns:** `void` Set the PDF/X compliant version of the document. ### setPDFXSaveFlags ```java void com.datalogics.PDFL.PDFXConvertResult.setPDFXSaveFlags(EnumSet< SaveFlags > value) ``` **Parameters** - `value` (`EnumSet< SaveFlags >`) **Returns:** `void` Set the SaveFlags that must be used when saving the PDF/X compliant document. --- # Point Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point ```java class Point ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a discrete point or space in a PDF. A Point in a PDF document is in the right plane, relative to the origin being the lower left corner of the document. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CurveTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveTo.md), [`CurveToV`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToV.md), [`CurveToY`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToY.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LineTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineTo.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`MoveTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/MoveTo.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`PointVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PointVector.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`RectSegment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RectSegment.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### Point ```java com.datalogics.PDFL.Point.Point() ``` *constructor* Create a new point at the origin (0.0, 0.0). ### Point ```java com.datalogics.PDFL.Point.Point(double nh, double nv) ``` *constructor* **Parameters** - `nh` (`double`): the horizontal coordinate - `nv` (`double`): the vertical coordinate Create a new point at the specified coordinates. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Point.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Point.delete() ``` **Returns:** `synchronized void` ### distanceTransform ```java Point com.datalogics.PDFL.Point.distanceTransform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) A new Point representing the distance-transformed coordinates. Distance Transform the Point by the values in the Matrix parameter. Applies a transformation without any translation component to this Point. This is useful for transforming distances or vectors rather than positions. ### equals ```java boolean com.datalogics.PDFL.Point.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Point.finalize() ``` *protected* **Returns:** `void` ### getH ```java double com.datalogics.PDFL.Point.getH() ``` **Returns:** `double` The horizontal coordinate of the point. ### getV ```java double com.datalogics.PDFL.Point.getV() ``` **Returns:** `double` The vertical coordinate of the point. ### setH ```java void com.datalogics.PDFL.Point.setH(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The horizontal coordinate of the point. ### setV ```java void com.datalogics.PDFL.Point.setV(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The vertical coordinate of the point. ### toString ```java String com.datalogics.PDFL.Point.toString() ``` **Returns:** `String` A string in the format "( h,v )". Return a string representation of the Point. ### transform ```java Point com.datalogics.PDFL.Point.transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) A new Point representing the transformed coordinates. Transform the Point by the values in the Matrix parameter. Applies a full affine transformation (including translation) to this Point using the given Matrix. --- # PointVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PointVector ```java class PointVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### PointVector ```java com.datalogics.PDFL.PointVector.PointVector() ``` *constructor* ### PointVector ```java com.datalogics.PDFL.PointVector.PointVector(Iterable< Point > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) ## Methods ### add ```java void com.datalogics.PDFL.PointVector.add(Point x) ``` **Parameters** - `x` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.PointVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.PointVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.PointVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PointVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PointVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Point com.datalogics.PDFL.PointVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ### isEmpty ```java boolean com.datalogics.PDFL.PointVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.PointVector.set(int i, Point val) ``` **Parameters** - `i` (`int`) - `val` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.PointVector.size() ``` **Returns:** `long` --- # PolygonAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation ```java class PolygonAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A polygon is a closed plane figure bounded by a finite number of line segments. In this case the polygon is created as an annotation added to a PDF file. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PolygonAnnotation ```java com.datalogics.PDFL.PolygonAnnotation.PolygonAnnotation(Page page, Rect initialRect, java.util.List< Point > vertices) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the PolygonAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): A list of points representing the coordinates of the vertices, specified in user space. Create a new PolygonAnnotation at the end of a page's annotation array. To create a PolygonAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### PolygonAnnotation ```java com.datalogics.PDFL.PolygonAnnotation.PolygonAnnotation(Page page, Rect initialRect, java.util.List< Point > vertices, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): A list of points representing the coordinates of the vertices, specified in user space. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new PolygonAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PolygonAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PolygonAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PolygonAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.PolygonAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form representing the visual appearance of the polygon, or NULL if the appearance could not be generated (for example, due to an invalid border style). Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.PolygonAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version number (e.g. 1.5, 1.6, 1.7). The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.PolygonAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.PolygonAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.PolygonAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### getVertices ```java java.util.List< Point > com.datalogics.PDFL.PolygonAnnotation.getVertices() ``` **Returns:** [`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The array of points, in order, that define the vertices of the polygon in user space coordinates. The vertices that define the polygon annotation, in user space. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.PolygonAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.PolygonAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.PolygonAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.PolygonAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### setVertices ```java void com.datalogics.PDFL.PolygonAnnotation.setVertices(java.util.List< Point > vertices) ``` **Parameters** - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The array of points, in order, that define the vertices of the polygon in user space coordinates. **Returns:** `void` The vertices that define the polygon annotation, in user space. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # PolyLineAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation ```java class PolyLineAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A finite number of line segments in a PDF added as an annotation. A polyline is also called a polygonal chain or piecewise linear curve. It represents a finite number of line segments where the first and last vertex are not connected. In this case, the polyline is added as an annotation to a PDF file. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PolyLineAnnotation ```java com.datalogics.PDFL.PolyLineAnnotation.PolyLineAnnotation(Page page, Rect initialRect, java.util.List< Point > vertices) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the PolyLineAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): A list of points representing the coordinates of the vertices, specified in user space. Create a new PolyLineAnnotation at the end of a page's annotation array. To create a PolyLineAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### PolyLineAnnotation ```java com.datalogics.PDFL.PolyLineAnnotation.PolyLineAnnotation(Page page, Rect initialRect, java.util.List< Point > vertices, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): A list of points representing the coordinates of the vertices, specified in user space. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new PolyLineAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PolyLineAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PolyLineAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.PolyLineAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.PolyLineAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form representing the annotation's appearance, or NULL if the graphic state could not be configured (for example, an invalid dash array). Generate a new appearance stream with the current annotation properties. Builds the visual representation of the polyline including its vertices, stroke color, interior color, border style, and line ending styles. The annotation's Rect is updated to match the bounding box of the content. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.PolyLineAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.PolyLineAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.PolyLineAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.PolyLineAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getEndPointEndingStyle ```java LineEndingStyle com.datalogics.PDFL.PolyLineAnnotation.getEndPointEndingStyle() ``` **Returns:** `LineEndingStyle` The line ending style applied to the last vertex of the polyline. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getStartPointEndingStyle ```java LineEndingStyle com.datalogics.PDFL.PolyLineAnnotation.getStartPointEndingStyle() ``` **Returns:** `LineEndingStyle` The line ending style applied to the first vertex of the polyline. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### getVertices ```java java.util.List< Point > com.datalogics.PDFL.PolyLineAnnotation.getVertices() ``` **Returns:** [`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The array of points, in order, that define the vertices of the polyline in user space coordinates. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.PolyLineAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.PolyLineAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.PolyLineAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.PolyLineAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setEndPointEndingStyle ```java void com.datalogics.PDFL.PolyLineAnnotation.setEndPointEndingStyle(LineEndingStyle style) ``` **Parameters** - `style` (`LineEndingStyle`): The line ending style to apply at the end point. **Returns:** `void` The line ending style applied to the last vertex of the polyline. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setStartPointEndingStyle ```java void com.datalogics.PDFL.PolyLineAnnotation.setStartPointEndingStyle(LineEndingStyle style) ``` **Parameters** - `style` (`LineEndingStyle`): The line ending style to apply at the start point. **Returns:** `void` The line ending style applied to the first vertex of the polyline. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### setVertices ```java void com.datalogics.PDFL.PolyLineAnnotation.setVertices(java.util.List< Point > vertices) ``` **Parameters** - `vertices` ([`java.util.List< Point >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The array of points, in order, that define the vertices of the polyline in user space coordinates. **Returns:** `void` The vertices that define the polyline annotation, in user space. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # PostScript Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript ```java class PostScript : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description An XObject stream with the subtype PostScript. A PostScript XObject is an XObject stream with the subtype entry of PostScript. The XObject contains a fragment of code expressed in the PostScript language. PostScript External Objects are not recommended. **Uses types:** [`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md), [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PostScript ```java com.datalogics.PDFL.PostScript.PostScript(BaseInputNozzle nozzle) ``` *constructor, protected* **Parameters** - `nozzle` ([`BaseInputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseInputNozzle.md)): The input stream containing the PostScript code. Creates a PostScript XObject from an input stream. The stream data is read, Flate-encoded, and stored in a new CosStream with the XObject type and PostScript subtype. ### PostScript ```java com.datalogics.PDFL.PostScript.PostScript(java.io.InputStream stream) ``` *constructor* **Parameters** - `stream` (`java.io.InputStream`): java.io.InputStream stream that contains PostScript code General constructor ## Methods ### clone ```java Element com.datalogics.PDFL.Element.clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### clone ```java Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### delete ```java synchronized void com.datalogics.PDFL.PostScript.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PostScript.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PostScript.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getStream ```java PDFStream com.datalogics.PDFL.PostScript.getStream() ``` **Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) The PDFStream associated with this PostScript XObject. The PDFStream containing the PostScript code for this XObject. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # PostScriptCalculatorFunction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction ```java class PostScriptCalculatorFunction : Function ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) ## Description A function represented as a stream containing code written in a small subset of the PostScript language. **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) ## Constructors ### PostScriptCalculatorFunction ```java com.datalogics.PDFL.PostScriptCalculatorFunction.PostScriptCalculatorFunction(java.util.List< Double > domain, java.util.List< Double > range, String code) ``` *constructor* **Parameters** - `domain` (`java.util.List< Double >`): an array of 2 * m numbers, where m is the number of input values - `range` (`java.util.List< Double >`): an array of 2 * n numbers, where n is the number of output values - `code` (`String`): the code of the function, written in a subset of the PostScript language Create PostScript calculator function, represented as a stream containing code written in a small subset of the PostScript language. ## Fields ### DEFAULT ```java static final Function com.datalogics.PDFL.Function.DEFAULT ``` *static* The Default named function. ### IDENTITY ```java static final Function com.datalogics.PDFL.Function.IDENTITY ``` *static* The Identity named function, which returns its input values unchanged. ## Methods ### apply ```java java.util.List< Double > com.datalogics.PDFL.Function.apply(java.util.List< Double > args) ``` **Parameters** - `args` (`java.util.List< Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `java.util.List< Double >` a list of the result values from the function Apply the function to supplied input values ### delete ```java synchronized void com.datalogics.PDFL.PostScriptCalculatorFunction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PostScriptCalculatorFunction.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PostScriptCalculatorFunction.finalize() ``` *protected* **Returns:** `void` ### getCode ```java String com.datalogics.PDFL.PostScriptCalculatorFunction.getCode() ``` **Returns:** `String` The code of the function, written in a subset of the PostScript language. The code defines how input values are transformed into output values. ### getDomain ```java java.util.List< Double > com.datalogics.PDFL.Function.getDomain() ``` **Returns:** `java.util.List< Double >` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### getNInputs ```java int com.datalogics.PDFL.Function.getNInputs() ``` **Returns:** `int` The number of inputs to the function. ### getNOutputs ```java int com.datalogics.PDFL.Function.getNOutputs() ``` **Returns:** `int` The number of outputs from the function. ### getRange ```java java.util.List< Double > com.datalogics.PDFL.Function.getRange() ``` **Returns:** `java.util.List< Double >` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### getStream ```java PDFStream com.datalogics.PDFL.PostScriptCalculatorFunction.getStream() ``` **Returns:** [`PDFStream`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFStream.md) The underlying PDF stream for this PostScriptCalculatorFunction. The stream contains the PostScript code that defines the function. ### setDomain ```java void com.datalogics.PDFL.Function.setDomain(java.util.List< Double > domain) ``` **Parameters** - `domain` (`java.util.List< Double >`) **Returns:** `void` The domain of the function. Contains 2 * m elements, where m is the number of inputs to the function. Each successive pair of elements gives the minimum and maximum values for one of the inputs. Input values to the function are clamped to these minimum and maximum values. ### setRange ```java void com.datalogics.PDFL.Function.setRange(java.util.List< Double > range) ``` **Parameters** - `range` (`java.util.List< Double >`) **Returns:** `void` The range of the function. Contains 2 * n elements, where n is the number of outputs from the function. Each successive pair of elements gives the minimum and maximum values for one of the outputs. Output values from the function are clamped to these minimum and maximum values. ### toString ```java String com.datalogics.PDFL.PostScriptCalculatorFunction.toString() ``` **Returns:** `String` A string representation of the PostScriptCalculatorFunction, including the number of inputs and outputs, domain, range, and the PostScript code. A string value describing the function. --- # PrintCancelProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintCancelProc ```java class PrintCancelProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Print cancellation callback function, a class used to cancel print operations. A PrintCancelProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the PrintCancelProc(). If the PrintCancelProc() returns true, the method cancels its operation; if the PrintCancelProc() returns false, the method continues. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PrintCancelProc ```java com.datalogics.PDFL.PrintCancelProc.PrintCancelProc() ``` *constructor* Print cancellation callback function, a class used to cancel print operations. A PrintCancelProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the PrintCancelProc(). If the PrintCancelProc() returns true, the method cancels its operation; if the PrintCancelProc() returns false, the method continues. ## Methods ### Call ```java boolean com.datalogics.PDFL.PrintCancelProc.Call() ``` **Returns:** `boolean` ### delete ```java synchronized void com.datalogics.PDFL.PrintCancelProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PrintCancelProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PrintCancelProc.finalize() ``` *protected* **Returns:** `void` --- # PrintParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams ```java class PrintParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Print settings, primarily used for PostScript printers or output. **Referenced by:** [`PrintUserParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams.md) **Uses types:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PrintParams ```java com.datalogics.PDFL.PrintParams.PrintParams() ``` *constructor* ## Methods ### delete ```java synchronized void com.datalogics.PDFL.PrintParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PrintParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PrintParams.finalize() ``` *protected* **Returns:** `void` ### getApplyOCGPrintOverrides ```java boolean com.datalogics.PDFL.PrintParams.getApplyOCGPrintOverrides() ``` **Returns:** `boolean` ### getBinaryOK ```java boolean com.datalogics.PDFL.PrintParams.getBinaryOK() ``` **Returns:** `boolean` ### getBitmapResolution ```java long com.datalogics.PDFL.PrintParams.getBitmapResolution() ``` **Returns:** `long` ### getBoundingBox ```java Rect com.datalogics.PDFL.PrintParams.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ### getBrokenCRDs ```java boolean com.datalogics.PDFL.PrintParams.getBrokenCRDs() ``` **Returns:** `boolean` ### getCenterCropBox ```java boolean com.datalogics.PDFL.PrintParams.getCenterCropBox() ``` **Returns:** `boolean` ### getDisableFlattening ```java boolean com.datalogics.PDFL.PrintParams.getDisableFlattening() ``` **Returns:** `boolean` ### getDoOPP ```java boolean com.datalogics.PDFL.PrintParams.getDoOPP() ``` **Returns:** `boolean` ### getDoProofing ```java boolean com.datalogics.PDFL.PrintParams.getDoProofing() ``` **Returns:** `boolean` ### getDoTiling ```java PageTilingMode com.datalogics.PDFL.PrintParams.getDoTiling() ``` **Returns:** `PageTilingMode` ### getDuplex ```java Duplex com.datalogics.PDFL.PrintParams.getDuplex() ``` **Returns:** `Duplex` ### getEmitBG ```java boolean com.datalogics.PDFL.PrintParams.getEmitBG() ``` **Returns:** `boolean` ### getEmitColorSeps ```java boolean com.datalogics.PDFL.PrintParams.getEmitColorSeps() ``` **Returns:** `boolean` ### getEmitDeviceExtGState ```java boolean com.datalogics.PDFL.PrintParams.getEmitDeviceExtGState() ``` **Returns:** `boolean` ### getEmitFlatness ```java boolean com.datalogics.PDFL.PrintParams.getEmitFlatness() ``` **Returns:** `boolean` ### getEmitHalftones ```java boolean com.datalogics.PDFL.PrintParams.getEmitHalftones() ``` **Returns:** `boolean` ### getEmitInRipSeps ```java boolean com.datalogics.PDFL.PrintParams.getEmitInRipSeps() ``` **Returns:** `boolean` ### getEmitPS ```java boolean com.datalogics.PDFL.PrintParams.getEmitPS() ``` **Returns:** `boolean` ### getEmitPageClip ```java boolean com.datalogics.PDFL.PrintParams.getEmitPageClip() ``` **Returns:** `boolean` ### getEmitPageRotation ```java boolean com.datalogics.PDFL.PrintParams.getEmitPageRotation() ``` **Returns:** `boolean` ### getEmitRawData ```java boolean com.datalogics.PDFL.PrintParams.getEmitRawData() ``` **Returns:** `boolean` ### getEmitSeparableImagesOnly ```java boolean com.datalogics.PDFL.PrintParams.getEmitSeparableImagesOnly() ``` **Returns:** `boolean` ### getEmitTTFontsFirst ```java boolean com.datalogics.PDFL.PrintParams.getEmitTTFontsFirst() ``` **Returns:** `boolean` ### getEmitTransfer ```java boolean com.datalogics.PDFL.PrintParams.getEmitTransfer() ``` **Returns:** `boolean` ### getEmitUCR ```java boolean com.datalogics.PDFL.PrintParams.getEmitUCR() ``` **Returns:** `boolean` ### getExpandToFit ```java boolean com.datalogics.PDFL.PrintParams.getExpandToFit() ``` **Returns:** `boolean` ### getFarEastFontOpt ```java FarEastFont com.datalogics.PDFL.PrintParams.getFarEastFontOpt() ``` **Returns:** `FarEastFont` ### getFlattenInfoExternalDPI ```java float com.datalogics.PDFL.PrintParams.getFlattenInfoExternalDPI() ``` **Returns:** `float` Get the resolution for flattening the edges of atomic regions. ExternalDPI for flattening defaults to 144 (72x2). ### getGradientResolution ```java long com.datalogics.PDFL.PrintParams.getGradientResolution() ``` **Returns:** `long` ### getHostBasedCM ```java boolean com.datalogics.PDFL.PrintParams.getHostBasedCM() ``` **Returns:** `boolean` ### getIncBaseFonts ```java Inclusion com.datalogics.PDFL.PrintParams.getIncBaseFonts() ``` **Returns:** `Inclusion` ### getIncCIDFonts ```java Inclusion com.datalogics.PDFL.PrintParams.getIncCIDFonts() ``` **Returns:** `Inclusion` ### getIncEmbeddedFonts ```java Inclusion com.datalogics.PDFL.PrintParams.getIncEmbeddedFonts() ``` **Returns:** `Inclusion` ### getIncOtherResources ```java Inclusion com.datalogics.PDFL.PrintParams.getIncOtherResources() ``` **Returns:** `Inclusion` ### getIncProcsets ```java Inclusion com.datalogics.PDFL.PrintParams.getIncProcsets() ``` **Returns:** `Inclusion` ### getIncTrueTypeFonts ```java Inclusion com.datalogics.PDFL.PrintParams.getIncTrueTypeFonts() ``` **Returns:** `Inclusion` ### getIncType1Fonts ```java Inclusion com.datalogics.PDFL.PrintParams.getIncType1Fonts() ``` **Returns:** `Inclusion` ### getInkBlack ```java boolean com.datalogics.PDFL.PrintParams.getInkBlack() ``` **Returns:** `boolean` ### getLastHeight ```java int com.datalogics.PDFL.PrintParams.getLastHeight() ``` **Returns:** `int` ### getLastWidth ```java int com.datalogics.PDFL.PrintParams.getLastWidth() ``` **Returns:** `int` ### getLineWidth ```java float com.datalogics.PDFL.PrintParams.getLineWidth() ``` **Returns:** `float` ### getMacQDPrinter ```java boolean com.datalogics.PDFL.PrintParams.getMacQDPrinter() ``` **Returns:** `boolean` ### getMarkStyle ```java int com.datalogics.PDFL.PrintParams.getMarkStyle() ``` **Returns:** `int` ### getMirrorprint ```java int com.datalogics.PDFL.PrintParams.getMirrorprint() ``` **Returns:** `int` ### getNegative ```java boolean com.datalogics.PDFL.PrintParams.getNegative() ``` **Returns:** `boolean` ### getNumCollatedCopies ```java long com.datalogics.PDFL.PrintParams.getNumCollatedCopies() ``` **Returns:** `long` ### getOptimizeForSpeed ```java boolean com.datalogics.PDFL.PrintParams.getOptimizeForSpeed() ``` **Returns:** `boolean` ### getOptionalContentContext ```java OptionalContentContext com.datalogics.PDFL.PrintParams.getOptionalContentContext() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) An optional-content context that determines what contents are visible. null uses the document's optional-content context. This context is copied and the copy is used in drawing. This allows a client to change its copy of the context without raising an exception. ### getOutputType ```java OutputType com.datalogics.PDFL.PrintParams.getOutputType() ``` **Returns:** `OutputType` ### getPageRanges ```java java.util.List< PageRange > com.datalogics.PDFL.PrintParams.getPageRanges() ``` **Returns:** [`java.util.List< PageRange >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md) ranges of pages to print. Get the page ranges for printing. ### getPaperWhite ```java boolean com.datalogics.PDFL.PrintParams.getPaperWhite() ``` **Returns:** `boolean` ### getPrintWhat ```java PrintWhat com.datalogics.PDFL.PrintParams.getPrintWhat() ``` **Returns:** `PrintWhat` ### getPrintWhatAnnot ```java java.util.EnumSet< PrintWhatAnnotFlags > com.datalogics.PDFL.PrintParams.getPrintWhatAnnot() ``` **Returns:** `java.util.EnumSet< PrintWhatAnnotFlags >` ### getPsLevel ```java int com.datalogics.PDFL.PrintParams.getPsLevel() ``` **Returns:** `int` ### getReverse ```java boolean com.datalogics.PDFL.PrintParams.getReverse() ``` **Returns:** `boolean` ### getRotate ```java boolean com.datalogics.PDFL.PrintParams.getRotate() ``` **Returns:** `boolean` ### getRotateAndCenter ```java boolean com.datalogics.PDFL.PrintParams.getRotateAndCenter() ``` **Returns:** `boolean` ### getSaveVM ```java boolean com.datalogics.PDFL.PrintParams.getSaveVM() ``` **Returns:** `boolean` ### getScale ```java float com.datalogics.PDFL.PrintParams.getScale() ``` **Returns:** `float` ### getSetPageSize ```java boolean com.datalogics.PDFL.PrintParams.getSetPageSize() ``` **Returns:** `boolean` ### getShrinkToFit ```java boolean com.datalogics.PDFL.PrintParams.getShrinkToFit() ``` **Returns:** `boolean` ### getSuppressCJKSubstitution ```java boolean com.datalogics.PDFL.PrintParams.getSuppressCJKSubstitution() ``` **Returns:** `boolean` ### getSuppressCSA ```java boolean com.datalogics.PDFL.PrintParams.getSuppressCSA() ``` **Returns:** `boolean` ### getSuppressOPPWhenNoSpots ```java int com.datalogics.PDFL.PrintParams.getSuppressOPPWhenNoSpots() ``` **Returns:** `int` ### getTTasCIDT2 ```java boolean com.datalogics.PDFL.PrintParams.getTTasCIDT2() ``` **Returns:** `boolean` ### getTTasT42 ```java boolean com.datalogics.PDFL.PrintParams.getTTasT42() ``` **Returns:** `boolean` ### getTransparencyQuality ```java long com.datalogics.PDFL.PrintParams.getTransparencyQuality() ``` **Returns:** `long` ### getTrapType ```java int com.datalogics.PDFL.PrintParams.getTrapType() ``` **Returns:** `int` ### getUseExecForm ```java boolean com.datalogics.PDFL.PrintParams.getUseExecForm() ``` **Returns:** `boolean` ### getUseFontAliasNames ```java boolean com.datalogics.PDFL.PrintParams.getUseFontAliasNames() ``` **Returns:** `boolean` ### getUseFullResolutionJP2KData ```java boolean com.datalogics.PDFL.PrintParams.getUseFullResolutionJP2KData() ``` **Returns:** `boolean` ### getUseMaxVM ```java boolean com.datalogics.PDFL.PrintParams.getUseMaxVM() ``` **Returns:** `boolean` ### getUseSubFileDecode ```java boolean com.datalogics.PDFL.PrintParams.getUseSubFileDecode() ``` **Returns:** `boolean` ### getWesternMarksStyle ```java boolean com.datalogics.PDFL.PrintParams.getWesternMarksStyle() ``` **Returns:** `boolean` ### getWhichMarks ```java java.util.EnumSet< PageMarkFlags > com.datalogics.PDFL.PrintParams.getWhichMarks() ``` **Returns:** `java.util.EnumSet< PageMarkFlags >` ### setApplyOCGPrintOverrides ```java void com.datalogics.PDFL.PrintParams.setApplyOCGPrintOverrides(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setBinaryOK ```java void com.datalogics.PDFL.PrintParams.setBinaryOK(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setBitmapResolution ```java void com.datalogics.PDFL.PrintParams.setBitmapResolution(long value) ``` **Parameters** - `value` (`long`) **Returns:** `void` ### setBoundingBox ```java void com.datalogics.PDFL.PrintParams.setBoundingBox(Rect box) ``` **Parameters** - `box` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)) **Returns:** `void` ### setBrokenCRDs ```java void com.datalogics.PDFL.PrintParams.setBrokenCRDs(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setCenterCropBox ```java void com.datalogics.PDFL.PrintParams.setCenterCropBox(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setDisableFlattening ```java void com.datalogics.PDFL.PrintParams.setDisableFlattening(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setDoOPP ```java void com.datalogics.PDFL.PrintParams.setDoOPP(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setDoProofing ```java void com.datalogics.PDFL.PrintParams.setDoProofing(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setDoTiling ```java void com.datalogics.PDFL.PrintParams.setDoTiling(PageTilingMode value) ``` **Parameters** - `value` (`PageTilingMode`) **Returns:** `void` ### setDuplex ```java void com.datalogics.PDFL.PrintParams.setDuplex(Duplex value) ``` **Parameters** - `value` (`Duplex`) **Returns:** `void` ### setEmitBG ```java void com.datalogics.PDFL.PrintParams.setEmitBG(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitColorSeps ```java void com.datalogics.PDFL.PrintParams.setEmitColorSeps(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitDeviceExtGState ```java void com.datalogics.PDFL.PrintParams.setEmitDeviceExtGState(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitFlatness ```java void com.datalogics.PDFL.PrintParams.setEmitFlatness(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitHalftones ```java void com.datalogics.PDFL.PrintParams.setEmitHalftones(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitInRipSeps ```java void com.datalogics.PDFL.PrintParams.setEmitInRipSeps(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitPS ```java void com.datalogics.PDFL.PrintParams.setEmitPS(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitPageClip ```java void com.datalogics.PDFL.PrintParams.setEmitPageClip(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitPageRotation ```java void com.datalogics.PDFL.PrintParams.setEmitPageRotation(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitRawData ```java void com.datalogics.PDFL.PrintParams.setEmitRawData(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitSeparableImagesOnly ```java void com.datalogics.PDFL.PrintParams.setEmitSeparableImagesOnly(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitTTFontsFirst ```java void com.datalogics.PDFL.PrintParams.setEmitTTFontsFirst(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitTransfer ```java void com.datalogics.PDFL.PrintParams.setEmitTransfer(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setEmitUCR ```java void com.datalogics.PDFL.PrintParams.setEmitUCR(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setExpandToFit ```java void com.datalogics.PDFL.PrintParams.setExpandToFit(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setFarEastFontOpt ```java void com.datalogics.PDFL.PrintParams.setFarEastFontOpt(FarEastFont value) ``` **Parameters** - `value` (`FarEastFont`) **Returns:** `void` ### setFlattenInfoExternalDPI ```java void com.datalogics.PDFL.PrintParams.setFlattenInfoExternalDPI(float externalDPI) ``` **Parameters** - `externalDPI` (`float`) **Returns:** `void` Set the resolution for flattening the edges of atomic regions. ExternalDPI for flattening defaults to 144 (72x2). ### setGradientResolution ```java void com.datalogics.PDFL.PrintParams.setGradientResolution(long value) ``` **Parameters** - `value` (`long`) **Returns:** `void` ### setHostBasedCM ```java void com.datalogics.PDFL.PrintParams.setHostBasedCM(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setIncBaseFonts ```java void com.datalogics.PDFL.PrintParams.setIncBaseFonts(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncCIDFonts ```java void com.datalogics.PDFL.PrintParams.setIncCIDFonts(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncEmbeddedFonts ```java void com.datalogics.PDFL.PrintParams.setIncEmbeddedFonts(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncOtherResources ```java void com.datalogics.PDFL.PrintParams.setIncOtherResources(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncProcsets ```java void com.datalogics.PDFL.PrintParams.setIncProcsets(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncTrueTypeFonts ```java void com.datalogics.PDFL.PrintParams.setIncTrueTypeFonts(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setIncType1Fonts ```java void com.datalogics.PDFL.PrintParams.setIncType1Fonts(Inclusion value) ``` **Parameters** - `value` (`Inclusion`) **Returns:** `void` ### setInkBlack ```java void com.datalogics.PDFL.PrintParams.setInkBlack(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setLastHeight ```java void com.datalogics.PDFL.PrintParams.setLastHeight(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setLastWidth ```java void com.datalogics.PDFL.PrintParams.setLastWidth(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setLineWidth ```java void com.datalogics.PDFL.PrintParams.setLineWidth(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setMacQDPrinter ```java void com.datalogics.PDFL.PrintParams.setMacQDPrinter(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setMarkStyle ```java void com.datalogics.PDFL.PrintParams.setMarkStyle(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setMirrorprint ```java void com.datalogics.PDFL.PrintParams.setMirrorprint(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setNegative ```java void com.datalogics.PDFL.PrintParams.setNegative(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setNumCollatedCopies ```java void com.datalogics.PDFL.PrintParams.setNumCollatedCopies(long value) ``` **Parameters** - `value` (`long`) **Returns:** `void` ### setOptimizeForSpeed ```java void com.datalogics.PDFL.PrintParams.setOptimizeForSpeed(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setOptionalContentContext ```java void com.datalogics.PDFL.PrintParams.setOptionalContentContext(OptionalContentContext context) ``` **Parameters** - `context` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)) **Returns:** `void` An optional-content context that determines what contents are visible. null uses the document's optional-content context. This context is copied and the copy is used in drawing. This allows a client to change its copy of the context without raising an exception. ### setOutputType ```java void com.datalogics.PDFL.PrintParams.setOutputType(OutputType value) ``` **Parameters** - `value` (`OutputType`) **Returns:** `void` ### setPageRanges ```java void com.datalogics.PDFL.PrintParams.setPageRanges(java.util.List< PageRange > argPageRanges) ``` **Parameters** - `argPageRanges` ([`java.util.List< PageRange >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md)) **Returns:** `void` Set the ranges of pages to print. These ranges of pages have a priority over startPage, endPage fields defined in PrintUserParams. Note: If print dialog has been called the pageRanges fields will be overridden by the values obtained from printing dialog. ### setPaperWhite ```java void com.datalogics.PDFL.PrintParams.setPaperWhite(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setPrintWhat ```java void com.datalogics.PDFL.PrintParams.setPrintWhat(PrintWhat value) ``` **Parameters** - `value` (`PrintWhat`) **Returns:** `void` ### setPrintWhatAnnot ```java void com.datalogics.PDFL.PrintParams.setPrintWhatAnnot(java.util.EnumSet< PrintWhatAnnotFlags > value) ``` **Parameters** - `value` (`java.util.EnumSet< PrintWhatAnnotFlags >`) **Returns:** `void` ### setPsLevel ```java void com.datalogics.PDFL.PrintParams.setPsLevel(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setReverse ```java void com.datalogics.PDFL.PrintParams.setReverse(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setRotate ```java void com.datalogics.PDFL.PrintParams.setRotate(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setRotateAndCenter ```java void com.datalogics.PDFL.PrintParams.setRotateAndCenter(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setSaveVM ```java void com.datalogics.PDFL.PrintParams.setSaveVM(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setScale ```java void com.datalogics.PDFL.PrintParams.setScale(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setSetPageSize ```java void com.datalogics.PDFL.PrintParams.setSetPageSize(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setShrinkToFit ```java void com.datalogics.PDFL.PrintParams.setShrinkToFit(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setSuppressCJKSubstitution ```java void com.datalogics.PDFL.PrintParams.setSuppressCJKSubstitution(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setSuppressCSA ```java void com.datalogics.PDFL.PrintParams.setSuppressCSA(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setSuppressOPPWhenNoSpots ```java void com.datalogics.PDFL.PrintParams.setSuppressOPPWhenNoSpots(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setTTasCIDT2 ```java void com.datalogics.PDFL.PrintParams.setTTasCIDT2(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setTTasT42 ```java void com.datalogics.PDFL.PrintParams.setTTasT42(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setTransparencyQuality ```java void com.datalogics.PDFL.PrintParams.setTransparencyQuality(long value) ``` **Parameters** - `value` (`long`) **Returns:** `void` ### setTrapType ```java void com.datalogics.PDFL.PrintParams.setTrapType(int value) ``` **Parameters** - `value` (`int`) **Returns:** `void` ### setUseExecForm ```java void com.datalogics.PDFL.PrintParams.setUseExecForm(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setUseFontAliasNames ```java void com.datalogics.PDFL.PrintParams.setUseFontAliasNames(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setUseFullResolutionJP2KData ```java void com.datalogics.PDFL.PrintParams.setUseFullResolutionJP2KData(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setUseMaxVM ```java void com.datalogics.PDFL.PrintParams.setUseMaxVM(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setUseSubFileDecode ```java void com.datalogics.PDFL.PrintParams.setUseSubFileDecode(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setWesternMarksStyle ```java void com.datalogics.PDFL.PrintParams.setWesternMarksStyle(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setWhichMarks ```java void com.datalogics.PDFL.PrintParams.setWhichMarks(java.util.EnumSet< PageMarkFlags > value) ``` **Parameters** - `value` (`java.util.EnumSet< PageMarkFlags >`) **Returns:** `void` --- # PrintProgressProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintProgressProc ```java class PrintProgressProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Print progress callback function, a class used to notify print client of the progress during print operations. A PrintProgressProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the PrintProgressProc(). **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### PrintProgressProc ```java com.datalogics.PDFL.PrintProgressProc.PrintProgressProc() ``` *constructor* Print progress callback function, a class used to notify print client of the progress during print operations. A PrintProgressProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the PrintProgressProc(). ## Methods ### Call ```java void com.datalogics.PDFL.PrintProgressProc.Call(int page, int total, float stagePercent, String info, PrintProgressStage stage) ``` **Parameters** - `page` (`int`) - `total` (`int`) - `stagePercent` (`float`) - `info` (`String`) - `stage` (`PrintProgressStage`) **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.PrintProgressProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PrintProgressProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.PrintProgressProc.finalize() ``` *protected* **Returns:** `void` --- # PrintUserParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintUserParams ```java class PrintUserParams ``` **Namespace:** `com::datalogics::PDFL` ## Description A structure used to set parameters for print jobs. Two structures provide settings for setting parameters for print jobs, PrintUserParams and PrintParams. PrintUserParams was created first, and then PrintParams was created as an extension of PrintUserParams, to provide more settings to account for changing technology. When the system seeks to print a document it will pass the content and the print parameters, such as the page size, paper tray, and landscape v. portrait, to the print API in APDFL. If the setting is in PrintParams it will pass the document and parameters to PrintParams and then to PrintUserParams and from there to the print API to complete the printing process. The print logic may take different code paths depending on whether or not the print content is being sent to a printer or to a file, or if the printing uses PostScript or not. When you see a print setting that appears in both PrintUserParams and PrintParams, such as "ShrinktoFit," set the appropriate value in both of these classes. Also, PrintParams offers a variety of settings related to PostScript, but the use of PrintParams is not limited to PostScript. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams.md) ## Constructors ### PrintUserParams ```java com.datalogics.PDFL.PrintUserParams.PrintUserParams() ``` *constructor* Constructs a PrintUserParams with default settings. Initializes the print parameters to default values: paper size set to use the media box, emit to printer enabled, emit to file disabled, and zero copies. On macOS, also initializes the system print session, print settings, and page format. ## Fields ### USE_CROP_BOX ```java static final int com.datalogics.PDFL.PrintUserParams.USE_CROP_BOX ``` *static* When paper height and width are initialized to this value the crop box of each individual page will be used to determine the paper size. ### USE_MEDIA_BOX ```java static final int com.datalogics.PDFL.PrintUserParams.USE_MEDIA_BOX ``` *static* When paper height and width are initialized to this value the printed product more closely resembles what comes out of most PDF Viewers. This can eliminate some print problems, including PCL blank page problems. ## Methods ### choosePaperSourceBySize ```java void com.datalogics.PDFL.PrintUserParams.choosePaperSourceBySize(double width, double height) ``` **Parameters** - `width` (`double`): the desired width of the output in user units - `height` (`double`): the desired height of the output in user units **Returns:** `void` Choose the best paper source for a given width and height. Searches the printer's paper list for the smallest paper size that is greater than or equal to the given width and height, including with rotation, and sets up the job to print with that paper size. To obtain width and height, specify the Right - Left and Top - Bottom of the MediaBox of a representative Page. The printerName and portName must be set. If you use this call in conjunction with PosePrintDialog, UseDefaultPrinter, or UpdateFromPrinterSettings, call this function after those functions. Setting RotateAndCenter to True is recommended with this function. ### delete ```java synchronized void com.datalogics.PDFL.PrintUserParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.PrintUserParams.delete() ``` **Returns:** `synchronized void` ### enumeratePaperSources ```java java.util.List< String > com.datalogics.PDFL.PrintUserParams.enumeratePaperSources() ``` **Returns:** `java.util.List< String >` Set of the tray/bin names. Enumerates available tray/bin names for the specified printer. ### finalize ```java void com.datalogics.PDFL.PrintUserParams.finalize() ``` *protected* **Returns:** `void` ### getBinaryOK ```java int com.datalogics.PDFL.PrintUserParams.getBinaryOK() ``` **Returns:** `int` Binary ok setting. Gets whether to enable Binary data, 1 turns it on and 0 turns it off. It applies to a Postscript printer. This API is available on Windows and macOS only. ### getCollate ```java boolean com.datalogics.PDFL.PrintUserParams.getCollate() ``` **Returns:** `boolean` True if copies should be collated. Collate property. ### getCommand ```java String com.datalogics.PDFL.PrintUserParams.getCommand() ``` **Returns:** `String` command line arguments Gets the Optional command line arguments on Unix. It is used only if emitToPrinter is true. For example, "lp" or "lpr" applies to a Postscript printer. This API is available on Unix only. ### getDeviceName ```java String com.datalogics.PDFL.PrintUserParams.getDeviceName() ``` **Returns:** `String` The unicode name of the device to print to (for example, "Distiller Assistant v3.01"). Available devices can be found in the Windows Registry at HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices. It applies to a printer. ### getDoOPP ```java int com.datalogics.PDFL.PrintUserParams.getDoOPP() ``` **Returns:** `int` 1 if OverPrint Preview will be used, 0 if not Gets the OverPrint Preview setting, 1 uses it, 0 does not. It applies to a printer. The default is 0. This API is available on Windows and macOS only. ### getDriverName ```java String com.datalogics.PDFL.PrintUserParams.getDriverName() ``` **Returns:** `String` The unicode name of the driver (for example, "winspool"). See the registry key for deviceName. It applies to the printer. ### getEmitHalftones ```java int com.datalogics.PDFL.PrintUserParams.getEmitHalftones() ``` **Returns:** `int` 1 if halftones will be emitted, 0 if not Gets the Emit half-tones setting, 1 turns it on, 0 turns it off. It applies to a Postscript printer. This API is available on Windows and macOS only. ### getEmitToFile ```java boolean com.datalogics.PDFL.PrintUserParams.getEmitToFile() ``` **Returns:** `boolean` true if a PostScript file is created. Gets whether a Postscript file is created. ### getEmitToPrinter ```java boolean com.datalogics.PDFL.PrintUserParams.getEmitToPrinter() ``` **Returns:** `boolean` true if output to a printer. Gets whether to Output the PDF document to a Postscript Printer. ### getEndPage ```java int com.datalogics.PDFL.PrintUserParams.getEndPage() ``` **Returns:** `int` the page to end upon Gets the page on which to finish printing, using zero-based nubmering. It applies to a printer. This API is only available on Windows and macOS only. ### getFarEastFontOpt ```java FarEastFont com.datalogics.PDFL.PrintUserParams.getFarEastFontOpt() ``` **Returns:** `FarEastFont` a PDFarEastFont value that represents the setting to be used Gets the Far East Font setting. The default value is DownloadAll. PrintAsImage will not be honored. It applies to a Postscript printer. This API is available on Windows only. ### getInFileName ```java String com.datalogics.PDFL.PrintUserParams.getInFileName() ``` **Returns:** `String` Unicode name used for the Windows DOCINFO structure (lpszDocName) that points to a NULL-terminated string that specifying the name of the document. In case of printing/exporting to Postscript, this field sets the Title DSC comment in the generated Postscript file. If inFileName was not provided, the Title DSC comment is filled with the name of pdf document. ### getNCopies ```java int com.datalogics.PDFL.PrintUserParams.getNCopies() ``` **Returns:** `int` the number of copies that will be printed Gets the number of copies to print. It applies to a Postscript file. ### getOutFileName ```java String com.datalogics.PDFL.PrintUserParams.getOutFileName() ``` **Returns:** `String` Unicode name used for the Windows DOCINFO structure (lpszOutput). It points to a NULL-terminated string that specifies the name of an output file. If this pointer is NULL, the output will be sent to the device identified by deviceName, driverName, and portName. It applies to a printer. ### getPaperHeight ```java int com.datalogics.PDFL.PrintUserParams.getPaperHeight() ``` **Returns:** `int` the height of the paper in points Gets the Height of paper in points. The default value is 792. It applies to a Postscript printer. ### getPaperSource ```java int com.datalogics.PDFL.PrintUserParams.getPaperSource() ``` **Returns:** `int` Value in DEVMODE->dmDefaultSource if initialized or index of selected paper tray or -1 if not specified. Paper source property. ### getPaperWidth ```java int com.datalogics.PDFL.PrintUserParams.getPaperWidth() ``` **Returns:** `int` the width of the paper in points Gets the Width of paper in points. The default value is 612. It applies to a Postscript printer. ### getPortName ```java String com.datalogics.PDFL.PrintUserParams.getPortName() ``` **Returns:** `String` The unicode name of the port (for example, "Ne00"). See the registry key for deviceName. It applies to the printer. ### getPrintAnnots ```java int com.datalogics.PDFL.PrintUserParams.getPrintAnnots() ``` **Returns:** `int` 1 if annotations will be printed, 0 if not Gets the printing annotations setting, 1 turns it on, 0 turns it off. It applies to a printer. This API is available on Windows and macOS only. ### getPrintParams ```java PrintParams com.datalogics.PDFL.PrintUserParams.getPrintParams() ``` **Returns:** [`PrintParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams.md) the print parameter settings Gets the Print Parameter settings. ### getPsLevel ```java int com.datalogics.PDFL.PrintUserParams.getPsLevel() ``` **Returns:** `int` Postscript level setting Gets the Postscript level. It applies to a Postscript printer. This API is available on Windows and macOS only. ### getReverse ```java int com.datalogics.PDFL.PrintUserParams.getReverse() ``` **Returns:** `int` 1 to reverse page order or 0 for regular order Gets whether to reverses print order, 1 reverses it and 0 does regular order. It applies to a printer. This API is available on Windows and macOS only. ### getShrinkToFit ```java boolean com.datalogics.PDFL.PrintUserParams.getShrinkToFit() ``` **Returns:** `boolean` true if the page will be shrunk to fit Gets the Shrink to fit setting, true turns it on, false turns it off. It applies to a Postscript printer. This API is available on Windows and macOS only. ### getStartPage ```java int com.datalogics.PDFL.PrintUserParams.getStartPage() ``` **Returns:** `int` the start page Gets the page to start printing with, using zero-based numbering. It applies to a printer. This API is only available on Windows and macOS only. ### getStartResult ```java int com.datalogics.PDFL.PrintUserParams.getStartResult() ``` **Returns:** `int` the Spooler ID Gets the Spooler ID from StartDoc. This API is available on Windows and Unix only. ### getTransQuality ```java int com.datalogics.PDFL.PrintUserParams.getTransQuality() ``` **Returns:** `int` the transparency flatting quality, 1 is fastest; 5 is best Gets the Transparency flattening quality control. 1 is fastest; 5 is best. The default is 3. It applies to a printer. This API is available on Windows only. ### getUseCustomPaperSize ```java boolean com.datalogics.PDFL.PrintUserParams.getUseCustomPaperSize() ``` **Returns:** `boolean` true if force. Gets whether to force the use of the paper size provided in the PaperWidth and PaperHeight parameters and not search for best fit size provided by printer. SetPageSize must also be set. ### paperSourceIdByName ```java int com.datalogics.PDFL.PrintUserParams.paperSourceIdByName(String trayName) ``` **Parameters** - `trayName` (`String`): the tray/bin's name whose number need to obtain. **Returns:** `int` Tray/Bin number corresponding to the specified name. Obtain tray/bin number by its name. ### posePrintDialog ```java boolean com.datalogics.PDFL.PrintUserParams.posePrintDialog(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): a Document which will be used to set the maximum page range in the dialog box. **Returns:** `boolean` true if the user accepted the dialog box, false if it was cancelled Set the print parameters by posing a dialog box to the user. The parameters set include the printer, page range, paper size, number of copies, and duplexing mode. Changes to these parameters made by the user will be copied into the corresponding PrintUserParams fields. If you want to override the user's choices, change these fields after calling PosePrintDialog(). ### setBinaryOK ```java void com.datalogics.PDFL.PrintUserParams.setBinaryOK(int binaryOK) ``` **Parameters** - `binaryOK` (`int`): Binary Ok setting. **Returns:** `void` Sets whether to enable Binary datam, 1 turns it on and 0 turns it off. It applies to a Postscript printer. This API is available on Windows and macOS only. ### setCollate ```java void com.datalogics.PDFL.PrintUserParams.setCollate(boolean collate) ``` **Parameters** - `collate` (`boolean`): True if need to collate copies. **Returns:** `void` Collate property. ### setCommand ```java void com.datalogics.PDFL.PrintUserParams.setCommand(String command) ``` **Parameters** - `command` (`String`): the optional command line arguments **Returns:** `void` Sets the Optional command line arguments on Unix. It is used only if emitToPrinter is true. For example, "lp" or "lpr" applies to a Postscript printer. This API is available on Unix only. ### setDeviceName ```java void com.datalogics.PDFL.PrintUserParams.setDeviceName(String inStr) ``` **Parameters** - `inStr` (`String`) **Returns:** `void` ### setDoOPP ```java void com.datalogics.PDFL.PrintUserParams.setDoOPP(int doOPP) ``` **Parameters** - `doOPP` (`int`): 1 if OverPrint Preview will be used, 0 if not **Returns:** `void` Sets the OverPrint Preview setting, 1 uses it, 0 does not. The default is 0. It applies to a printer. This API is available on Windows and macOS only. ### setDriverName ```java void com.datalogics.PDFL.PrintUserParams.setDriverName(String inStr) ``` **Parameters** - `inStr` (`String`) **Returns:** `void` ### setEmitHalftones ```java void com.datalogics.PDFL.PrintUserParams.setEmitHalftones(int emitHalftones) ``` **Parameters** - `emitHalftones` (`int`): 1 if halftones will be emitted, 0 if not **Returns:** `void` Sets the Emit half-tones setting, 1 turns it on, 0 turns it off. It applies to a Postscript printer. This API is available on Windows and macOS only. ### setEmitToFile ```java void com.datalogics.PDFL.PrintUserParams.setEmitToFile(boolean emitToFile) ``` **Parameters** - `emitToFile` (`boolean`): pass true to emit output to a PostScript file **Returns:** `void` Sets whether a Postscript file is created. You set either this parameter or emitToPrinter, but not both. ### setEmitToPrinter ```java void com.datalogics.PDFL.PrintUserParams.setEmitToPrinter(boolean emitToPrinter) ``` **Parameters** - `emitToPrinter` (`boolean`): pass true to emit to the printer **Returns:** `void` Sets whether to Output the PDF document to a Postscript Printer. Set either this parameter or emitToFile, but not both. ### setEndPage ```java void com.datalogics.PDFL.PrintUserParams.setEndPage(int endPage) ``` **Parameters** - `endPage` (`int`): the page to end upon **Returns:** `void` Sets the page on which to finish printing, using zero-based nubmering. It applies to a printer. This API is only available on Windows and macOS only. ### setFarEastFontOpt ```java void com.datalogics.PDFL.PrintUserParams.setFarEastFontOpt(FarEastFont farEastFontOpt) ``` **Parameters** - `farEastFontOpt` (`FarEastFont`): a PDFarEastFont value that represents the setting to be used **Returns:** `void` Sets the Far East Font setting. The default value is DownloadAll. PrintAsImage will not be honored. It applies to a Postscript printer. This API is available on Windows only. ### setInFileName ```java void com.datalogics.PDFL.PrintUserParams.setInFileName(String inStr) ``` **Parameters** - `inStr` (`String`) **Returns:** `void` ### setNCopies ```java void com.datalogics.PDFL.PrintUserParams.setNCopies(int nCopies) ``` **Parameters** - `nCopies` (`int`): the number of copies to print. **Returns:** `void` Sets the number of copies to print. It applies to a Postscript file. ### setOutFileName ```java void com.datalogics.PDFL.PrintUserParams.setOutFileName(String inStr) ``` **Parameters** - `inStr` (`String`) **Returns:** `void` ### setPaperHeight ```java void com.datalogics.PDFL.PrintUserParams.setPaperHeight(int paperHeight) ``` **Parameters** - `paperHeight` (`int`): the height of the paper in points **Returns:** `void` Sets the Height of paper in points. The default value is 792. It applies to a Postscript printer. ### setPaperSource ```java void com.datalogics.PDFL.PrintUserParams.setPaperSource(int PaperSource) ``` **Parameters** - `PaperSource` (`int`): paper source which must be selected. **Returns:** `void` Paper source property. ### setPaperWidth ```java void com.datalogics.PDFL.PrintUserParams.setPaperWidth(int paperWidth) ``` **Parameters** - `paperWidth` (`int`): the width of the paper in points **Returns:** `void` Sets the Width of paper in points. The default value is 612. It applies to a Postscript printer. ### setPortName ```java void com.datalogics.PDFL.PrintUserParams.setPortName(String inStr) ``` **Parameters** - `inStr` (`String`) **Returns:** `void` ### setPrintAnnots ```java void com.datalogics.PDFL.PrintUserParams.setPrintAnnots(int printAnnots) ``` **Parameters** - `printAnnots` (`int`): 1 to print annotations, 0 to not print them. **Returns:** `void` Sets the printing annotations setting, 1 turns it on, 0 turns it off. It applies to a printer. This API is available on Windows and macOS only. ### setPsLevel ```java void com.datalogics.PDFL.PrintUserParams.setPsLevel(int psLevel) ``` **Parameters** - `psLevel` (`int`): Postscript Level setting. **Returns:** `void` Sets the Postscript level. It applies to a Postscript printer. This API is available on Windows and macOS only. ### setReverse ```java void com.datalogics.PDFL.PrintUserParams.setReverse(int reverse) ``` **Parameters** - `reverse` (`int`): 1 to reverse page order or 0 for regular order **Returns:** `void` Sets whether to reverses print order, 1 reverses it and 0 does regular order. It applies to a printer. This API is available on Windows and macOS only. ### setShrinkToFit ```java void com.datalogics.PDFL.PrintUserParams.setShrinkToFit(boolean shrinkToFit) ``` **Parameters** - `shrinkToFit` (`boolean`): pass true to shrink the page to fit **Returns:** `void` Sets the Shrink to fit setting, true turns it on, false turns it off. It applies to a PostScript printer. This API is available on Windows and macOS only. ### setStartPage ```java void com.datalogics.PDFL.PrintUserParams.setStartPage(int startPage) ``` **Parameters** - `startPage` (`int`): the page to start on **Returns:** `void` Sets the page to start printing with, using zero-based numbering. It applies to a printer. This API is only available on Windows and macOS only. ### setStartResult ```java void com.datalogics.PDFL.PrintUserParams.setStartResult(int startResult) ``` **Parameters** - `startResult` (`int`): the Spooler ID **Returns:** `void` Sets the Spooler ID for StartDoc. This API is available on Windows and Unix only. ### setTransQuality ```java void com.datalogics.PDFL.PrintUserParams.setTransQuality(int transQuality) ``` **Parameters** - `transQuality` (`int`): the transparency flatting quality, 1 is fastest; 5 is best **Returns:** `void` Sets the Transparency flattening quality control. 1 is fastest; 5 is best. The default is 3. It applies to a printer. This API is available on Windows only. ### setUseCustomPaperSize ```java void com.datalogics.PDFL.PrintUserParams.setUseCustomPaperSize(boolean useCustomPaperSize) ``` **Parameters** - `useCustomPaperSize` (`boolean`): pass true to use custom size. **Returns:** `void` Sets whether to force the use of the paper size provided in the PaperWidth and PaperHeight parameters and not search for best fit size provided by printer. SetPageSize must also be set. ### useDefaultPrinter ```java void com.datalogics.PDFL.PrintUserParams.useDefaultPrinter(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): a Document which will be used to set the maximum page range. **Returns:** `void` Set the print parameters to the defaults. The parameters set include the printer, page range, paper size, number of copies, and duplexing mode. Operating system defaults for these parameters will be copied into the corresponding PrintUserParams fields. If you want to override the system defaults, change these fields after calling UseDefaultPrinter(). --- # ProgressMonitor Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor ```java class ProgressMonitor ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents the progress of an operation. The class can display a dialog if a process will take time, and the Progress method can indicate how long the process will last. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SignDoc.md) ## Constructors ### ProgressMonitor ```java com.datalogics.PDFL.ProgressMonitor.ProgressMonitor() ``` *constructor* Creates a new ProgressMonitor with duration and current value initialized to zero. ## Methods ### beginOperation ```java void com.datalogics.PDFL.ProgressMonitor.beginOperation() ``` **Returns:** `void` Initializes the progress monitor and displays it with a current value of zero. This method will be called first when the progress monitor is used. ### delete ```java synchronized void com.datalogics.PDFL.ProgressMonitor.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ProgressMonitor.delete() ``` **Returns:** `synchronized void` ### endOperation ```java void com.datalogics.PDFL.ProgressMonitor.endOperation() ``` **Returns:** `void` Draws the progress monitor with its current value set to the progress monitor's duration (a full progress monitor), then removes the progress monitor from the display. ### finalize ```java void com.datalogics.PDFL.ProgressMonitor.finalize() ``` *protected* **Returns:** `void` ### getCurrentValue ```java int com.datalogics.PDFL.ProgressMonitor.getCurrentValue() ``` **Returns:** `int` The progress monitor's current value. Gets the current value of the progress monitor. The allowed value ranges from 0 (empty) to the value passed to SetDuration. For example, if the progress monitor's duration is 10, the current value must be between 0 and 10, inclusive. ### getDuration ```java int com.datalogics.PDFL.ProgressMonitor.getDuration() ``` **Returns:** `int` The maximum value the progress monitor is allowed to have, as set by SetDuration. Gets the progress monitor's duration. ### setCurrentValue ```java void com.datalogics.PDFL.ProgressMonitor.setCurrentValue(int currentValue) ``` **Parameters** - `currentValue` (`int`): The progress monitor's current value. **Returns:** `void` Sets the current value of the progress monitor and updates the display. The allowed value ranges from 0 (empty) to the value passed to SetDuration. For example, if the progress monitor's duration is 10, the current value must be between 0 and 10, inclusive. ### setDuration ```java void com.datalogics.PDFL.ProgressMonitor.setDuration(int duration) ``` **Parameters** - `duration` (`int`): The maximum value the progress monitor will be allowed to have. **Returns:** `void` Sets the value that corresponds to a full progress monitor display. The progress monitor is subsequently filled in by setting its current value. This method will be called before setting the progress monitor's current value. ### setText ```java void com.datalogics.PDFL.ProgressMonitor.setText(String text) ``` **Parameters** - `text` (`String`): The UTF-8 encoded text string to display. **Returns:** `void` Display a UTF-8 text string in the progress monitor. --- # QRColor Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor ```java class QRColor ``` **Namespace:** `com::datalogics::PDFL` ## Description Used to control how the QR color is created. **Referenced by:** [`QREncodeParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QREncodeParams.md) ## Constructors ### QRColor ```java com.datalogics.PDFL.QRColor.QRColor() ``` *constructor* Create a new QRColor object. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.QRColor.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.QRColor.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.QRColor.finalize() ``` *protected* **Returns:** `void` ### getBlue ```java int com.datalogics.PDFL.QRColor.getBlue() ``` **Returns:** `int` The blue component value. Gets the blue component of the QR color. ### getGreen ```java int com.datalogics.PDFL.QRColor.getGreen() ``` **Returns:** `int` The green component value. Gets the green component of the QR color. ### getRed ```java int com.datalogics.PDFL.QRColor.getRed() ``` **Returns:** `int` The red component value. Gets the red component of the QR color. ### setBlue ```java void com.datalogics.PDFL.QRColor.setBlue(int red) ``` **Parameters** - `red` (`int`): The blue component value to set. **Returns:** `void` Sets the blue component of the QR color. ### setGreen ```java void com.datalogics.PDFL.QRColor.setGreen(int red) ``` **Parameters** - `red` (`int`): The green component value to set. **Returns:** `void` Sets the green component of the QR color. ### setRed ```java void com.datalogics.PDFL.QRColor.setRed(int red) ``` **Parameters** - `red` (`int`): The red component value to set. **Returns:** `void` Sets the red component of the QR color. --- # QREncodeParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QREncodeParams ```java class QREncodeParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Used to control how the QR code is created. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md) ## Constructors ### QREncodeParams ```java com.datalogics.PDFL.QREncodeParams.QREncodeParams(String text, double x, double y, double width, double height, QRErrorCorrectionLevel errorLevel, long quietZoneSize, QRColor codeColor, QRColor backgroundColor) ``` *constructor* **Parameters** - `text` (`String`): The text string to encode in the QR code. - `x` (`double`): The X coordinate of the lower-left corner of the QR code on the page, in user space units. - `y` (`double`): The Y coordinate of the lower-left corner of the QR code on the page, in user space units. - `width` (`double`): The width of the QR code, in user space units. - `height` (`double`): The height of the QR code, in user space units. - `errorLevel` (`QRErrorCorrectionLevel`): The error correction level for the QR code. - `quietZoneSize` (`long`): The size of the quiet zone (margin) around the QR code, in modules. - `codeColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md)): The color of the QR code modules (the dark elements). - `backgroundColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md)): The color of the background behind the QR code modules. Create a new QREncodeParams object using the specified values. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.QREncodeParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.QREncodeParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.QREncodeParams.finalize() ``` *protected* **Returns:** `void` ### getBackgroundColor ```java QRColor com.datalogics.PDFL.QREncodeParams.getBackgroundColor() ``` **Returns:** [`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md) Get the color of the background behind the QR code modules. ### getCodeColor ```java QRColor com.datalogics.PDFL.QREncodeParams.getCodeColor() ``` **Returns:** [`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md) Get the color of the QR code modules (the dark elements). ### getErrorCorrectionLevel ```java QRErrorCorrectionLevel com.datalogics.PDFL.QREncodeParams.getErrorCorrectionLevel() ``` **Returns:** `QRErrorCorrectionLevel` Get the error correction level of the QR code. ### getHeight ```java double com.datalogics.PDFL.QREncodeParams.getHeight() ``` **Returns:** `double` Get the height of the QR code, in user space units. ### getQuietZoneSize ```java long com.datalogics.PDFL.QREncodeParams.getQuietZoneSize() ``` **Returns:** `long` Get the quiet zone size (margin around the QR code), in modules. ### getTextToEncode ```java String com.datalogics.PDFL.QREncodeParams.getTextToEncode() ``` **Returns:** `String` Get the text string to be encoded in the QR code. ### getWidth ```java double com.datalogics.PDFL.QREncodeParams.getWidth() ``` **Returns:** `double` Get the width of the QR code, in user space units. ### getX ```java double com.datalogics.PDFL.QREncodeParams.getX() ``` **Returns:** `double` Get the X coordinate of the lower-left corner of the QR code on the page, in user space units. ### getY ```java double com.datalogics.PDFL.QREncodeParams.getY() ``` **Returns:** `double` Get the Y coordinate of the lower-left corner of the QR code on the page, in user space units. ### setBackgroundColor ```java void com.datalogics.PDFL.QREncodeParams.setBackgroundColor(QRColor backgroundColor) ``` **Parameters** - `backgroundColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md)) **Returns:** `void` Set the color of the background behind the QR code modules. ### setCodeColor ```java void com.datalogics.PDFL.QREncodeParams.setCodeColor(QRColor codeColor) ``` **Parameters** - `codeColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QRColor.md)) **Returns:** `void` Set the color of the QR code modules (the dark elements). ### setErrorCorrectionLevel ```java void com.datalogics.PDFL.QREncodeParams.setErrorCorrectionLevel(QRErrorCorrectionLevel errorLevel) ``` **Parameters** - `errorLevel` (`QRErrorCorrectionLevel`) **Returns:** `void` Set the error correction level of the QR code. ### setHeight ```java void com.datalogics.PDFL.QREncodeParams.setHeight(double height) ``` **Parameters** - `height` (`double`) **Returns:** `void` Set the height of the QR code, in user space units. ### setQuietZoneSize ```java void com.datalogics.PDFL.QREncodeParams.setQuietZoneSize(long quiteSize) ``` **Parameters** - `quiteSize` (`long`) **Returns:** `void` Set the quiet zone size (margin around the QR code), in modules. ### setTextToEncode ```java void com.datalogics.PDFL.QREncodeParams.setTextToEncode(String textToEncode) ``` **Parameters** - `textToEncode` (`String`) **Returns:** `void` Set the text string to be encoded in the QR code. ### setWidth ```java void com.datalogics.PDFL.QREncodeParams.setWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` Set the width of the QR code, in user space units. ### setX ```java void com.datalogics.PDFL.QREncodeParams.setX(double x) ``` **Parameters** - `x` (`double`) **Returns:** `void` Set the X coordinate of the lower-left corner of the QR code on the page, in user space units. ### setY ```java void com.datalogics.PDFL.QREncodeParams.setY(double y) ``` **Parameters** - `y` (`double`) **Returns:** `void` Set the Y coordinate of the lower-left corner of the QR code on the page, in user space units. --- # Quad Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad ```java class Quad ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a quadrilateral in a program. A quadrilateral is a polygon graphic that has four sides or edges and four corners, Bottom Left, Bottom Right, Top Left, and Top Right. **Referenced by:** [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`QuadVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QuadVector.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Quad ```java com.datalogics.PDFL.Quad.Quad() ``` *constructor* Creates a Quad with all points at the origin. ### Quad ```java com.datalogics.PDFL.Quad.Quad(Point nTopLeft, Point nTopRight, Point nBottomLeft, Point nBottomRight) ``` *constructor* **Parameters** - `nTopLeft` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The top left corner of the Quad. - `nTopRight` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The top right corner of the Quad. - `nBottomLeft` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The bottom left corner of the Quad. - `nBottomRight` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The bottom right corner of the Quad. Creates a Quad from a set of 4 points. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Quad.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Quad.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Quad.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Quad.finalize() ``` *protected* **Returns:** `void` ### getBottomLeft ```java Point com.datalogics.PDFL.Quad.getBottomLeft() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) Bottom left corner of the Quad. ### getBottomRight ```java Point com.datalogics.PDFL.Quad.getBottomRight() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) Bottom right corner of the Quad. ### getTopLeft ```java Point com.datalogics.PDFL.Quad.getTopLeft() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) Top left corner of the Quad. ### getTopRight ```java Point com.datalogics.PDFL.Quad.getTopRight() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) Top right corner of the Quad. ### toRect ```java Rect com.datalogics.PDFL.Quad.toRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) A Rect with the lower-left corner at BottomLeft and the upper-right corner at TopRight. Returns a rectangle describing the same area as the quad. ### toString ```java String com.datalogics.PDFL.Quad.toString() ``` **Returns:** `String` A string in the format "[ TopLeft=(...), TopRight=(...), BottomLeft=(...), BottomRight=(...) ]". Returns a UTF-8 string representation of the quad by calling each point's ToString function. ### transform ```java Quad com.datalogics.PDFL.Quad.transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix to apply to each point of the Quad. **Returns:** [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A new Quad with each point transformed by the given matrix. Create a new quad from the results of a Transform on each point of the Quad. --- # QuadVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/QuadVector ```java class QuadVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) ## Constructors ### QuadVector ```java com.datalogics.PDFL.QuadVector.QuadVector() ``` *constructor* ### QuadVector ```java com.datalogics.PDFL.QuadVector.QuadVector(Iterable< Quad > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) ## Methods ### add ```java void com.datalogics.PDFL.QuadVector.add(Quad x) ``` **Parameters** - `x` ([`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.QuadVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.QuadVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.QuadVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.QuadVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.QuadVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Quad com.datalogics.PDFL.QuadVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) ### isEmpty ```java boolean com.datalogics.PDFL.QuadVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.QuadVector.set(int i, Quad val) ``` **Parameters** - `i` (`int`) - `val` ([`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.QuadVector.size() ``` **Returns:** `long` --- # Rect Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect ```java class Rect ``` **Namespace:** `com::datalogics::PDFL` ## Description A rect holds four coordinates for a rectangle. The coordinates for a rectangle include left, top, right, bottom. Width () and height () defines the rectangle's width and height. LLx and LLy defines lower left corner, and URx and URy defines the upper right corner. **Referenced by:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`Group`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Group.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`Image`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Image.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`PostScript`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PostScript.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PrintParams.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`Shading`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SignDoc.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Rect ```java com.datalogics.PDFL.Rect.Rect() ``` *constructor* Create a rectangle with all values zero. ### Rect ```java com.datalogics.PDFL.Rect.Rect(double nLLx, double nLLy, double nURx, double nURy) ``` *constructor* **Parameters** - `nLLx` (`double`): the X coordinate of the lower left corner of the rectangle - `nLLy` (`double`): the Y coordinate of the lower left corner of the rectangle - `nURx` (`double`): the X coordinate of the upper right corner of the rectangle - `nURy` (`double`): the Y coordinate of the upper right corner of the rectangle Create a Rect. ### Rect ```java com.datalogics.PDFL.Rect.Rect(java.awt.geom.Rectangle2D r) ``` *constructor* **Parameters** - `r` (`java.awt.geom.Rectangle2D`): a rectangle Create a Rect from a java.awt rectangle type Note that the coordinate systems are inverted for PDFL. Smaller X/Y values are assigned to the lower left coordinate. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Rect.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Rect.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Rect.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Rect.finalize() ``` *protected* **Returns:** `void` ### getBottom ```java double com.datalogics.PDFL.Rect.getBottom() ``` **Returns:** `double` the Y coordinate of the lower left corner of the rectangle. ### getHeight ```java double com.datalogics.PDFL.Rect.getHeight() ``` **Returns:** `double` The height of the rectangle (URy - LLy). The height of the Rect. ### getLLx ```java double com.datalogics.PDFL.Rect.getLLx() ``` **Returns:** `double` the X coordinate of the lower left corner of the rectangle. ### getLLy ```java double com.datalogics.PDFL.Rect.getLLy() ``` **Returns:** `double` the Y coordinate of the lower left corner of the rectangle. ### getLeft ```java double com.datalogics.PDFL.Rect.getLeft() ``` **Returns:** `double` the X coordinate of the lower left corner of the rectangle. ### getRight ```java double com.datalogics.PDFL.Rect.getRight() ``` **Returns:** `double` the X coordinate of the upper right corner of the rectangle. ### getTop ```java double com.datalogics.PDFL.Rect.getTop() ``` **Returns:** `double` the Y coordinate of the upper right corner of the rectangle. ### getURx ```java double com.datalogics.PDFL.Rect.getURx() ``` **Returns:** `double` the X coordinate of the upper right corner of the rectangle. ### getURy ```java double com.datalogics.PDFL.Rect.getURy() ``` **Returns:** `double` the Y coordinate of the upper right corner of the rectangle. ### getWidth ```java double com.datalogics.PDFL.Rect.getWidth() ``` **Returns:** `double` The width of the rectangle (URx - LLx). The width of the Rect. ### inRect ```java boolean com.datalogics.PDFL.Rect.inRect(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle to test containment against. **Returns:** `boolean` true if this rectangle is entirely inside r2, false otherwise. Check if this rectangle is inside the parameter rectangle. ### intersect ```java Rect com.datalogics.PDFL.Rect.intersect(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The other rectangle to intersect with. **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) A new Rect representing the intersection of the two rectangles. Obtain the intersection of this rectangle and another rectangle. ### isEmpty ```java boolean com.datalogics.PDFL.Rect.isEmpty() ``` **Returns:** `boolean` true if the rectangle is empty, false otherwise. Check if this rectangle is empty. A rectangle is considered empty if its width or height is zero. ### overlaps ```java boolean com.datalogics.PDFL.Rect.overlaps(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The other rectangle to test for overlap. **Returns:** `boolean` true if the two rectangles overlap, false otherwise. Check if two rectangles overlap. ### setBottom ```java void com.datalogics.PDFL.Rect.setBottom(double bottom) ``` **Parameters** - `bottom` (`double`) **Returns:** `void` the Y coordinate of the lower left corner of the rectangle. ### setLLx ```java void com.datalogics.PDFL.Rect.setLLx(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` the X coordinate of the lower left corner of the rectangle. ### setLLy ```java void com.datalogics.PDFL.Rect.setLLy(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` the Y coordinate of the lower left corner of the rectangle. ### setLeft ```java void com.datalogics.PDFL.Rect.setLeft(double left) ``` **Parameters** - `left` (`double`) **Returns:** `void` the X coordinate of the lower left corner of the rectangle. ### setRight ```java void com.datalogics.PDFL.Rect.setRight(double right) ``` **Parameters** - `right` (`double`) **Returns:** `void` the X coordinate of the upper right corner of the rectangle. ### setTop ```java void com.datalogics.PDFL.Rect.setTop(double top) ``` **Parameters** - `top` (`double`) **Returns:** `void` the Y coordinate of the upper right corner of the rectangle. ### setURx ```java void com.datalogics.PDFL.Rect.setURx(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` the X coordinate of the upper right corner of the rectangle. ### setURy ```java void com.datalogics.PDFL.Rect.setURy(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` the Y coordinate of the upper right corner of the rectangle. ### toString ```java String com.datalogics.PDFL.Rect.toString() ``` **Returns:** `String` A string describing the rectangle coordinates in the form "[ LLx=..., LLy=..., URx=..., URy=... ]". Convert the Rect to a human-readable string representation. ### transform ```java Rect com.datalogics.PDFL.Rect.transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) A new Rect with the transformed coordinates. Transform the coordinates of the rectangle by the given Matrix Object. --- # RectSegment Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RectSegment ```java class RectSegment : Segment ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Description A rectangle path operator. RectSegment represents a single path, or line, within a rectangle, with coordinates xy, xy for the beginning and end of the line. **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### RectSegment ```java com.datalogics.PDFL.RectSegment.RectSegment(double x, double y, double width, double height) ``` *constructor* **Parameters** - `x` (`double`): the left edge of the rectangle. - `y` (`double`): the right edge of the rectangle. - `width` (`double`): the width of the rectangle. - `height` (`double`): the height of the rectangle. Append a rectangle to the current path as a complete subpath, with lower-left corner (x, y) and dimensions width and height in user space. ### RectSegment ```java com.datalogics.PDFL.RectSegment.RectSegment(Point point, double width, double height) ``` *constructor* **Parameters** - `point` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): the lower left corner of the rectangle. - `width` (`double`): the width of the rectangle. - `height` (`double`): the height of the rectangle. Append a rectangle to the current path as a complete subpath, with lower-left corner point and dimensions width and height in user space. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.RectSegment.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RectSegment.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.RectSegment.finalize() ``` *protected* **Returns:** `void` ### getHeight ```java double com.datalogics.PDFL.RectSegment.getHeight() ``` **Returns:** `double` The height of the rectangle. ### getPoint ```java Point com.datalogics.PDFL.RectSegment.getPoint() ``` **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) The lower left corner of the rectangle. ### getWidth ```java double com.datalogics.PDFL.RectSegment.getWidth() ``` **Returns:** `double` The width of the rectangle. ### setHeight ```java void com.datalogics.PDFL.RectSegment.setHeight(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The height of the rectangle. ### setPoint ```java void com.datalogics.PDFL.RectSegment.setPoint(Point value) ``` **Parameters** - `value` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)) **Returns:** `void` The lower left corner of the rectangle. ### setWidth ```java void com.datalogics.PDFL.RectSegment.setWidth(double value) ``` **Parameters** - `value` (`double`) **Returns:** `void` The width of the rectangle. ### toString ```java String com.datalogics.PDFL.RectSegment.toString() ``` **Returns:** `String` --- # Redaction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Redaction ```java class Redaction : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description Associates an object with its location on a page of a PDF document. A redaction occludes some part of a document. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, String fontName) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `fontName` (`String`): The name of the font to be used when setting the overlayText. When absent or empty, the standard font Helvtica will be used. Using this option, a new internal font is created for each redaction. Each is subset and embedded. When many, many redactions are to be created, this can result in a significant use of processing time. When many redactions are to be created, the option using a font object in place of the font name is preferred. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, String fontName, double textSize) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `fontName` (`String`): The name of the font to be used when setting the overlayText. When absent or empty, the standard font Helvtica will be used. Using this option, a new internal font is created for each redaction. Each is subset and embedded. When many, many redactions are to be created, this can result in a significant use of processing time. When many redactions are to be created, the option using a font object in place of the font name is preferred. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, String fontName, double textSize, boolean repeat) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `fontName` (`String`): The name of the font to be used when setting the overlayText. When absent or empty, the standard font Helvtica will be used. Using this option, a new internal font is created for each redaction. Each is subset and embedded. When many, many redactions are to be created, this can result in a significant use of processing time. When many redactions are to be created, the option using a font object in place of the font name is preferred. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. - `repeat` (`boolean`): When true, the overlay text will be repeated to fill the redacted area. when false, the overlay text will be displayed only once. When omitted, it is presumed to be false. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, String fontName, double textSize, boolean repeat, boolean scaleToFit) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance (and in the final document, after redactions are applied). This parameter is considered true if not omitted. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. This parameter is considered true if not omitted. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color (If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `fontName` (`String`): The name of the font to be used when setting the overlayText. When absent or empty, the standard font Helvtica will be used. Using this option, a new internal font is created for each redaction. Each is subset and embedded. When many, many redactions are to be created, this can result in a significant use of processing time. When many redactions are to be created, the option using a font object in place of the font name is preferred. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. - `repeat` (`boolean`): When true, the overlay text will be repeated to fill the redacted area. when false, the overlay text will be displayed only once. When omitted, it is presumed to be false. - `scaleToFit` (`boolean`): When true, the text size will be decreased to just fill the redacted area. When false, the text size will be constant, as described in textSize. When omitted, this is presumed to be false. Create a new Redaction annotation object with extended options. When Overlay Text is used, font is specified by name. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, double textSize) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, double textSize, boolean repeat) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. - `repeat` (`boolean`): When true, the overlay text will be repeated to fill the redacted area, when false, the overlay text will be displayed only once. When omitted, it is presumed to be false. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ### Redaction ```java com.datalogics.PDFL.Redaction.Redaction(Page page, java.util.List< Quad > regions, Font font, Color internalColor, boolean fillRedacted, boolean drawBorder, Color borderColor, boolean fillNormal, Color fillColor, double fillOpacity, String overlayText, Color textColor, double textSize, boolean repeat, boolean scaleToFit) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A vector of quadrilateral regions specifying the redaction's bounds, specified in user space coordinates. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to be used when creating overlay text. For most efficiency, this font should be created prior to the first redaction, and used for all redactions. After the last redaction is created the font may be subset and embedded. Using this option, rather than specifying a font name, significantly speeds the creation of many redactions. - `internalColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. - `fillRedacted` (`boolean`): When true, the area being redacted will be filled with the internalColor in the redacted appearance(and in the final document, after redactions are applied). If omitted, this parameter will default to true. - `drawBorder` (`boolean`): When true, the "normal" appearance of the redacted areas will have a border of 1 point, in the borderColor. When it is false, no border will be drawn. If omitted, this parameter will default to true. - `borderColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to draw the border around the "normal" appearance of each area. If omitted, and fillColor is not omitted, no border will be drawn. If both fillColor and BorderColor is omitted, border will be drawn in internalColor. If internalColor is also omitted, border will be drawn in black. - `fillNormal` (`boolean`): When true, the areas being redacted will be drawn, in the "normal" appearance, with an overlaying fill of the fillColor at the fillOpacity. When false, there will be no overlay fill. This paramter is considered false if omitted. - `fillColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color applied as an overlay to the "normal" (Non redacted) area within the redaction areas. If this color is omitted, a "white" fill will be presumed. - `fillOpacity` (`double`): A value from 0 to 1.0 which is the opacity of the fill color(If this value is one, then the content of the redacted area will not be visible in the "normal" mode. If it is zero, then there will be no visible color overlaying the content to be redacted). If omitted, this will default to 1.0. - `overlayText` (`String`): The value of the string to be displayed over the redacted area. It will be scaled and/or repeated according to the value of later parameters. If omitted, it will be an empty string, and there will be no overlay text drawn. - `textColor` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color to use in drawing the OverlayText. If this is omitted, white will be presumed. - `textSize` (`double`): The size, in points, to draw the text too. This may be overridden the scaleTofit value below. If omitted, it will default to 12.0. - `repeat` (`boolean`): When true, the overlay text will be repeated to fill the redacted area, when false, the overlay text will be displayed only once. When omitted, it is presumed to be false. - `scaleToFit` (`boolean`): When true, the text size will be decreased to just fill the redacted area. When false, the text size will be constant, as described in textSize. When omitted, this is presumed to be false. Create a new Redaction annotation object with extended options .When Overlay Text is used, font is provided as a font. To create a potental redaction and place it elsewhere in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Redaction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Redaction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.Redaction.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.Annotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the visual appearance, or null if the appearance could not be generated. Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAlign ```java HorizontalAlignment com.datalogics.PDFL.Redaction.getAlign() ``` **Returns:** `HorizontalAlignment` Horiziontal Alignment Get the horizontal alignment for the redaction text. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.Redaction.getAnnotationFeatureLevel() ``` **Returns:** `double` PDF Version Number Get the minimum PDF version necessary to support the features used in this annotation. ### getBorderColor ```java Color com.datalogics.PDFL.Redaction.getBorderColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) Color used for the "normal" border. Get the color used as the "normal" border. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getDrawBorder ```java boolean com.datalogics.PDFL.Redaction.getDrawBorder() ``` **Returns:** `boolean` boolean value of Draw Border Option If true, border will be drawn in Normal appearance in specified color, If false, no border will be drawn in Normal Appearance. Get Draw Border option ### getFillColor ```java Color com.datalogics.PDFL.Redaction.getFillColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) Color used to fill the "normal" appearance area. Get the color used to fill the "normal" appearance area. ### getFillNormal ```java boolean com.datalogics.PDFL.Redaction.getFillNormal() ``` **Returns:** `boolean` boolean value of Fill Normal Appearance Option If true, the Normal Appearance will show as filled with the fill color and opacity, If false, Normal Appearance areas will not be filled. Get Fill Normal Appearance option ### getFillOpacity ```java double com.datalogics.PDFL.Redaction.getFillOpacity() ``` **Returns:** `double` Opacity applied to the fill color in "normal" appearance. Get the opacity applied to the fill color in "normal" appearance. ### getFillRedacted ```java boolean com.datalogics.PDFL.Redaction.getFillRedacted() ``` **Returns:** `boolean` boolean value of Fill redacted Appearance Option If true, the Redacted Appearance will show as filled with the specfied color. If false, Redacted Appearance areas will not be filled (They will be left white). Get Fill Redacted Appearance option ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getFontFace ```java String com.datalogics.PDFL.Redaction.getFontFace() ``` **Returns:** `String` current Font face Get Font face for the text ### getFontSize ```java double com.datalogics.PDFL.Redaction.getFontSize() ``` **Returns:** `double` current font size Get font size for the text; ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getInternalColor ```java Color com.datalogics.PDFL.Redaction.getInternalColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) Color used for the replacement. Get the color used as the replacement background. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getNote ```java String com.datalogics.PDFL.Redaction.getNote() ``` **Returns:** `String` Note text Get the text string to be used as the Popup contents ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getOverlayFont ```java Font com.datalogics.PDFL.Redaction.getOverlayFont() ``` **Returns:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) CFont value of overlay Text Font Get Overlay Text Font ### getOverlayText ```java String com.datalogics.PDFL.Redaction.getOverlayText() ``` **Returns:** `String` the overlay text of the redaction Get the optional overlay text of the redaction. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getPageNo ```java int com.datalogics.PDFL.Redaction.getPageNo() ``` **Returns:** `int` base zero page number Get the page number where the redaction occurs. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.Redaction.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A vector of CQuad objects for the redaction. A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getRepeat ```java boolean com.datalogics.PDFL.Redaction.getRepeat() ``` **Returns:** `boolean` repeat value Get the repeat value ### getScaleToFit ```java boolean com.datalogics.PDFL.Redaction.getScaleToFit() ``` **Returns:** `boolean` Scale To Fit value Get the ScaleToFit value ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTextColor ```java Color com.datalogics.PDFL.Redaction.getTextColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) Color used for the overlay text. Get the color used for the overlay text. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAlign ```java void com.datalogics.PDFL.Redaction.setAlign(HorizontalAlignment halign) ``` **Parameters** - `halign` (`HorizontalAlignment`): desired Horiziontal alignment **Returns:** `void` Sets the horizontal alignment for the redaction text. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.Redaction.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`): Target PDF version number **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderColor ```java void com.datalogics.PDFL.Redaction.setBorderColor(Color col) ``` **Parameters** - `col` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the border when the annotation is displayed in the page prior to application of redactions. **Returns:** `void` Set the color used as the "normal" border. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setDrawBorder ```java void com.datalogics.PDFL.Redaction.setDrawBorder(boolean Option) ``` **Parameters** - `Option` (`boolean`): boolean value to set Draw Border Option If true, border will be drawn in Normal appearance in specified color, If false, no border will be drawn in Normal Appearance. **Returns:** `void` Set Draw Border option ### setFillColor ```java void com.datalogics.PDFL.Redaction.setFillColor(Color col, double opacity) ``` **Parameters** - `col` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color which will fill the annotation when it is viewed in the "normal" or pre-redacted appearance. - `opacity` (`double`): The amount of opacity to apply to the fill color. If this value is zero, not color will be seen. If it is 1.0, then the underlying content of the unredacted document will not be visible. **Returns:** `void` Set the color used to fill the "normal" appearance. ### setFillNormal ```java void com.datalogics.PDFL.Redaction.setFillNormal(boolean Option) ``` **Parameters** - `Option` (`boolean`): boolean value to set Draw Border Option If true, the Normal Appearance will show as filled with the fill color and opacity, If false, Normal Appearance areas will not be filled. **Returns:** `void` Set Fill Normal Appearance option ### setFillRedacted ```java void com.datalogics.PDFL.Redaction.setFillRedacted(boolean Option) ``` **Parameters** - `Option` (`boolean`): boolean value to set Draw Border Option If true, the Redacted Appearance will show as filled with the specfied, If false, Redacted Appearance areas will not be filled (They will be left white). **Returns:** `void` Set Fill Redacted Appearance option ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setFontFace ```java void com.datalogics.PDFL.Redaction.setFontFace(String fontName) ``` **Parameters** - `fontName` (`String`): UTF-8 name of font to use for type. if omitted, "Helvetica" will be used. **Returns:** `void` Set Font face for the text ### setFontSize ```java void com.datalogics.PDFL.Redaction.setFontSize(double fontsize) ``` **Parameters** - `fontsize` (`double`): Size to draw overlay type at. if set to zero, 10.0 point type will be drawn. **Returns:** `void` Set font size for text ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setInternalColor ```java void com.datalogics.PDFL.Redaction.setInternalColor(Color col) ``` **Parameters** - `col` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the redaction mark. This color is also used as the fill color when generating the replacement form for this redaction mark. The replacement form is the content that will be placed on the page when this mark is applied and the underlying content is removed. **Returns:** `void` Set the color used as the replacement background. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setNote ```java void com.datalogics.PDFL.Redaction.setNote(String notetext) ``` **Parameters** - `notetext` (`String`): Contents to use on the popup comments box. **Returns:** `void` Set the text string to be used as the Popup Contents ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setOverlayFont ```java void com.datalogics.PDFL.Redaction.setOverlayFont(Font font) ``` **Parameters** - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to use for drawing the overlay text. **Returns:** `void` Set Overlay Text Font. When the specified font is not null, it will be used to display the overlay text. When this value is not null, the Overlay Font Name will be ignored. ### setOverlayText ```java void com.datalogics.PDFL.Redaction.setOverlayText(String otext) ``` **Parameters** - `otext` (`String`): UTF-8 text to be written over redaction. **Returns:** `void` Set the optional overlay text of the redaction. ### setPageNo ```java void com.datalogics.PDFL.Redaction.setPageNo(int pgNo) ``` **Parameters** - `pgNo` (`int`): Base zero page number **Returns:** `void` Sets the page number where the redaction occurs. ### setQuads ```java void com.datalogics.PDFL.Redaction.setQuads(java.util.List< Quad > theQuads) ``` **Parameters** - `theQuads` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): std.vector of Quads **Returns:** `void` A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setRepeat ```java void com.datalogics.PDFL.Redaction.setRepeat(boolean Value) ``` **Parameters** - `Value` (`boolean`): True will repeat fill string, false will display string only once. **Returns:** `void` Set the repeat value ### setScaleToFit ```java void com.datalogics.PDFL.Redaction.setScaleToFit(boolean Value) ``` **Parameters** - `Value` (`boolean`): True will scale text down to fit into area, false will not. **Returns:** `void` Set the ScaleToFit value ### setTextColor ```java void com.datalogics.PDFL.Redaction.setTextColor(Color col) ``` **Parameters** - `col` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The color of the text when the annotation is displayed as redacted, or when the redactions are applied. **Returns:** `void` Set the color used for the overlay text. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # RemoteDestination Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination ```java class RemoteDestination ``` **Namespace:** `com::datalogics::PDFL` ## Description A view of a page contained in a separate document. A RemoteDestination is not the same as a ViewDestination; the two objects are not interchangeable. **Referenced by:** [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md) ## Constructors ### RemoteDestination ```java com.datalogics.PDFL.RemoteDestination.RemoteDestination(Document doc, int pageNum, String fitType, Rect r, double zoom) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Document that the RemoteDestination will be created in. - `pageNum` (`int`): Page number of the page in the remote document to display. - `fitType` (`String`): Fit Type must be: "XYZ", "Fit", "FitH", "FitV", "FitR", "FitB", "FitBH", or "FitBV". - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): Target Rectangle - `zoom` (`double`): Zoom level Construct a RemoteDestination. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.RemoteDestination.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RemoteDestination.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.RemoteDestination.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.RemoteDestination.finalize() ``` *protected* **Returns:** `void` ### getDestRect ```java Rect com.datalogics.PDFL.RemoteDestination.getDestRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The rectangle defining the area of the page to display. Fields not applicable to the current fit type will contain NullValue. The destination rectangle. ### getFitType ```java String com.datalogics.PDFL.RemoteDestination.getFitType() ``` **Returns:** `String` The fit type string (e.g., "XYZ", "Fit", "FitH", "FitV", "FitR", "FitB", "FitBH", or "FitBV"). The fit type for the destination. ### getNULL_VALUE ```java static double com.datalogics.PDFL.RemoteDestination.getNULL_VALUE() ``` *static* **Returns:** `double` Constant used for "null" values in destination rectangles or zoom. ### getPDFObject ```java PDFObject com.datalogics.PDFL.RemoteDestination.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The underlying PDFObject for this RemoteDestination. Retrieve the PDFObject representation of this Remote Destination. ### getPageNumber ```java int com.datalogics.PDFL.RemoteDestination.getPageNumber() ``` **Returns:** `int` The zero-based page number for this destination in the remote document. The page number of the destination. ### getZoom ```java double com.datalogics.PDFL.RemoteDestination.getZoom() ``` **Returns:** `double` The zoom level for the destination, or NullValue if not specified. The zoom factor for the destination. ### setDestRect ```java void com.datalogics.PDFL.RemoteDestination.setDestRect(Rect destRect) ``` **Parameters** - `destRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)) **Returns:** `void` Set the rectangle for the destination. ### setFitType ```java void com.datalogics.PDFL.RemoteDestination.setFitType(String remoteDestFitType) ``` **Parameters** - `remoteDestFitType` (`String`) **Returns:** `void` Set the fit type for the destination. ### setPageNumber ```java void com.datalogics.PDFL.RemoteDestination.setPageNumber(int remoteDestPageNum) ``` **Parameters** - `remoteDestPageNum` (`int`) **Returns:** `void` Set the page number of the destination (page numbers start at 0) ### setZoom ```java void com.datalogics.PDFL.RemoteDestination.setZoom(double zoomFactor) ``` **Parameters** - `zoomFactor` (`double`) **Returns:** `void` Set the zoom factor for the destination. ### toString ```java String com.datalogics.PDFL.RemoteDestination.toString() ``` **Returns:** `String` A string describing the page number, fit type, destination rectangle, and zoom factor. Returns a string representation of this RemoteDestination. --- # RemoteGoToAction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteGoToAction ```java class RemoteGoToAction : Action ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) ## Description A remote go-to action is an action that includes a RemoteDestination object. The action associated with this object, when selected, opens a separate PDF file, or opens a web page in a browser window. **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md) ## Constructors ### RemoteGoToAction ```java com.datalogics.PDFL.RemoteGoToAction.RemoteGoToAction(FileSpecification fileSpec, RemoteDestination remoteDest) ``` *constructor* **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md)): A FileSpecification containing the path to the remote document. - `remoteDest` ([`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md)): A RemoteDestination representing the destination to jump in the remote document. General constructor. The action's target will be the path referenced in the FileSpecification parameter. If the path is absolute, the target path will also be absolute. If the path is relative, the target path will also be relative. Generally, the FileSpecification and RemoteDestination should be associated with the same Document, and this Document should be the same Document that contains the RemoteGoToAction. (All three objects, FileSpecification, RemoteDestination, and RemoteGoToAction, are associated with a Document at creation time, and the association cannot be changed.) The RemoteGoToAction will be associated with the same Document that the RemoteDestination parameter is associated with. When creating the RemoteGoToAction, the FileSpecification and RemoteDestination given to the constructor must be associated with the same Document, or an exception will be thrown. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.RemoteGoToAction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RemoteGoToAction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Action.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.RemoteGoToAction.finalize() ``` *protected* **Returns:** `void` ### getFileSpecification ```java FileSpecification com.datalogics.PDFL.RemoteGoToAction.getFileSpecification() ``` **Returns:** [`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md) The FileSpecification associated with the RemoteGoToAction. The FileSpecification for this action. Generally, the FileSpecification should be associated with the same Document that contains the RemoteGoToAction. (Both FileSpecification and RemoteGoToAction are associated with a Document at creation time.) ### getNewWindow ```java boolean com.datalogics.PDFL.RemoteGoToAction.getNewWindow() ``` **Returns:** `boolean` True if the destination document is set to open in a new window, false otherwise. A flag specifying whether to open the destination document in a new window. By default, this flag is not present. If the action's FileSpecification is not a PDF, this flag is ignored. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Action.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this Action. Retrieve the PDFObject representation of this object. ### getRemoteDestination ```java RemoteDestination com.datalogics.PDFL.RemoteGoToAction.getRemoteDestination() ``` **Returns:** [`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md) The RemoteDestination associated with the RemoteGoToAction. The RemoteDestination for this action. Generally, the RemoteDestination should be associated with the same Document that contains the RemoteGoToAction. (Both RemoteDestination and RemoteGoToAction are associated with a Document at creation time.) ### getSubtype ```java String com.datalogics.PDFL.Action.getSubtype() ``` **Returns:** `String` The subtype string for this action, such as "GoTo", "URI", "Launch", or "GoToR". The action's subtype. ### setFileSpecification ```java void com.datalogics.PDFL.RemoteGoToAction.setFileSpecification(FileSpecification fileSpec) ``` **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/FileSpecification.md)): The FileSpecification to associate with the RemoteGoToAction. **Returns:** `void` The FileSpecification for this action. Generally, the FileSpecification should be associated with the same Document that contains the RemoteGoToAction. (Both FileSpecification and RemoteGoToAction are associated with a Document at creation time.) ### setNewWindow ```java void com.datalogics.PDFL.RemoteGoToAction.setNewWindow(boolean newValue) ``` **Parameters** - `newValue` (`boolean`): The new value for the flag. **Returns:** `void` A flag specifying whether to open the destination document in a new window. By default, this flag is not present. If the action's FileSpecification is not a PDF, this flag is ignored. ### setRemoteDestination ```java void com.datalogics.PDFL.RemoteGoToAction.setRemoteDestination(RemoteDestination remoteDest) ``` **Parameters** - `remoteDest` ([`RemoteDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RemoteDestination.md)): The RemoteDestination to associate with the RemoteGoToAction. **Returns:** `void` The RemoteDestination for this action. Generally, the RemoteDestination should be associated with the same Document that contains the RemoteGoToAction. (Both RemoteDestination and RemoteGoToAction are associated with a Document at creation time.) ### toString ```java String com.datalogics.PDFL.Action.toString() ``` **Returns:** `String` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # RenderProgressProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RenderProgressProc ```java class RenderProgressProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Render progress callback function, a class used to notify client of the progress during rendering operations. A RenderProgressProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the RenderProgressProc(). **Referenced by:** [`DrawParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) ## Constructors ### RenderProgressProc ```java com.datalogics.PDFL.RenderProgressProc.RenderProgressProc() ``` *constructor* Render progress callback function, a class used to notify client of the progress during rendering operations. A RenderProgressProc() is typically passed to some method that takes a long time to complete. At frequent intervals, the method calls the RenderProgressProc(). ## Methods ### Call ```java void com.datalogics.PDFL.RenderProgressProc.Call(float stagePercent, String info, RenderProgressStage stage) ``` **Parameters** - `stagePercent` (`float`) - `info` (`String`) - `stage` (`RenderProgressStage`) **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.RenderProgressProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RenderProgressProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.RenderProgressProc.finalize() ``` *protected* **Returns:** `void` --- # ReportProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ReportProc ```java class ReportProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents the error reporting callback function. A ReportProc administrative command is typically passed to generate an error report. If a process is not completing properly, or taking too long to finish, this process will create an error report in response. At frequent intervals, the method calls ReportProc. If the ReportProc command returns a "true" statement, the method generates an error. If it returns "false," the process continues. The time interval is determined by the ReportProc command. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### ReportProc ```java com.datalogics.PDFL.ReportProc.ReportProc() ``` *constructor* Represents the error reporting callback function. A ReportProc administrative command is typically passed to generate an error report. If a process is not completing properly, or taking too long to finish, this process will create an error report in response. At frequent intervals, the method calls ReportProc. If the ReportProc command returns a "true" statement, the method generates an error. If it returns "false," the process continues. The time interval is determined by the ReportProc command. ## Methods ### Call ```java void com.datalogics.PDFL.ReportProc.Call(ReportType reportType, String message, String replacementText) ``` **Parameters** - `reportType` (`ReportType`) - `message` (`String`) - `replacementText` (`String`) **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.ReportProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ReportProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ReportProc.finalize() ``` *protected* **Returns:** `void` --- # RolledBackDocument Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument ```java class RolledBackDocument ``` **Namespace:** `com::datalogics::PDFL` ## Description A class representing a Rolled back instance of a PDF document that was previously saved Incrementally. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`RolledBackDocumentVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocumentVector.md) ## Methods ### closeDocument ```java void com.datalogics.PDFL.RolledBackDocument.closeDocument() ``` **Returns:** `void` Closes the rolled-back document and releases its associated file resources. This closes both the underlying file and the PDF document handle. After calling this method, the object should no longer be used. ### delete ```java synchronized void com.datalogics.PDFL.RolledBackDocument.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RolledBackDocument.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.RolledBackDocument.finalize() ``` *protected* **Returns:** `void` ### save ```java void com.datalogics.PDFL.RolledBackDocument.save(String newPath) ``` **Parameters** - `newPath` (`String`): The file system path where the rolled-back document will be saved. **Returns:** `void` Saves the Rolled back document instance using the specified path to disk. The document is saved in full (non-incremental) mode. --- # RolledBackDocumentVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocumentVector ```java class RolledBackDocumentVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md) ## Constructors ### RolledBackDocumentVector ```java com.datalogics.PDFL.RolledBackDocumentVector.RolledBackDocumentVector() ``` *constructor* ### RolledBackDocumentVector ```java com.datalogics.PDFL.RolledBackDocumentVector.RolledBackDocumentVector(Iterable< RolledBackDocument > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< RolledBackDocument >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md)) ## Methods ### add ```java void com.datalogics.PDFL.RolledBackDocumentVector.add(RolledBackDocument x) ``` **Parameters** - `x` ([`RolledBackDocument`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.RolledBackDocumentVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.RolledBackDocumentVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.RolledBackDocumentVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.RolledBackDocumentVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.RolledBackDocumentVector.finalize() ``` *protected* **Returns:** `void` ### get ```java RolledBackDocument com.datalogics.PDFL.RolledBackDocumentVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md) ### isEmpty ```java boolean com.datalogics.PDFL.RolledBackDocumentVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.RolledBackDocumentVector.set(int i, RolledBackDocument val) ``` **Parameters** - `i` (`int`) - `val` ([`RolledBackDocument`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RolledBackDocument.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.RolledBackDocumentVector.size() ``` **Returns:** `long` --- # Segment Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment ```java class Segment ``` **Namespace:** `com::datalogics::PDFL` **Derived classes:** [`ClosePath`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ClosePath.md), [`CurveTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveTo.md), [`CurveToV`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToV.md), [`CurveToY`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CurveToY.md), [`LineTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LineTo.md), [`MoveTo`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/MoveTo.md), [`RectSegment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/RectSegment.md) ## Description Represents a segment, or a single line, within a path. **Referenced by:** [`Path`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Path.md), [`SegmentPtrVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SegmentPtrVector.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Segment.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Segment.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Segment.finalize() ``` *protected* **Returns:** `void` ### toString ```java String com.datalogics.PDFL.Segment.toString() ``` **Returns:** `String` --- # SegmentPtrVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SegmentPtrVector ```java class SegmentPtrVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ## Constructors ### SegmentPtrVector ```java com.datalogics.PDFL.SegmentPtrVector.SegmentPtrVector() ``` *constructor* ### SegmentPtrVector ```java com.datalogics.PDFL.SegmentPtrVector.SegmentPtrVector(Iterable< Segment > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Segment >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md)) ### SegmentPtrVector ```java com.datalogics.PDFL.SegmentPtrVector.SegmentPtrVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.SegmentPtrVector.add(Segment x) ``` **Parameters** - `x` ([`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.SegmentPtrVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.SegmentPtrVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.SegmentPtrVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SegmentPtrVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SegmentPtrVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Segment com.datalogics.PDFL.SegmentPtrVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md) ### isEmpty ```java boolean com.datalogics.PDFL.SegmentPtrVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.SegmentPtrVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.SegmentPtrVector.set(int i, Segment val) ``` **Parameters** - `i` (`int`) - `val` ([`Segment`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Segment.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.SegmentPtrVector.size() ``` **Returns:** `long` --- # SeparationColorSpace Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace ```java class SeparationColorSpace : ColorSpace ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Defines the use of additional named colorants in a PDF document. Colorants in a separation color space are also sometimes referred to as spot colorants. The device displaying or printing the PDF document will supply an appropriate color based on the colorant included in the separation color space. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationColorSpacePtrVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpacePtrVector.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md), [`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) ## Constructors ### SeparationColorSpace ```java com.datalogics.PDFL.SeparationColorSpace.SeparationColorSpace(Page page, Ink ink) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): Page, that contains an ink - `ink` ([`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)): Represents an ink used in a page Create a separation color space from page's Ink. If page doesn't have a separation color space with passed ink in it's resources, then linear grayscale tint transform function and CMYK as alternate colorspace will be used. ### SeparationColorSpace ```java com.datalogics.PDFL.SeparationColorSpace.SeparationColorSpace(String separationName, ColorSpace alternate, Function tintTransform) ``` *constructor* **Parameters** - `separationName` (`String`): the name of the colorant that the Separation space is intended to represent, or All, or None - `alternate` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): the alternate color space, which can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN). - `tintTransform` ([`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md)): function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space. Create a separation color space. ## Fields ### DEVICE_CMYK ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_CMYK ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DEVICE_GRAY ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_GRAY ``` *static* The DeviceGray color space, representing a single grayscale component. ### DEVICE_RGB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGB ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DEVICE_RGBA ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.DEVICE_RGBA ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### LAB ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB ``` *static* The CIE-based L*a*b* color space. ### LAB_A ```java static final ColorSpace com.datalogics.PDFL.ColorSpace.LAB_A ``` *static* The CIE-based L*a*b* color space with an alpha component. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.SeparationColorSpace.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationColorSpace.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ColorSpace.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.SeparationColorSpace.finalize() ``` *protected* **Returns:** `void` ### getAlternate ```java ColorSpace com.datalogics.PDFL.SeparationColorSpace.getAlternate() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The alternate color space. The alternate color space. The alternate color space can be any device or CIE-based color space but not another special color space (Pattern, Indexed, Separation, or DeviceN). ### getFunction ```java Function com.datalogics.PDFL.SeparationColorSpace.getFunction() ``` **Returns:** [`Function`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Function.md) A function, called with the tint value and returning the corresponding color component values. That is, the number of components and the interpretation of their values depend on the alternate color space. ### getName ```java String com.datalogics.PDFL.ColorSpace.getName() ``` **Returns:** `String` The name of the color space. A named color space may be named something like DeviceRGB. More complicated color spaces may have a name like Indexed or ICCBased. ### getNumComponents ```java int com.datalogics.PDFL.ColorSpace.getNumComponents() ``` **Returns:** `int` The number of color components. The number of components in the color space. For example, DeviceGray has 1 component, DeviceRGB has 3, and DeviceCMYK has 4. ### getPDFObject ```java PDFObject com.datalogics.PDFL.ColorSpace.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject associated with the color space. Get the PDFObject associated with the color space. This may be a PDFName, PDFDict, PDFStream, or PDFArray. ### getSeparationName ```java String com.datalogics.PDFL.SeparationColorSpace.getSeparationName() ``` **Returns:** `String` The separation colorant name as a string. The name of the colorant that the Separation space is intended to represent, or All, or None. ### getSeparationNameArray ```java byte[] com.datalogics.PDFL.SeparationColorSpace.getSeparationNameArray() ``` **Returns:** `byte[]` A byte array containing the raw separation name. The name of the colorant as a byte array. The name of the colorant that the Separation space is intended to represent, or All, or None. This property is suitable for retrieving the name when the SeparationName cannot be retrieved as a string (for example, when the name contains non-Unicode characters). ### toString ```java String com.datalogics.PDFL.ColorSpace.toString() ``` **Returns:** `String` A string describing this ColorSpace. Convert a ColorSpace to a string representation. --- # SeparationColorSpacePtrVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpacePtrVector ```java class SeparationColorSpacePtrVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) ## Constructors ### SeparationColorSpacePtrVector ```java com.datalogics.PDFL.SeparationColorSpacePtrVector.SeparationColorSpacePtrVector() ``` *constructor* ### SeparationColorSpacePtrVector ```java com.datalogics.PDFL.SeparationColorSpacePtrVector.SeparationColorSpacePtrVector(Iterable< SeparationColorSpace > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)) ### SeparationColorSpacePtrVector ```java com.datalogics.PDFL.SeparationColorSpacePtrVector.SeparationColorSpacePtrVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.SeparationColorSpacePtrVector.add(SeparationColorSpace x) ``` **Parameters** - `x` ([`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.SeparationColorSpacePtrVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.SeparationColorSpacePtrVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationColorSpacePtrVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationColorSpacePtrVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SeparationColorSpacePtrVector.finalize() ``` *protected* **Returns:** `void` ### get ```java SeparationColorSpace com.datalogics.PDFL.SeparationColorSpacePtrVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) ### isEmpty ```java boolean com.datalogics.PDFL.SeparationColorSpacePtrVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.SeparationColorSpacePtrVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.SeparationColorSpacePtrVector.set(int i, SeparationColorSpace val) ``` **Parameters** - `i` (`int`) - `val` ([`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.SeparationColorSpacePtrVector.size() ``` **Returns:** `long` --- # SeparationParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationParams ```java class SeparationParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Holds parameters for making color separations.Used with PostScript. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ## Constructors ### SeparationParams ```java com.datalogics.PDFL.SeparationParams.SeparationParams(java.util.List< SeparationPlate > plates) ``` *constructor* **Parameters** - `plates` ([`java.util.List< SeparationPlate >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md)): The plates to use for making separations. Set up default parameters for making separations. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.SeparationParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SeparationParams.finalize() ``` *protected* **Returns:** `void` ### getApplyOCGPrintOverrides ```java boolean com.datalogics.PDFL.SeparationParams.getApplyOCGPrintOverrides() ``` **Returns:** `boolean` If true, apply print-specific visibility state settings from the optional content group. Default is false. ### getBinaryChannelAvailable ```java boolean com.datalogics.PDFL.SeparationParams.getBinaryChannelAvailable() ``` **Returns:** `boolean` True if a binary channel to the printer is supported, false otherwise. Default is false. ### getConvertToProcessUsingOPP ```java boolean com.datalogics.PDFL.SeparationParams.getConvertToProcessUsingOPP() ``` **Returns:** `boolean` If true, use the overprint preview (OPP) for converting to process, which better simulates what would happen if the spot ink were really used. Default is false. ### getConvertTrueTypeToType42 ```java boolean com.datalogics.PDFL.SeparationParams.getConvertTrueTypeToType42() ``` **Returns:** `boolean` If true, send TrueType fonts as TrueType fonts (level 3 and most level 2 PS printers). If false, convert TrueType to T1 (typically desirable only for Level 1 PS where no TrueType handling is present). Default is false. ### getDestinationProfileString ```java String com.datalogics.PDFL.SeparationParams.getDestinationProfileString() ``` **Returns:** `String` The profile description of a valid CMYK profile, such as the strings seen in the color management preferences in a PDF Viewer (for example, "U.S. Web Coated (SWOP) v2"). Default is "U.S. Web Coated (SWOP) v2". ### getEmitAnnotations ```java boolean com.datalogics.PDFL.SeparationParams.getEmitAnnotations() ``` **Returns:** `boolean` If true, emit annotations. Default is false. ### getEmitFontOption ```java SeparationFontOptions com.datalogics.PDFL.SeparationParams.getEmitFontOption() ``` **Returns:** `SeparationFontOptions` Font output options. Default is EmitAllFonts. ### getEmitHalftones ```java boolean com.datalogics.PDFL.SeparationParams.getEmitHalftones() ``` **Returns:** `boolean` If true, emit halftones. Default is true. ### getEmitSeparableImagesOnly ```java boolean com.datalogics.PDFL.SeparationParams.getEmitSeparableImagesOnly() ``` **Returns:** `boolean` If true, emit separable images only. Default is false. ### getEmitTransferFunctions ```java boolean com.datalogics.PDFL.SeparationParams.getEmitTransferFunctions() ``` **Returns:** `boolean` If true, emit transfer functions. Default is true. ### getInvertPlates ```java boolean com.datalogics.PDFL.SeparationParams.getInvertPlates() ``` **Returns:** `boolean` If true, invert the plates. Default is false. ### getMirrorPrint ```java MirrorOptions com.datalogics.PDFL.SeparationParams.getMirrorPrint() ``` **Returns:** `MirrorOptions` Options for mirroring. Mirroring is done in the PostScript output stream. Default is DontFlip. ### getOCContext ```java OptionalContentContext com.datalogics.PDFL.SeparationParams.getOCContext() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) The optional content context to use for visibility state information, or NULL to use the document's current states in the default context. Default is NULL. ### getPageMarksToEmit ```java java.util.EnumSet< PageMarkFlags > com.datalogics.PDFL.SeparationParams.getPageMarksToEmit() ``` **Returns:** `java.util.EnumSet< PageMarkFlags >` The page marks to emit for this plate. It is a bit-wise OR of the PageMarkFlags values. Default is None. ### getPlates ```java java.util.List< SeparationPlate > com.datalogics.PDFL.SeparationParams.getPlates() ``` **Returns:** [`java.util.List< SeparationPlate >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) A list of plates to use for separations. ### getPostScriptLevel ```java int com.datalogics.PDFL.SeparationParams.getPostScriptLevel() ``` **Returns:** `int` The PostScript printing level. 2 means emit as level 2, 3 means level 3. Default is level 2. ### getPrinterHasFarEastFonts ```java boolean com.datalogics.PDFL.SeparationParams.getPrinterHasFarEastFonts() ``` **Returns:** `boolean` If true, do not include Far East fonts. Default is false. ### getSuppressCJKSubstitution ```java boolean com.datalogics.PDFL.SeparationParams.getSuppressCJKSubstitution() ``` **Returns:** `boolean` If true, suppress CJK substitution. Default is false. ### getTransparencyLevel ```java int com.datalogics.PDFL.SeparationParams.getTransparencyLevel() ``` **Returns:** `int` The transparency flattening quality level. Range is from 0 to 100. Lower values flatten faster. Higher values provide better quality. Default is 75. ### getUseCMYKWorkingColorSpace ```java boolean com.datalogics.PDFL.SeparationParams.getUseCMYKWorkingColorSpace() ``` **Returns:** `boolean` If true, color manage DeviceCMYK. If false, pass it directly onto the process plates. Default is false. ### getUseWesternStylePageMarks ```java boolean com.datalogics.PDFL.SeparationParams.getUseWesternStylePageMarks() ``` **Returns:** `boolean` If true, use the western style for page marks. Default is false. ### setApplyOCGPrintOverrides ```java void com.datalogics.PDFL.SeparationParams.setApplyOCGPrintOverrides(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, apply print-specific visibility state settings from the optional content group. Default is false. ### setBinaryChannelAvailable ```java void com.datalogics.PDFL.SeparationParams.setBinaryChannelAvailable(boolean isAvailable) ``` **Parameters** - `isAvailable` (`boolean`) **Returns:** `void` True if a binary channel to the printer is supported, false otherwise. Default is false. ### setConvertToProcessUsingOPP ```java void com.datalogics.PDFL.SeparationParams.setConvertToProcessUsingOPP(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, use the overprint preview (OPP) for converting to process, which better simulates what would happen if the spot ink were really used. Default is false. ### setConvertTrueTypeToType42 ```java void com.datalogics.PDFL.SeparationParams.setConvertTrueTypeToType42(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, send TrueType fonts as TrueType fonts (level 3 and most level 2 PS printers). If false, convert TrueType to T1 (typically desirable only for Level 1 PS where no TrueType handling is present). Default is false. ### setDestinationProfileString ```java void com.datalogics.PDFL.SeparationParams.setDestinationProfileString(String theDestProfile) ``` **Parameters** - `theDestProfile` (`String`) **Returns:** `void` The profile description of a valid CMYK profile, such as the strings seen in the color management preferences in a PDF Viewr (for example, "U.S. Web Coated (SWOP) v2"). Default is "U.S. Web Coated (SWOP) v2". ### setEmitAnnotations ```java void com.datalogics.PDFL.SeparationParams.setEmitAnnotations(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, emit annotations. Default is false. ### setEmitFontOption ```java void com.datalogics.PDFL.SeparationParams.setEmitFontOption(SeparationFontOptions theOption) ``` **Parameters** - `theOption` (`SeparationFontOptions`) **Returns:** `void` Font output options. Default is EmitAllFonts. ### setEmitHalftones ```java void com.datalogics.PDFL.SeparationParams.setEmitHalftones(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, emit halftones. Default is true. ### setEmitSeparableImagesOnly ```java void com.datalogics.PDFL.SeparationParams.setEmitSeparableImagesOnly(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, emit separable images only. Default is false. ### setEmitTransferFunctions ```java void com.datalogics.PDFL.SeparationParams.setEmitTransferFunctions(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, emit transfer functions. Default is true. ### setInvertPlates ```java void com.datalogics.PDFL.SeparationParams.setInvertPlates(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, invert the plates. Default is false. ### setMirrorPrint ```java void com.datalogics.PDFL.SeparationParams.setMirrorPrint(MirrorOptions theOption) ``` **Parameters** - `theOption` (`MirrorOptions`) **Returns:** `void` Options for mirroring. Mirroring is done in the PostScript output stream. Default is DontFlip. ### setOCContext ```java void com.datalogics.PDFL.SeparationParams.setOCContext(OptionalContentContext theContext) ``` **Parameters** - `theContext` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)) **Returns:** `void` The optional content context to use for visibility state information, or NULL to use the document's current states in the default context. Default is NULL. ### setPageMarksToEmit ```java void com.datalogics.PDFL.SeparationParams.setPageMarksToEmit(java.util.EnumSet< PageMarkFlags > theMarks) ``` **Parameters** - `theMarks` (`java.util.EnumSet< PageMarkFlags >`) **Returns:** `void` The page marks to emit for this plate. It is a bit-wise OR of the PageMarkFlags values. Default is None. ### setPlates ```java void com.datalogics.PDFL.SeparationParams.setPlates(java.util.List< SeparationPlate > thePlates) ``` **Parameters** - `thePlates` ([`java.util.List< SeparationPlate >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md)) **Returns:** `void` A list of plates to use for separations. ### setPostScriptLevel ```java void com.datalogics.PDFL.SeparationParams.setPostScriptLevel(int theLevel) ``` **Parameters** - `theLevel` (`int`) **Returns:** `void` The PostScript printing level. 2 means emit as level 2, 3 means level 3. Default is level 2. ### setPrinterHasFarEastFonts ```java void com.datalogics.PDFL.SeparationParams.setPrinterHasFarEastFonts(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, do not include Far East fonts. Default is false. ### setSuppressCJKSubstitution ```java void com.datalogics.PDFL.SeparationParams.setSuppressCJKSubstitution(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, suppress CJK substitution. Default is false. ### setTransparencyLevel ```java void com.datalogics.PDFL.SeparationParams.setTransparencyLevel(int theLevel) ``` **Parameters** - `theLevel` (`int`) **Returns:** `void` The transparency flattening quality level. Range is from 0 to 100. Lower values flatten faster. Higher values provide better quality. Default is 75. ### setUseCMYKWorkingColorSpace ```java void com.datalogics.PDFL.SeparationParams.setUseCMYKWorkingColorSpace(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, color manage DeviceCMYK. If false, pass it directly onto the process plates. Default is false. ### setUseWesternStylePageMarks ```java void com.datalogics.PDFL.SeparationParams.setUseWesternStylePageMarks(boolean theSetting) ``` **Parameters** - `theSetting` (`boolean`) **Returns:** `void` If true, use the western style for page marks. Default is false. --- # SeparationPlate Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate ```java class SeparationPlate ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a plate for making print separations.Used with PostScript. **Referenced by:** [`SeparationParams`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationParams.md), [`SeparationPlateVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlateVector.md) **Uses types:** [`BaseOutputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseOutputNozzle.md), [`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md) ## Constructors ### SeparationPlate ```java com.datalogics.PDFL.SeparationPlate.SeparationPlate(Ink colorant) ``` *constructor, protected* **Parameters** - `colorant` ([`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)) ### SeparationPlate ```java com.datalogics.PDFL.SeparationPlate.SeparationPlate(Ink colorant, java.io.OutputStream epsOutput) ``` *constructor* **Parameters** - `colorant` ([`Ink`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Ink.md)): A colorant to use for this SeparationPlate. - `epsOutput` (`java.io.OutputStream`): A java.io.OutputStream which will receive the EPS output for this SeparationPlate. General constructor ## Methods ### assignNozzleInternal ```java void com.datalogics.PDFL.SeparationPlate.assignNozzleInternal(BaseOutputNozzle n) ``` *protected* **Parameters** - `n` ([`BaseOutputNozzle`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/BaseOutputNozzle.md)) **Returns:** `void` For internal use only. Used by the native language constructors to set _epsStm. ### delete ```java synchronized void com.datalogics.PDFL.SeparationPlate.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationPlate.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SeparationPlate.finalize() ``` *protected* **Returns:** `void` ### getAlias ```java String com.datalogics.PDFL.SeparationPlate.getAlias() ``` **Returns:** `String` The alias name for this colorant. Another name for this colorant. ### getAngle ```java double com.datalogics.PDFL.SeparationPlate.getAngle() ``` **Returns:** `double` The halftone screen angle for this ink, in degrees. The angle for this ink. The angle must be greater than or equal to zero. The default is 45.0. ### getColorantName ```java String com.datalogics.PDFL.SeparationPlate.getColorantName() ``` **Returns:** `String` The colorant name for this separation plate. The name of the colorant from the Separation or DeviceN color space, or the process color name. ### getDensity ```java double com.datalogics.PDFL.SeparationPlate.getDensity() ``` **Returns:** `double` The density value for this ink. The density for this ink. The density must be greater than zero. The default is 1.0. ### getEPSOutput ```java java.io.OutputStream com.datalogics.PDFL.SeparationPlate.getEPSOutput() ``` **Returns:** `java.io.OutputStream` The java.io.OutputStream that will receive EPS output for this SeparationPlate. ### getFrequency ```java double com.datalogics.PDFL.SeparationPlate.getFrequency() ``` **Returns:** `double` The halftone screen frequency for this ink. The frequency for this ink. The frequency must be greater than zero. The default is 60.0. ### getInkType ```java InkTypes com.datalogics.PDFL.SeparationPlate.getInkType() ``` **Returns:** `InkTypes` The ink type for this separation plate. The ink type of this ink for trapping. The default is Normal. ### getPreviewOption ```java SeparationPreviewOptions com.datalogics.PDFL.SeparationPlate.getPreviewOption() ``` **Returns:** `SeparationPreviewOptions` The preview option for this separation plate. How to handle the colorant for a separation preview. The default is EmitPlate. ### setAlias ```java void com.datalogics.PDFL.SeparationPlate.setAlias(String theAlias) ``` **Parameters** - `theAlias` (`String`): The alias name to assign to this colorant. **Returns:** `void` Another name for this colorant. ### setAngle ```java void com.datalogics.PDFL.SeparationPlate.setAngle(double theAngle) ``` **Parameters** - `theAngle` (`double`): The halftone screen angle to assign to this ink, in degrees. **Returns:** `void` The angle for this ink. The angle must be greater than or equal to zero. The default is 45.0. ### setColorantName ```java void com.datalogics.PDFL.SeparationPlate.setColorantName(String theColorantName) ``` **Parameters** - `theColorantName` (`String`): The colorant name to assign to this separation plate. **Returns:** `void` The name of the colorant from the Separation or DeviceN color space, or the process color name. ### setDensity ```java void com.datalogics.PDFL.SeparationPlate.setDensity(double theDensity) ``` **Parameters** - `theDensity` (`double`): The density value to assign to this ink. **Returns:** `void` The density for this ink. The density must be greater than zero. The default is 1.0. ### setEPSOutput ```java void com.datalogics.PDFL.SeparationPlate.setEPSOutput(java.io.OutputStream s) ``` **Parameters** - `s` (`java.io.OutputStream`) **Returns:** `void` The java.io.OutputStream that will receive EPS output for this SeparationPlate. ### setFrequency ```java void com.datalogics.PDFL.SeparationPlate.setFrequency(double theFrequency) ``` **Parameters** - `theFrequency` (`double`): The halftone screen frequency to assign to this ink. **Returns:** `void` The frequency for this ink. The frequency must be greater than zero. The default is 60.0. ### setInkType ```java void com.datalogics.PDFL.SeparationPlate.setInkType(InkTypes theInkType) ``` **Parameters** - `theInkType` (`InkTypes`): The ink type to assign to this separation plate. **Returns:** `void` The ink type of this ink for trapping. The default is Normal. ### setPreviewOption ```java void com.datalogics.PDFL.SeparationPlate.setPreviewOption(SeparationPreviewOptions thePreviewOption) ``` **Parameters** - `thePreviewOption` (`SeparationPreviewOptions`): The preview option to assign to this separation plate. **Returns:** `void` How to handle the colorant for a separation preview. The default is EmitPlate. --- # SeparationPlateVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlateVector ```java class SeparationPlateVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ## Constructors ### SeparationPlateVector ```java com.datalogics.PDFL.SeparationPlateVector.SeparationPlateVector() ``` *constructor* ### SeparationPlateVector ```java com.datalogics.PDFL.SeparationPlateVector.SeparationPlateVector(Iterable< SeparationPlate > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< SeparationPlate >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md)) ## Methods ### add ```java void com.datalogics.PDFL.SeparationPlateVector.add(SeparationPlate x) ``` **Parameters** - `x` ([`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.SeparationPlateVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.SeparationPlateVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationPlateVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SeparationPlateVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SeparationPlateVector.finalize() ``` *protected* **Returns:** `void` ### get ```java SeparationPlate com.datalogics.PDFL.SeparationPlateVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ### isEmpty ```java boolean com.datalogics.PDFL.SeparationPlateVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.SeparationPlateVector.set(int i, SeparationPlate val) ``` **Parameters** - `i` (`int`) - `val` ([`SeparationPlate`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SeparationPlate.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.SeparationPlateVector.size() ``` **Returns:** `long` --- # Shading Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Shading ```java class Shading : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description Represents a region shaded with color, as defined by a shading dictionary. A shading pattern defines a gradient fill in a graphic that produces a smooth transition between colors across the area covered by the graphic area. The "sh" paint operator is invoked for the shading object. This does not correspond to a shading dictionary within a PDF pattern. Refer to the Pattern object for shading dictionaries used in PDF patterns. A shading pattern defines a gradient fill in a graphic that produces a smooth transition between colors across the area covered by the graphic area. The "sh" paint operator is invoked for the shading object. This does not correspond to a shading dictionary within a PDF pattern. Refer to the Pattern object for shading dictionaries used in PDF patterns. **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Methods ### clone ```java Element com.datalogics.PDFL.Element.clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### clone ```java Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### delete ```java synchronized void com.datalogics.PDFL.Shading.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Shading.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Shading.finalize() ``` *protected* **Returns:** `void` ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getColorSpace ```java ColorSpace com.datalogics.PDFL.Shading.getColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The ColorSpace associated with this Shading, obtained from the shading dictionary. Get the ColorSpace of the current Shading object. ### getGraphicState ```java GraphicState com.datalogics.PDFL.Shading.getGraphicState() ``` **Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) The GraphicState for this Shading, or NULL if none is set. Get the graphic state of the current Shading object. May return null if this element does not have a GraphicState. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # ShadingPattern Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ShadingPattern ```java class ShadingPattern : Pattern ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Pattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Pattern.md) **Derived classes:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md) ## Description A shading pattern consists of a smoothly varying gradient between two colors. **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ShadingPattern.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ShadingPattern.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.ShadingPattern.finalize() ``` *protected* **Returns:** `void` ### getAntiAlias ```java boolean com.datalogics.PDFL.ShadingPattern.getAntiAlias() ``` **Returns:** `boolean` true if anti-aliasing is enabled, false otherwise. Gets whether anti-aliasing is enabled for the shading. When enabled, the shading function is filtered to prevent aliasing artifacts. ### getBackgroundColor ```java Color com.datalogics.PDFL.ShadingPattern.getBackgroundColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The background Color, or NULL if none is set. Gets the background color of the shading pattern. This color must be in the color space of the shading pattern. If present, it is used to fill the areas that are outside the bounds of the shading object. May be NULL. ### getBoundingBox ```java Rect com.datalogics.PDFL.ShadingPattern.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box Rect, or NULL if none is set. Gets the bounding box of the shading. The coordinates are interpreted in the target coordinate space. If present, provides an additional, temporary clipping boundary to the shading. ### getColorSpace ```java ColorSpace com.datalogics.PDFL.ShadingPattern.getColorSpace() ``` **Returns:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md) The ColorSpace of the shading pattern. Gets the color space of a shading pattern. This space is restricted to be any space except a Pattern space. ### getPDFObject ```java PDFObject com.datalogics.PDFL.Pattern.getPDFObject() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject representing this pattern in the PDF document. Gets the underlying PDF object for this pattern. ### setAntiAlias ```java void com.datalogics.PDFL.ShadingPattern.setAntiAlias(boolean antiAlias) ``` **Parameters** - `antiAlias` (`boolean`): true to enable anti-aliasing, false to disable it. **Returns:** `void` Sets whether anti-aliasing is enabled for the shading. When enabled, the shading function is filtered to prevent aliasing artifacts. ### setBackgroundColor ```java void com.datalogics.PDFL.ShadingPattern.setBackgroundColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The background Color to set, or NULL to remove it. **Returns:** `void` Sets the background color of the shading pattern. This color must be in the color space of the shading pattern. If present, it is used to fill the areas that are outside the bounds of the shading object. Set to NULL to remove the background color. ### setBoundingBox ```java void com.datalogics.PDFL.ShadingPattern.setBoundingBox(Rect boundingBox) ``` **Parameters** - `boundingBox` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The bounding box Rect to set, or NULL to remove it. **Returns:** `void` Sets the bounding box of the shading. The coordinates are interpreted in the target coordinate space. If present, provides an additional, temporary clipping boundary to the shading. Set to NULL to remove the bounding box. ### setColorSpace ```java void com.datalogics.PDFL.ShadingPattern.setColorSpace(ColorSpace colorSpace) ``` **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The ColorSpace to set for the shading pattern. **Returns:** `void` Sets the color space of a shading pattern. This space is restricted to be any space except a Pattern space. ### toString ```java String com.datalogics.PDFL.ShadingPattern.toString() ``` **Returns:** `String` A string describing the shading pattern. Converts the shading pattern to a string representation. --- # SignDoc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SignDoc ```java class SignDoc ``` **Namespace:** `com::datalogics::PDFL` ## Description Implementation of the PDF SignDoc function. Use the SignDoc object to digitally sign a document **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### SignDoc ```java com.datalogics.PDFL.SignDoc.SignDoc() ``` *constructor* Creates an empty SignDoc object and initializes memory for its parameters. ## Methods ### addDigitalSignature ```java void com.datalogics.PDFL.SignDoc.addDigitalSignature(Document document) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The Document to be digitally signed. **Returns:** `void` Adds a digital signature using the specified credentials. If the document has not been previously signed, signs and saves the entire document. If the document has been previously signed, signs and saves only the portions of the document that have changed. If the document has been previously signed and the path to which the file is saved is NULL or the same as the path specified by the parameter, doc, signs and copies the document, saving only the portions of the document that have changed. ### addSigPolicy ```java int com.datalogics.PDFL.SignDoc.addSigPolicy(String oid) ``` **Parameters** - `oid` (`String`): Object Identifier (OID) of the signature policy to add. **Returns:** `int` - The number of signature policies added to the signature. Add a signature policy to the PAdES signature being generated. Signature policies may be applied to PAdES signatures, only. The signature type must be set to PADES prior to adding a policy. ### addSigPolicyQualifierURI ```java void com.datalogics.PDFL.SignDoc.addSigPolicyQualifierURI(String uri) ``` **Parameters** - `uri` (`String`): URI pointing to the signature policy document. **Returns:** `void` Qualify an existing signature policy with a Signature Policy URI (SPuri) qualifier. A policy must be added via AddSigPolicy prior to calling this method. A signature policy may be qualified by no more than one policy qualifier. ### addSigPolicyQualifierUserNotice ```java void com.datalogics.PDFL.SignDoc.addSigPolicyQualifierUserNotice(String displayText, String org, java.util.List< Long > noticeNos) ``` **Parameters** - `displayText` (`String`): Text to display to the user when the signature is verified. - `org` (`String`): Organization that prepared the notice. - `noticeNos` (`java.util.List< Long >`): Group of integers that identify textual statements prepared by the organization. **Returns:** `void` Qualify an existing signature policy with a Signature Policy UserNotice (SPUserNotice) qualifier. A policy must be added via AddSigPolicy prior to calling this method. A signature policy may be qualified by no more than one policy qualifier. The displayText and org attributes can be defined independent of each other. However, a valid org attribute must be defined in order to qualify a PAdES signature policy with the noticeNos attribute. ### createCancelProc ```java void com.datalogics.PDFL.SignDoc.createCancelProc(CancelProc cancelProc) ``` **Parameters** - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/CancelProc.md)): The CancelProc to receive cancel callbacks during signing. **Returns:** `void` Creates and registers a cancel callback for the signing operation. ### createProgressMonitor ```java void com.datalogics.PDFL.SignDoc.createProgressMonitor(ProgressMonitor progMon) ``` **Parameters** - `progMon` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): The ProgressMonitor to receive progress callbacks during signing. **Returns:** `void` Creates and registers a progress monitor for the signing operation. ### delete ```java synchronized void com.datalogics.PDFL.SignDoc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SignDoc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.SignDoc.finalize() ``` *protected* **Returns:** `void` ### getCredentialDataFormat ```java CredentialDataFmt com.datalogics.PDFL.SignDoc.getCredentialDataFormat() ``` **Returns:** `CredentialDataFmt` - Format of user-credentials used to sign the document. Get the value of the credential data format option. ### getDigestCategory ```java DigestCategory com.datalogics.PDFL.SignDoc.getDigestCategory() ``` **Returns:** `DigestCategory` - Member of the enumeration DigestCategory, which option to set. Get the value of the digest category. ### getDocSignType ```java SignatureType com.datalogics.PDFL.SignDoc.getDocSignType() ``` **Returns:** `SignatureType` - Member of the enumeration CSignatureType set in a document. Get the type of signature added to a document. ### getFieldID ```java SignatureFieldID com.datalogics.PDFL.SignDoc.getFieldID() ``` **Returns:** `SignatureFieldID` - SignatureFieldID choice currently set Get the field identifier used to determine the form field that will contain the digital signature. ### getFieldName ```java String com.datalogics.PDFL.SignDoc.getFieldName() ``` **Returns:** `String` - Fully qualified field name. May return NULL based on the SignatureFieldID attribute defined by the user. Get the form field fully qualified name of the form field that contains the digital signature. ### getOutputPath ```java String com.datalogics.PDFL.SignDoc.getOutputPath() ``` **Returns:** `String` Get Output Path The path to which the file is saved. A path must be specified in case a full save (PDSaveFull) is needed. In case of an incremental save (PDSaveIncremental), newPath should be set to NULL. If a full save (PDSaveFull) is performed and newPath is the same as the file's original path, the new file is saved to a file system determined temporary path. The old file is then deleted and the new file is renamed to newPath. ### getSignatureBoxPageNumber ```java long com.datalogics.PDFL.SignDoc.getSignatureBoxPageNumber() ``` **Returns:** `long` - The page number on which signature field's widget annotation is created. A value of zero is returned if page number was not set. Get the page number on which the widget annotation of the signature field is created. ### getSignatureBoxRectangle ```java Rect com.datalogics.PDFL.SignDoc.getSignatureBoxRectangle() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) - Dimension of the annotation rectangle of the signature field being created. A value of {0,0,0,0} is returned if annotation rectangle dimension was not set. Get the dimension of the annotation rectangle of the signature field being created. ### setCredentialDataFormat ```java void com.datalogics.PDFL.SignDoc.setCredentialDataFormat(CredentialDataFmt value) ``` **Parameters** - `value` (`CredentialDataFmt`): Encoding format of credentials used to sign a document. **Returns:** `void` Set the value of the credential data format option. ### setDigestCategory ```java void com.datalogics.PDFL.SignDoc.setDigestCategory(DigestCategory value) ``` **Parameters** - `value` (`DigestCategory`): Cryptographic hash function to use for generating message digests. **Returns:** `void` Set the value of the digest category. ### setDocSignType ```java void com.datalogics.PDFL.SignDoc.setDocSignType(SignatureType value) ``` **Parameters** - `value` (`SignatureType`): Member of the enumeration CSignatureType to be added to a document. **Returns:** `void` Set the type of signature to be added to a document. ### setFieldID ```java void com.datalogics.PDFL.SignDoc.setFieldID(SignatureFieldID value) ``` **Parameters** - `value` (`SignatureFieldID`): Identifier to determine the form field that will contain the digital signature. **Returns:** `void` Set the field identifier used to determine the form field that will contain the digital signature. ### setFieldName ```java void com.datalogics.PDFL.SignDoc.setFieldName(String name) ``` **Parameters** - `name` (`String`): Fully qualified name of the form field that will contain the digital signature. **Returns:** `void` Set the form field fully qualified name option. ### setFieldObject ```java void com.datalogics.PDFL.SignDoc.setFieldObject(int aValue, int bValue) ``` **Parameters** - `aValue` (`int`): a value of the CosObject. - `bValue` (`int`): b value of the CosObject. **Returns:** `void` Set the form field CosObject option. ### setNonPfxPassPhrase ```java void com.datalogics.PDFL.SignDoc.setNonPfxPassPhrase(String passPhrase, long passphraseSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `passPhrase` (`String`): Passphrase used to encrypt Non-PFX private key. Should be set to NULL if unencrypted. - `passphraseSize` (`long`): Passphrase size in bytes. Shall be set to 0 if private key is unencrypted or passphrase is stored on disk. - `storageFmt` (`CredentialStorageFmt`): Storage format for passphrase. **Returns:** `void` Set the passphrase used to decrypt Non-PFX credentials. Note: The passphrase provided must use the exact same character encoding used to encrypt the private key. The application makes no effort whatsoever to re-encode the same. ### setNonPfxPrivateKey ```java void com.datalogics.PDFL.SignDoc.setNonPfxPrivateKey(String privateKey, long keySize, CredentialStorageFmt storageFmt) ``` **Parameters** - `privateKey` (`String`): Private key. - `keySize` (`long`): Size of private key in bytes. Shall be set to 0 if key is stored on disk. - `storageFmt` (`CredentialStorageFmt`): Storage format for private key. **Returns:** `void` Set the private key for Non-PFX credentials.. ### setNonPfxSignerCert ```java void com.datalogics.PDFL.SignDoc.setNonPfxSignerCert(String signerCert, long certSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `signerCert` (`String`): Signer certificate - `certSize` (`long`): Size of signer certificate in bytes. Shall be set to 0 if certificate is stored on disk. - `storageFmt` (`CredentialStorageFmt`): Storage format for the signer certificate. **Returns:** `void` Set the signer certificate for Non-PFX credentials. ### setOutputPath ```java void com.datalogics.PDFL.SignDoc.setOutputPath(String newPath) ``` **Parameters** - `newPath` (`String`) **Returns:** `void` Set Output Path The path to which the file is saved. A path must be specified in case a full save (PDSaveFull) is needed. In case of an incremental save (PDSaveIncremental), newPath should be set to NULL. If a full save (PDSaveFull) is performed and newPath is the same as the file's original path, the new file is saved to a file system determined temporary path. The old file is then deleted and the new file is renamed to newPath. ### setPfxCredentials ```java void com.datalogics.PDFL.SignDoc.setPfxCredentials(String credentials, CredentialStorageFmt storageFmt) ``` **Parameters** - `credentials` (`String`): Credentials in PFX/PKCS#12 file format. - `storageFmt` (`CredentialStorageFmt`): Storage format for the signer certificate. (Only OnDisk is allowed for this option) **Returns:** `void` Set PFX/PKCS#12 credentials. ### setPfxPassPhrase ```java void com.datalogics.PDFL.SignDoc.setPfxPassPhrase(String passphrase, long passphraseSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `passphrase` (`String`): Passphrase used to encrypt PFX/PKCS#12 credentials. Shall be set to NULL if credentials are unencrypted. - `passphraseSize` (`long`): Passphrase size in bytes. Shall be set to 0 if PFX credentials are unencrypted or passphrase is stored on disk. - `storageFmt` (`CredentialStorageFmt`): Storage format for PFX/PKCS#12 credentials. **Returns:** `void` Set the passphrase used to decrypt PFX/PKCS#12 credentials. Note: The passphrase provided must use the exact same character encoding used to encrypt the PFX credentials. The application makes no effort whatsoever to re-encode the same. ### setSignatureBoxPageNumber ```java void com.datalogics.PDFL.SignDoc.setSignatureBoxPageNumber(long value) ``` **Parameters** - `value` (`long`): Page number on which to create the widget annotation. **Returns:** `void` Set the page number on which the widget annotation of the signature field is created. ### setSignatureBoxRectangle ```java void com.datalogics.PDFL.SignDoc.setSignatureBoxRectangle(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): Dimension of the annotation rectangle of the signature field. **Returns:** `void` Set the dimension of the annotation rectangle of the signature field being created. ### setSignerInfo ```java void com.datalogics.PDFL.SignDoc.setSignerInfo(String logoFilePath, float logoOpacity, String name, String location, String reason, String contactInfo, DisplayTraits displayTraits) ``` **Parameters** - `logoFilePath` (`String`): Image to display as part of signature appearance. - `logoOpacity` (`float`): Opacity of image to display as part of signature appearance. - `name` (`String`): Name of the person or authority signing the document. - `location` (`String`): CPU host name or physical location of the signing. - `reason` (`String`): Reason for signing the document. - `contactInfo` (`String`): Information provided by the signer to enable recipients to contact signer for signature verification. - `displayTraits` (`DisplayTraits`): Fields to display as part of signature appearance. **Returns:** `void` Set Signer Info. --- # SquareAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/SquareAnnotation ```java class SquareAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description The square annotation allows a user to display a rectangle on a PDF page. Text associated with the Square Annotation appears in a pop-up window. The size and shape of the rectangle is defined within the Rect entry. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### SquareAnnotation ```java com.datalogics.PDFL.SquareAnnotation.SquareAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the SquareAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. Create a new SquareAnnotation at the end of a page's annotation array. To create a SquareAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ### SquareAnnotation ```java com.datalogics.PDFL.SquareAnnotation.SquareAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. Create a new SquareAnnotation at a specific index in the page's annotation array. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.SquareAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.SquareAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.SquareAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.SquareAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the visual appearance of this annotation, or null if the appearance could not be generated (e.g. due to an invalid border style). Generate a new appearance stream for this square annotation. Creates an appearance based on the current annotation properties, including color, interior color, border style, and bounding rectangle. The rectangle is drawn within the annotation rectangle. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.SquareAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version level (e.g. 1.3, 1.4, or 1.5). The minimum PDF version necessary to support the features used in this annotation. ### getBorderStyle ```java String com.datalogics.PDFL.SquareAnnotation.getBorderStyle() ``` **Returns:** `String` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### getBorderStyleDashPattern ```java java.util.List< Double > com.datalogics.PDFL.SquareAnnotation.getBorderStyleDashPattern() ``` **Returns:** `java.util.List< Double >` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### getBorderStyleWidth ```java double com.datalogics.PDFL.SquareAnnotation.getBorderStyleWidth() ``` **Returns:** `double` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.SquareAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setBorderStyle ```java void com.datalogics.PDFL.SquareAnnotation.setBorderStyle(String style) ``` **Parameters** - `style` (`String`) **Returns:** `void` The border style. Can be one of: S - Solid D - Dashed. The dash pattern is specified as an array (see DashPattern) B - Beveled I - Inset U - Underline Other border styles may be defined in the future. Default is "S" ### setBorderStyleDashPattern ```java void com.datalogics.PDFL.SquareAnnotation.setBorderStyleDashPattern(java.util.List< Double > dashPattern) ``` **Parameters** - `dashPattern` (`java.util.List< Double >`) **Returns:** `void` An array defining a pattern of dashes and gaps to be used in drawing a dashed border (border style D). The dash array is a series of numbers that specify the lengths of alternating dashes and gaps. Lengths must be nonnegative, and are expressed in user space units. Default value is [3] ### setBorderStyleWidth ```java void com.datalogics.PDFL.SquareAnnotation.setBorderStyleWidth(double width) ``` **Parameters** - `width` (`double`) **Returns:** `void` The border width in points. If this value is 0, no border is drawn. The default is 1.0. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # StringStringMap Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StringStringMap ```java class StringStringMap ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`StringVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StringVector.md) ## Constructors ### StringStringMap ```java com.datalogics.PDFL.StringStringMap.StringStringMap() ``` *constructor* ## Methods ### clear ```java void com.datalogics.PDFL.StringStringMap.clear() ``` **Returns:** `void` ### del ```java void com.datalogics.PDFL.StringStringMap.del(String key) ``` **Parameters** - `key` (`String`) **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.StringStringMap.delete() ``` **Returns:** `synchronized void` ### empty ```java boolean com.datalogics.PDFL.StringStringMap.empty() ``` **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.StringStringMap.finalize() ``` *protected* **Returns:** `void` ### get ```java String com.datalogics.PDFL.StringStringMap.get(String key) ``` **Parameters** - `key` (`String`) **Returns:** `String` ### has_key ```java boolean com.datalogics.PDFL.StringStringMap.has_key(String key) ``` **Parameters** - `key` (`String`) **Returns:** `boolean` ### keys ```java StringVector com.datalogics.PDFL.StringStringMap.keys() ``` **Returns:** [`StringVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StringVector.md) ### set ```java void com.datalogics.PDFL.StringStringMap.set(String key, String x) ``` **Parameters** - `key` (`String`) - `x` (`String`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.StringStringMap.size() ``` **Returns:** `long` --- # StringVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StringVector ```java class StringVector ``` **Namespace:** `com::datalogics::PDFL` **Referenced by:** [`StringStringMap`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StringStringMap.md) ## Constructors ### StringVector ```java com.datalogics.PDFL.StringVector.StringVector() ``` *constructor* ### StringVector ```java com.datalogics.PDFL.StringVector.StringVector(Iterable< String > iter) ``` *constructor* **Parameters** - `iter` (`Iterable< String >`) ### StringVector ```java com.datalogics.PDFL.StringVector.StringVector(long n) ``` *constructor* **Parameters** - `n` (`long`) ## Methods ### add ```java void com.datalogics.PDFL.StringVector.add(String x) ``` **Parameters** - `x` (`String`) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.StringVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.StringVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.StringVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.StringVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.StringVector.finalize() ``` *protected* **Returns:** `void` ### get ```java String com.datalogics.PDFL.StringVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** `String` ### isEmpty ```java boolean com.datalogics.PDFL.StringVector.isEmpty() ``` **Returns:** `boolean` ### reserve ```java void com.datalogics.PDFL.StringVector.reserve(long n) ``` **Parameters** - `n` (`long`) **Returns:** `void` ### set ```java void com.datalogics.PDFL.StringVector.set(int i, String val) ``` **Parameters** - `i` (`int`) - `val` (`String`) **Returns:** `void` ### size ```java long com.datalogics.PDFL.StringVector.size() ``` **Returns:** `long` --- # Style Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Style ```java class Style ``` **Namespace:** `com::datalogics::PDFL` ## Description Provides access to data about fonts, font sizes, and colors used in a word. **Referenced by:** [`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Style.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Style.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Style.finalize() ``` *protected* **Returns:** `void` ### getColor ```java Color com.datalogics.PDFL.Style.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The Color associated with this style. Gets the style's color. ### getFontName ```java String com.datalogics.PDFL.Style.getFontName() ``` **Returns:** `String` The font name as a string. Gets the name of the style's font. ### getFontSize ```java double com.datalogics.PDFL.Style.getFontSize() ``` **Returns:** `double` The font size for this style, in points. Gets the style's font size. ### toString ```java String com.datalogics.PDFL.Style.toString() ``` **Returns:** `String` A string in the format "[color=..., fontsize=..., fontname=...]". Returns a string representing the Style's value. The returned value indicates the color, font, and font size of the style. --- # StyleTransition Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition ```java class StyleTransition ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a style change in a word. A StyleTransition provides information about the character index in the word where the style changes, and the new Style. **Referenced by:** [`StyleTransitionVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransitionVector.md), [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) **Uses types:** [`Style`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Style.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.StyleTransition.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.StyleTransition.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.StyleTransition.finalize() ``` *protected* **Returns:** `void` ### getCharIndex ```java int com.datalogics.PDFL.StyleTransition.getCharIndex() ``` **Returns:** `int` The index of the character in the word at which this transition begins. ### getStyle ```java Style com.datalogics.PDFL.StyleTransition.getStyle() ``` **Returns:** [`Style`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Style.md) The Style that begins at this transition. ### toString ```java String com.datalogics.PDFL.StyleTransition.toString() ``` **Returns:** `String` Returns a string representation of the StyleTransition. --- # StyleTransitionVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransitionVector ```java class StyleTransitionVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md) ## Constructors ### StyleTransitionVector ```java com.datalogics.PDFL.StyleTransitionVector.StyleTransitionVector() ``` *constructor* ### StyleTransitionVector ```java com.datalogics.PDFL.StyleTransitionVector.StyleTransitionVector(Iterable< StyleTransition > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< StyleTransition >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md)) ## Methods ### add ```java void com.datalogics.PDFL.StyleTransitionVector.add(StyleTransition x) ``` **Parameters** - `x` ([`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.StyleTransitionVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.StyleTransitionVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.StyleTransitionVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.StyleTransitionVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.StyleTransitionVector.finalize() ``` *protected* **Returns:** `void` ### get ```java StyleTransition com.datalogics.PDFL.StyleTransitionVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md) ### isEmpty ```java boolean com.datalogics.PDFL.StyleTransitionVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.StyleTransitionVector.set(int i, StyleTransition val) ``` **Parameters** - `i` (`int`) - `val` ([`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.StyleTransitionVector.size() ``` **Returns:** `long` --- # Text Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text ```java class Text : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description A container that represents a series of text elements and characters. A Text object is container that represents both a series of TextRun elements and a series of text characters. Operations can be performed on individual TextRuns within a Text or on individual characters within a Text by specifying the index of the individual TextRun or character. All indices start at 0. **Referenced by:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md), [`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md) ## Constructors ### Text ```java com.datalogics.PDFL.Text.Text() ``` *constructor* Create a new, empty Text object. ## Methods ### addGlyphs ```java void com.datalogics.PDFL.Text.addGlyphs(java.util.List< java.lang.Character > glyphIDs, java.util.List< java.lang.Character > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, java.util.EnumSet< TextFlags > flags) ``` **Parameters** - `glyphIDs` (`java.util.List< java.lang.Character >`): Glyphs IDs in the specified font for adding to the page's content - `uniText` (`java.util.List< java.lang.Character >`): Unicode codes for the specified glyph IDs - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): Font for wich GlyphIDs were specified - `gState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): The GraphicsState for Text element - `state` ([`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md)): TextState flags - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): matrix for the Text element - `flags` (`java.util.EnumSet< TextFlags >`): TextFlags that specifies what kind of text to add **Returns:** `void` Adds Unicode text to a Text object ### addGlyphs ```java void com.datalogics.PDFL.Text.addGlyphs(java.util.List< java.lang.Character > glyphIDs, java.util.List< java.lang.Character > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, java.util.EnumSet< TextFlags > flags, int index) ``` **Parameters** - `glyphIDs` (`java.util.List< java.lang.Character >`): Glyphs IDs in the specified font to add to the page's content - `uniText` (`java.util.List< java.lang.Character >`): Unicode codes for the specified glyph IDs - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): Font for wich GlyphIDs were specified - `gState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): The GraphicsState for Text element - `state` ([`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md)): TextState flags - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): matrix for the Text element - `flags` (`java.util.EnumSet< TextFlags >`): TextFlags that specifies what kind of text to add - `index` (`int`): The index after which to add the character or text run. **Returns:** `void` Adds Unicode text to a Text object ### addRun ```java void com.datalogics.PDFL.Text.addRun(TextRun run) ``` **Parameters** - `run` ([`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md)): The TextRun to append. **Returns:** `void` Adds a TextRun to the end of this text element. ### addRun ```java void com.datalogics.PDFL.Text.addRun(TextRun run, int index) ``` **Parameters** - `run` ([`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md)): TextRun to be added - `index` (`int`): Index, where TextRun should be placed **Returns:** `void` Adds a TextRun at the specified index. ### changeMatrixForTextRun ```java void com.datalogics.PDFL.Text.changeMatrixForTextRun(Matrix newMatrix, int textRunIndex) ``` **Parameters** - `newMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The new transformation matrix to use for the TextRun. - `textRunIndex` (`int`): The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0). **Returns:** `void` Changes the transformation matrix from user space to the current text space for the specified TextRun. Unlike ChangeTextMatrixForTextRun(), this function does not change fontSize, hScale, and textRise in the textState of PDEText. The H and V values of the matrix indicate the origin of the first character. ### changeTextMatrixForTextRun ```java void com.datalogics.PDFL.Text.changeTextMatrixForTextRun(Matrix newMatrix, int textRunIndex) ``` **Parameters** - `newMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The new transformation matrix to use for the TextRun. - `textRunIndex` (`int`): The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0). **Returns:** `void` Changes the transformation matrix from user space to the current text space for the specified TextRun. The H and V values of the matrix indicate the origin of the first character. ### clone ```java Text com.datalogics.PDFL.Text.clone() ``` **Returns:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) The copied text. Makes a copy of the text. Make a copy of an text to obtain a new text that has a distinct set of attributes. ### clone ```java Text com.datalogics.PDFL.Text.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) The copied text. Makes a copy of the text. Make a copy of an text to obtain a new text that has a distinct set of attributes. ### colorConvert ```java Text com.datalogics.PDFL.Text.colorConvert(Document document, ColorProfile prof, RenderIntent intent, boolean embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` (`ColorProfile`): The ICC ColorProfile to be applied. - `intent` (`RenderIntent`): The ICC Rendering Intent for the ColorProfile - `embed` (`boolean`): If true, embed the color space and make the object calibrated. If it is false and the target profile is CMYK, RGB, or Gray, the colors space of the resulting object, after conversion, will be DeviceCMYK, DeviceRGB, or DeviceGray, respectively. **Returns:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) A new Text object with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Text object ### delete ```java synchronized void com.datalogics.PDFL.Text.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Text.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Text.finalize() ``` *protected* **Returns:** `void` ### findTextRunIndexForCharacter ```java int com.datalogics.PDFL.Text.findTextRunIndexForCharacter(int characterIndex) ``` **Parameters** - `characterIndex` (`int`): The index of a character, relative to the Text object (the first character in the Text object is at index 0). **Returns:** `int` The index of the TextRun that contains the character specified by characterIndex. Finds the index of the TextRun that contains the nth character in a Text object. ### getAdvanceForCharacter ```java Point com.datalogics.PDFL.Text.getAdvanceForCharacter(int characterIndex) ``` **Parameters** - `characterIndex` (`int`): The index of a character, relative to the Text object (the first character in the Text object is at index 0). **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) A value specifying both the horizontal and vertical components of the advance width of a character in user space. Gets the advance width of a character, in user space. The advance width is the amount by which the current point advances when the character is drawn. Advance width may be horizontal or vertical, depending on the writing style. Thus, the return value has both a horizontal and a vertical component. ### getAdvanceForTextRun ```java Point com.datalogics.PDFL.Text.getAdvanceForTextRun(int textRunIndex) ``` **Parameters** - `textRunIndex` (`int`): The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0). **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md) A value specifying both the horizontal and vertical components of the advance width of a TextRun in user space. Gets the advance width of a TextRun, in user space. The advance width is the amount by which the current point advances when the TextRun is drawn. Advance width may be horizontal or vertical, depending on the writing style. Thus, the return value has both a horizontal and a vertical component. ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getBoundingBoxForCharacter ```java Rect com.datalogics.PDFL.Text.getBoundingBoxForCharacter(int characterIndex) ``` **Parameters** - `characterIndex` (`int`): The index of a character, relative to the Text object (the first character in the Text object is at index 0) **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) A Rect specifying the bounding box for the character. The bounding box for a character in this text element. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getNumberOfCharacters ```java int com.datalogics.PDFL.Text.getNumberOfCharacters() ``` **Returns:** `int` The number of characters in this text element. ### getNumberOfRuns ```java int com.datalogics.PDFL.Text.getNumberOfRuns() ``` **Returns:** `int` The number of text runs in this text element. ### getRun ```java TextRun com.datalogics.PDFL.Text.getRun(int index) ``` **Parameters** - `index` (`int`): The zero-based index of the TextRun to retrieve. **Returns:** [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) The TextRun at the specified index. Obtains the TextRun at the specified index. ### getTextMatrixForCharacter ```java Matrix com.datalogics.PDFL.Text.getTextMatrixForCharacter(int characterIndex) ``` **Parameters** - `characterIndex` (`int`): The index of a character, relative to the Text object (the first character in the Text object is at index 0). **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The transformation matrix for the character specified by characterIndex. Gets the transformation matrix from user space to the current text space for the specified character. The H and V values of the matrix indicate the origin of the first character. ### getTextMatrixForTextRun ```java Matrix com.datalogics.PDFL.Text.getTextMatrixForTextRun(int textRunIndex) ``` **Parameters** - `textRunIndex` (`int`): The index of a TextRun, relative to the Text object (the first TextRun in the Text object is at index 0). **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The transformation matrix for the TextRun specified by TextRunIndex. Gets the transformation matrix from user space to the current text space for the specified TextRun. The H and V values of the matrix indicate the origin of the first character. ### pointIntersectsCharacter ```java boolean com.datalogics.PDFL.Text.pointIntersectsCharacter(Point p, int index) ``` **Parameters** - `p` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The point to test, in user space coordinates. - `index` (`int`): The index of the character. The first character in the Text has an index of 0. **Returns:** `boolean` true if the point is on the character, false if the point is not on the character. Tests whether a point is on a specified character within this Text object. ### pointIntersectsTextRun ```java boolean com.datalogics.PDFL.Text.pointIntersectsTextRun(Point p, int index) ``` **Parameters** - `p` ([`Point`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Point.md)): The point to test, in user space coordinates. - `index` (`int`): The index of the TextRun. The first TextRun in the Text has an index of 0. **Returns:** `boolean` true if the point is on the TextRun, false if the point is not on the TextRun. Tests whether a point is on a specified TextRun within this Text object. ### rectIntersectsCharacter ```java boolean com.datalogics.PDFL.Text.rectIntersectsCharacter(Rect r, int index) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rect to test, in user space coordinates. - `index` (`int`): The index of the character. The first character in the Text has an index of 0. **Returns:** `boolean` true if any part of the rectangle is on the character, false if no part of the rectangle is on the character. Tests whether any part of a rectangle is on a specified character within this Text object. ### rectIntersectsTextRun ```java boolean com.datalogics.PDFL.Text.rectIntersectsTextRun(Rect r, int index) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rect to test, in user space coordinates. - `index` (`int`): The index of the TextRun. The first TextRun in the Text has an index of 0. **Returns:** `boolean` true if any part of the rectangle is on the TextRun, false if no part of the rectangle is on the TextRun. Tests whether any part of a rectangle is on a specified TextRun within this Text object. ### removeRuns ```java void com.datalogics.PDFL.Text.removeRuns(int index, int count) ``` **Parameters** - `index` (`int`): Start position of range to delete - `count` (`int`): Count of TextRuns to delete **Returns:** `void` Removes a count of TextRuns, starting from index ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### splitTextRunAtCharacter ```java void com.datalogics.PDFL.Text.splitTextRunAtCharacter(int splitLocation) ``` **Parameters** - `splitLocation` (`int`): The split location, relative to the Text object. **Returns:** `void` Splits the TextRun containing the character at the specified location into two contiguous TextRuns. The character at the specified index will be part of the first TextRun. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # TextMarkupAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation ```java class TextMarkupAnnotation : Annotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md) **Derived classes:** [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) ## Description Annotations that appears as highlighted content when added to a PDF file. Text markup annotations appear as highlights, underlines, or strikeouts when added to a PDF document in a PDF Viewer. When the edited PDF file is opened the markups appear in a pop-up window containing the text of the associated note. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.TextMarkupAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.TextMarkupAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.TextMarkupAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.Annotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the visual appearance, or null if the appearance could not be generated. Generate a new appearance stream with the current annotation properties. The resulting Form can then be used to set the annotation's appearance, such as by calling SetNormalAppearance. ### getAnnotatedText ```java String com.datalogics.PDFL.TextMarkupAnnotation.getAnnotatedText(boolean splitLines) ``` **Parameters** - `splitLines` (`boolean`): If true, text corresponding to each quadrilateral will be separated by CRLF characters. If false, text corresponding to each quadrilateral will be separated by spaces. **Returns:** `String` The text marked by the annotation. The text that is marked by the annotation. Marked text is defined as text which falls within one or more of the quadrilaterals specified by the annotation's QuadPoints entry. If the annotation marks partial words, only those portions of the word that are bounded within the QuadPoints array will be returned. If the annotation marks partial characters, the characters that fall partially within the annotation bounds may not be returned. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.TextMarkupAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.TextMarkupAnnotation.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.TextMarkupAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setQuads ```java void com.datalogics.PDFL.TextMarkupAnnotation.setQuads(java.util.List< Quad > theQuads) ``` **Parameters** - `theQuads` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) **Returns:** `void` A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # TextRun Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun ```java class TextRun : Element ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) ## Description Represents one or more contiguous characters in a text object. All the characters contained within a text run have the same style, color, font, and size. **Referenced by:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md) ## Constructors ### TextRun ```java com.datalogics.PDFL.TextRun.TextRun(String text, Font font, GraphicState gstate, TextState tstate, Matrix matrix) ``` *constructor* **Parameters** - `text` (`String`): The text content for this run. - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The font to use for rendering the text. - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): The graphic state (colors, line width, etc.) for this text run. - `tstate` ([`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md)): The text state (character spacing, word spacing, font size, etc.) for this text run. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix positioning this text run in user space. Creates a new TextRun with the specified text, font, graphic state, text state, and matrix. ## Methods ### clone ```java Element com.datalogics.PDFL.Element.clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### clone ```java Element com.datalogics.PDFL.Element.clone(java.util.EnumSet< ElementCloneFlags > cloneFlags) ``` **Parameters** - `cloneFlags` (`java.util.EnumSet< ElementCloneFlags >`): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Element.md) The copied element. Makes a copy of the element. Make a copy of an element to obtain a new element that has a distinct set of attributes. Note: TextRun objects may not be cloned. ### delete ```java synchronized void com.datalogics.PDFL.TextRun.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.TextRun.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.TextRun.finalize() ``` *protected* **Returns:** `void` ### getAdvance ```java double com.datalogics.PDFL.TextRun.getAdvance() ``` **Returns:** `double` The advance width of this text run. Deprecated, use Text.GetAdvanceForTextRun(int textRunIndex) instead. This version does not indicate the direction of the advance width. The advance width of this run of text, in user space. The advance width is the amount by which the current point advances when the text run is drawn. ### getBoundingBox ```java Rect com.datalogics.PDFL.Element.getBoundingBox() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account. The bounding box for this element. The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself. ### getClip ```java Clip com.datalogics.PDFL.Element.getClip() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md) The current Clip for this Element, or NULL if no clip is set. Gets the current Clip for an Element. ### getFont ```java Font com.datalogics.PDFL.TextRun.getFont() ``` **Returns:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) The font for this text run. The font used to render this TextRun. ### getGraphicState ```java GraphicState com.datalogics.PDFL.TextRun.getGraphicState() ``` **Returns:** [`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md) The GraphicState for this text run, or null. The graphic state (colors, line width, etc.) of the text run. May return null if this element does not have a GraphicState. ### getMatrix ```java Matrix com.datalogics.PDFL.Element.getMatrix() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md) The current transformation matrix applied to this element. The transformation matrix for the element. ### getRawText ```java byte[] com.datalogics.PDFL.TextRun.getRawText() ``` **Returns:** `byte[]` A byte array containing the raw character codes. The raw, un-interpreted text as character codes of this TextRun. ### getText ```java String com.datalogics.PDFL.TextRun.getText() ``` **Returns:** `String` The text string for this run. The Unicode text content of this TextRun. ### getTextState ```java TextState com.datalogics.PDFL.TextRun.getTextState() ``` **Returns:** [`TextState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState.md) The TextState for this text run. The text state parameters (character spacing, word spacing, font size, etc.) of this TextRun. ### rotate ```java void com.datalogics.PDFL.Element.rotate(double theta) ``` **Parameters** - `theta` (`double`): The rotation angle in degrees. **Returns:** `void` Rotate an element by theta degrees counterclockwise using the matrix [ cos T sin T -sin T cos T 0 0 ]. ### scale ```java void com.datalogics.PDFL.Element.scale(double sx, double sy) ``` **Parameters** - `sx` (`double`): The horizontal scale factor. - `sy` (`double`): The vertical scale factor. **Returns:** `void` Scale an element by (sx,sy) units using the matrix [ sx 0 0 sy 0 0 ]. ### setClip ```java void com.datalogics.PDFL.Element.setClip(Clip clip) ``` **Parameters** - `clip` ([`Clip`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Clip.md)): The clip to set as the current clip for this element, or NULL to remove clipping. **Returns:** `void` Sets the current Clip for an Element. ### setFont ```java void com.datalogics.PDFL.TextRun.setFont(Font font) ``` **Parameters** - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The new font for this text run. **Returns:** `void` The font used to render this TextRun. ### setGraphicState ```java void com.datalogics.PDFL.TextRun.setGraphicState(GraphicState gstate) ``` **Parameters** - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GraphicState.md)): the new/updated Graphic State for the text run. **Returns:** `void` Set the Graphic State of the text run. ### setMatrix ```java void com.datalogics.PDFL.Element.setMatrix(Matrix matrix) ``` **Parameters** - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix for the element. **Returns:** `void` Set the transformation matrix for the element. ### setText ```java void com.datalogics.PDFL.TextRun.setText(String text) ``` **Parameters** - `text` (`String`): The new text content for this run. **Returns:** `void` The Unicode text content of this TextRun. ### translate ```java void com.datalogics.PDFL.Element.translate(double tx, double ty) ``` **Parameters** - `tx` (`double`): The horizontal translation distance in user space units. - `ty` (`double`): The vertical translation distance in user space units. **Returns:** `void` Translate an element by (tx,ty) units using the matrix [ 1 0 0 1 tx ty ]. --- # TextState Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextState ```java class TextState ``` **Namespace:** `com::datalogics::PDFL` ## Description The text state includes parameters that affect text. These parameters include character and word spacing, font, font size, and horizontal scale. **Referenced by:** [`Text`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextRun.md) ## Constructors ### TextState ```java com.datalogics.PDFL.TextState.TextState() ``` *constructor* Create a default text state ## Methods ### delete ```java synchronized void com.datalogics.PDFL.TextState.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.TextState.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.TextState.finalize() ``` *protected* **Returns:** `void` ### getCharacterSpacing ```java double com.datalogics.PDFL.TextState.getCharacterSpacing() ``` **Returns:** `double` The current character spacing (corresponding to the Tc operator), in unscaled text space units. ### getFontSize ```java double com.datalogics.PDFL.TextState.getFontSize() ``` **Returns:** `double` The current font size (corresponding to the Tf operator). ### getHScale ```java double com.datalogics.PDFL.TextState.getHScale() ``` **Returns:** `double` The current horizontal scaling (corresponding to the Tz operator), as a percentage of the normal glyph width. Default is 100. ### getRenderMode ```java TextRenderMode com.datalogics.PDFL.TextState.getRenderMode() ``` **Returns:** `TextRenderMode` The current text rendering mode (corresponding to the Tr operator). ### getTextRise ```java double com.datalogics.PDFL.TextState.getTextRise() ``` **Returns:** `double` The current text rise (corresponding to the Ts operator), in unscaled text space units. ### getWordSpacing ```java double com.datalogics.PDFL.TextState.getWordSpacing() ``` **Returns:** `double` The current word spacing (corresponding to the Tw operator), in unscaled text space units. ### setCharacterSpacing ```java void com.datalogics.PDFL.TextState.setCharacterSpacing(double Tc) ``` **Parameters** - `Tc` (`double`): the new/updated character spacing **Returns:** `void` The current character spacing (corresponding to the Tc operator), in unscaled text space units. ### setFontSize ```java void com.datalogics.PDFL.TextState.setFontSize(double Tf) ``` **Parameters** - `Tf` (`double`): the new/updated font size **Returns:** `void` The current font size (corresponding to the Tf operator). ### setHScale ```java void com.datalogics.PDFL.TextState.setHScale(double Tz) ``` **Parameters** - `Tz` (`double`): the new/updated horizontal scaling **Returns:** `void` The current horizontal scaling (corresponding to the Tz operator), as a percentage of the normal glyph width. Default is 100. ### setRenderMode ```java void com.datalogics.PDFL.TextState.setRenderMode(TextRenderMode Tr) ``` **Parameters** - `Tr` (`TextRenderMode`): the new/updated text rendering mode **Returns:** `void` The current text rendering mode (corresponding to the Tr operator). ### setTextRise ```java void com.datalogics.PDFL.TextState.setTextRise(double Ts) ``` **Parameters** - `Ts` (`double`): the new/updated text rise **Returns:** `void` The current text rise (corresponding to the Ts operator), in unscaled text space units. ### setWordSpacing ```java void com.datalogics.PDFL.TextState.setWordSpacing(double Tw) ``` **Parameters** - `Tw` (`double`): the new/updated character spacing **Returns:** `void` The current word spacing (corresponding to the Tw operator), in unscaled text space units. --- # UnderlineAnnotation Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/UnderlineAnnotation ```java class UnderlineAnnotation : TextMarkupAnnotation ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md) ## Description A type of text markup annotation, for underlining text. Text markup annotations added to a PDF file appear as highlights, underlines, or strikeouts. The Underline Annotation appears PDF document as underlined text when the documnent is opened in a PDF Viewer. **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Annotation.md), [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### UnderlineAnnotation ```java com.datalogics.PDFL.UnderlineAnnotation.UnderlineAnnotation(Page page, int addAfter, java.util.List< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the UnderlineAnnotation is added. - `addAfter` (`int`): Where to add the annotation in the page's annotation array. To add the annotation to the end of the array, pass a value of -2 or use the alternate version of this constructor that does not take an index (this is generally what you should do unless you have a need to place the annotation at a special location in the array). Passing a value of -1 adds the annotation to the beginning of the array. Passing other negative values produces undefined results. - `quadList` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A list of quads to underline. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. Create a new UnderlineAnnotation at a specific index in the page's annotation array. ### UnderlineAnnotation ```java com.datalogics.PDFL.UnderlineAnnotation.UnderlineAnnotation(Page page, java.util.List< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the UnderlineAnnotation is added. - `quadList` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)): A list of quads to underline. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. Create a new UnderlineAnnotation at the end of a page's annotation array. To create a FreeTextAnnotation and place it elsewhere in the page's annotation array, use the version of the constructor that takes an array position. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.UnderlineAnnotation.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.UnderlineAnnotation.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Annotation.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.UnderlineAnnotation.finalize() ``` *protected* **Returns:** `void` ### generateAppearance ```java Form com.datalogics.PDFL.UnderlineAnnotation.generateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A new Form object representing the underline appearance. The caller takes ownership of the returned object. Generate a new appearance stream for this underline annotation. Creates a Form containing stroked line paths for each quad in the annotation. The underline width is based on the font size of the text found within each quad, and the annotation's color is used as the stroke color. ### getAnnotatedText ```java String com.datalogics.PDFL.TextMarkupAnnotation.getAnnotatedText(boolean splitLines) ``` **Parameters** - `splitLines` (`boolean`): If true, text corresponding to each quadrilateral will be separated by CRLF characters. If false, text corresponding to each quadrilateral will be separated by spaces. **Returns:** `String` The text marked by the annotation. The text that is marked by the annotation. Marked text is defined as text which falls within one or more of the quadrilaterals specified by the annotation's QuadPoints entry. If the annotation marks partial words, only those portions of the word that are bounded within the QuadPoints array will be returned. If the annotation marks partial characters, the characters that fall partially within the annotation bounds may not be returned. ### getAnnotationFeatureLevel ```java double com.datalogics.PDFL.TextMarkupAnnotation.getAnnotationFeatureLevel() ``` **Returns:** `double` The minimum PDF version necessary to support the features used in this annotation. ### getColor ```java Color com.datalogics.PDFL.Annotation.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The annotation's color. The color of the annotation. ### getContents ```java String com.datalogics.PDFL.Annotation.getContents() ``` **Returns:** `String` The annotation's text contents. The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### getFlags ```java java.util.EnumSet< AnnotationFlags > com.datalogics.PDFL.Annotation.getFlags() ``` **Returns:** `java.util.EnumSet< AnnotationFlags >` The annotation's flags. The flags for the annotation. ### getInteriorColor ```java Color com.datalogics.PDFL.Annotation.getInteriorColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The interior fill color, or null if no interior color is set. The interior color with which to fill the annotation's rectangle or circle. The color of the border itself can be retrieved from Annotation.Color. ### getNormalAppearance ```java Form com.datalogics.PDFL.Annotation.getNormalAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md) A Form representing the annotation's normal appearance, or null if no normal appearance has been set. The normal appearance of the annotation, represented as a Form XObject. ### getOpacity ```java double com.datalogics.PDFL.Annotation.getOpacity() ``` **Returns:** `double` The opacity value for this annotation. The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### getOptionalContentMembershipDict ```java OptionalContentMembershipDict com.datalogics.PDFL.Annotation.getOptionalContentMembershipDict() ``` **Returns:** [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md) the OptionalContentMembershipDict The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Annotation.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The PDFDict associated with this annotation. The underlying PDF dictionary for this annotation. Retrieves the PDFDict representation of this annotation object. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.TextMarkupAnnotation.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### getRect ```java Rect com.datalogics.PDFL.Annotation.getRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The annotation's bounding rectangle in user space coordinates. The size and location of the annotation on its page. ### getSubtype ```java String com.datalogics.PDFL.Annotation.getSubtype() ``` **Returns:** `String` The subtype string (e.g. "Circle", "Square", "Line"). The annotation's subtype. ### getTitle ```java String com.datalogics.PDFL.Annotation.getTitle() ``` **Returns:** `String` The title string. The title of the annotation. ### hasRichTextData ```java boolean com.datalogics.PDFL.Annotation.hasRichTextData() ``` **Returns:** `boolean` true if the annotation contains Rich Text String content. Checks the annotation for Rich Text String content (PDFReference 1.7 Section 8.6.2). Annotations that contain Rich Text String content and do not have a normal appearance set will not be visible when rendering the page. ### isCurrentlyVisible ```java boolean com.datalogics.PDFL.Annotation.isCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `boolean` true if the annotation is currently visible. Tests whether an annotation is visible in a given optional content context, considering the current ON-OFF states of the optional-content groups in the optional-content dictionary (OCMD) and the dictionary's visibility policy. If the annotation occurs more than once within the content, this method only checks the visibility of the first occurrence of the annotation. This method determines visibility without considering the visbility of the Content object that the annotation belongs to. To determine the visibility of an annotation while taking the Content's visibility into consideration, use the alternate version of this method. ### setAnnotationFeatureLevel ```java void com.datalogics.PDFL.TextMarkupAnnotation.setAnnotationFeatureLevel(double featureLevel) ``` **Parameters** - `featureLevel` (`double`) **Returns:** `void` Removes features not supported in the supplied version number. ### setColor ```java void com.datalogics.PDFL.Annotation.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new color to set. **Returns:** `void` The color of the annotation. ### setContents ```java void com.datalogics.PDFL.Annotation.setContents(String contents) ``` **Parameters** - `contents` (`String`): The new text contents. **Returns:** `void` The text contents of the annotation. The text to be displayed for the annotation or, if this type of annotation does not display text, an alternate description of the annotation's contents in human-readable form. ### setFlags ```java void com.datalogics.PDFL.Annotation.setFlags(java.util.EnumSet< AnnotationFlags > flags) ``` **Parameters** - `flags` (`java.util.EnumSet< AnnotationFlags >`): The new annotation flags to set. **Returns:** `void` The flags for the annotation. ### setInteriorColor ```java void com.datalogics.PDFL.Annotation.setInteriorColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The new interior fill color. Pass null to remove the interior color. **Returns:** `void` The interior color with which to fill the annotation's rectangle or circle. Only RGB colors are allowed. The color of the border itself can be retrieved from Annotation.Color. ### setNormalAppearance ```java void com.datalogics.PDFL.Annotation.setNormalAppearance(Form form) ``` **Parameters** - `form` ([`Form`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Form.md)): The Form to use as the annotation's normal appearance. **Returns:** `void` The normal appearance of the annotation, represented as a Form XObject. ### setOpacity ```java void com.datalogics.PDFL.Annotation.setOpacity(double opacityValue) ``` **Parameters** - `opacityValue` (`double`): The new opacity value to set. **Returns:** `void` The constant opacity value used in painting a Markup annotation. Opacity is a range from 0.0 (fully transparent) to 1.0 (fully opaque). ### setOptionalContentMembershipDict ```java void com.datalogics.PDFL.Annotation.setOptionalContentMembershipDict(OptionalContentMembershipDict ocmd) ``` **Parameters** - `ocmd` ([`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md)): the OptionalContentMembershipDict **Returns:** `void` The OptionalContentMembershipDict property for this Annotation. Setting this property will attach the Annotation to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict. By setting this property to null, the Annotation is detached from any OptionalContentMembershipDict. ### setQuads ```java void com.datalogics.PDFL.TextMarkupAnnotation.setQuads(java.util.List< Quad > theQuads) ``` **Parameters** - `theQuads` ([`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md)) **Returns:** `void` A list of quads to mark. Each quad encompasses a word or group of contiguous words in the text underlying the annotation. ### setRect ```java void com.datalogics.PDFL.Annotation.setRect(Rect rect) ``` **Parameters** - `rect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The new bounding rectangle in user space coordinates. **Returns:** `void` The size and location of the annotation on its page. ### setTitle ```java void com.datalogics.PDFL.Annotation.setTitle(String title) ``` **Parameters** - `title` (`String`): The new title string. **Returns:** `void` The title of the annotation. ### toString ```java String com.datalogics.PDFL.Annotation.toString() ``` **Returns:** `String` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # URIAction Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/URIAction ```java class URIAction : Action ``` **Namespace:** `com::datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md) ## Description A text string, typically a hyperlink. A Uniform Resource Identifier (URI) is a text string that identifies a resource on the Internet, typically a hyperlink to a web page. A URI Action within a PDF file allows a reader to click on a hyperlink and open a separate web page or another PDF or other kind of file accessed through a web link. **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Action.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### URIAction ```java com.datalogics.PDFL.URIAction.URIAction(String URIstring, boolean useMap) ``` *constructor* **Parameters** - `URIstring` (`String`): String for the URI - `useMap` (`boolean`): Send mouse position with the URI General constructor ## Methods ### delete ```java synchronized void com.datalogics.PDFL.URIAction.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.URIAction.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.Action.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.URIAction.finalize() ``` *protected* **Returns:** `void` ### getIsMap ```java boolean com.datalogics.PDFL.URIAction.getIsMap() ``` **Returns:** `boolean` true if mouse coordinates will be sent with the URI, false otherwise. Whether to include mouse coordinates with the URI. When true, the position of the mouse click that triggered the action is appended to the URI as a query parameter. ### getPDFDict ```java PDFDict com.datalogics.PDFL.Action.getPDFDict() ``` **Returns:** [`PDFDict`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFDict.md) The underlying PDF dictionary for this Action. Retrieve the PDFObject representation of this object. ### getSubtype ```java String com.datalogics.PDFL.Action.getSubtype() ``` **Returns:** `String` The subtype string for this action, such as "GoTo", "URI", "Launch", or "GoToR". The action's subtype. ### getURI ```java String com.datalogics.PDFL.URIAction.getURI() ``` **Returns:** `String` The Uniform Resource Identifier string for this action. The URI string for this action. ### setIsMap ```java void com.datalogics.PDFL.URIAction.setIsMap(boolean arg0) ``` **Parameters** - `arg0` (`boolean`) **Returns:** `void` Set whether to include mouse coordinates with the URI. ### setURI ```java void com.datalogics.PDFL.URIAction.setURI(String arg0) ``` **Parameters** - `arg0` (`String`) **Returns:** `void` Set the URI string for this action. ### toString ```java String com.datalogics.PDFL.Action.toString() ``` **Returns:** `String` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # ViewDestination Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination ```java class ViewDestination ``` **Namespace:** `com::datalogics::PDFL` ## Description Represents a particular view of a page in a document. A destination describes a place in the PDF document where the user will be taken in response to clicking a hyperlink. The destination defines where a bookmark or hyperlink points to. The ViewDestination contains a reference to a page, a place (rectangle) on that page, and information specifying how to adjust the view to fit the window's size and shape. **Referenced by:** [`Bookmark`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Bookmark.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md), [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### ViewDestination ```java com.datalogics.PDFL.ViewDestination.ViewDestination(Document doc, int pageNum, String fitType, Rect r, double zoom) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): Containing document - `pageNum` (`int`): Target page number - `fitType` (`String`): Fit Type must be: "XYZ", "Fit", "FitH", "FitV", "FitR", "FitB", "FitBH", or "FitBV". - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): Target rectangle - `zoom` (`double`): Zoom level General purpose constructor: construct with all elements ## Fields ### CViewDestination_NullValue ```java static final double com.datalogics.PDFL.ViewDestination.CViewDestination_NullValue ``` *static* Constant used for "null" values in destination rectangles or zoom. ### NULL_VALUE ```java static final double com.datalogics.PDFL.ViewDestination.NULL_VALUE ``` *static* ### NullValue ```java static final double com.datalogics.PDFL.ViewDestination.NullValue ``` *static* ## Methods ### delete ```java synchronized void com.datalogics.PDFL.ViewDestination.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.ViewDestination.delete() ``` **Returns:** `synchronized void` ### equals ```java boolean com.datalogics.PDFL.ViewDestination.equals(Object rhs) ``` **Parameters** - `rhs` (`Object`) **Returns:** `boolean` ### finalize ```java void com.datalogics.PDFL.ViewDestination.finalize() ``` *protected* **Returns:** `void` ### getDestRect ```java Rect com.datalogics.PDFL.ViewDestination.getDestRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md) The destination rectangle for this view. The destination rectangle. Coordinates with a value of NullValue indicate that the corresponding coordinate is not specified in the destination. ### getFitType ```java String com.datalogics.PDFL.ViewDestination.getFitType() ``` **Returns:** `String` The fit type string for this destination. The fit type describing how the destination page is displayed. The fit type determines how the page content is fitted into the window. Valid fit types are: "XYZ", "Fit", "FitH", "FitV", "FitR", "FitB", "FitBH", and "FitBV". ### getPDFArray ```java PDFArray com.datalogics.PDFL.ViewDestination.getPDFArray() ``` **Returns:** [`PDFArray`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PDFArray.md) The underlying PDF array object for this destination. Retrieve the PDFArray representation of this ViewDestination. ### getPageNumber ```java int com.datalogics.PDFL.ViewDestination.getPageNumber() ``` **Returns:** `int` The zero-based page number for this destination. The page number of the destination. ### getZoom ```java double com.datalogics.PDFL.ViewDestination.getZoom() ``` **Returns:** `double` The zoom factor, or NullValue if not set. The zoom factor for the destination. A value of NullValue indicates that the zoom factor is not specified. ### setDestRect ```java void com.datalogics.PDFL.ViewDestination.setDestRect(Rect ViewDestRect) ``` **Parameters** - `ViewDestRect` ([`Rect`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle defining the visible area of the destination page. **Returns:** `void` Set the destination rectangle of the view. ### setFitType ```java void com.datalogics.PDFL.ViewDestination.setFitType(String ViewDestFitType) ``` **Parameters** - `ViewDestFitType` (`String`): The fit type string. Must be one of: "XYZ", "Fit", "FitH", "FitV", "FitR", "FitB", "FitBH", or "FitBV". **Returns:** `void` Set the fit type for the view. ### setPageNumber ```java void com.datalogics.PDFL.ViewDestination.setPageNumber(int ViewDestPageNum) ``` **Parameters** - `ViewDestPageNum` (`int`): The zero-based page number to set as the destination. **Returns:** `void` Set the page number of the destination starting at 0. ### setZoom ```java void com.datalogics.PDFL.ViewDestination.setZoom(double ViewDestZoomFactor) ``` **Parameters** - `ViewDestZoomFactor` (`double`): The zoom level to apply when navigating to this destination. **Returns:** `void` Set the zoom factor for the destination. ### toString ```java String com.datalogics.PDFL.ViewDestination.toString() ``` **Returns:** `String` A formatted string describing this ViewDestination. Return a string representation of the ViewDestination. The string includes the page number, fit type, destination rectangle, and zoom factor. --- # WatermarkParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkParams ```java class WatermarkParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Watermark settings control the appearance of a watermark in a PDF. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md) ## Constructors ### WatermarkParams ```java com.datalogics.PDFL.WatermarkParams.WatermarkParams() ``` *constructor* Construct default WatermarkParams. Initializes with rotation 0, full page range, opacity 1.0, scale 0.5, zOrderTop true, showOnPrint true, showOnScreen true, centered alignment, and the TryAnnotation draw option. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.WatermarkParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WatermarkParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.WatermarkParams.finalize() ``` *protected* **Returns:** `void` ### getFixedPrint ```java boolean com.datalogics.PDFL.WatermarkParams.getFixedPrint() ``` **Returns:** `boolean` ### getHorizAlign ```java HorizontalAlignment com.datalogics.PDFL.WatermarkParams.getHorizAlign() ``` **Returns:** `HorizontalAlignment` Get the horizontal alignment to be used when adding the watermark to a page. Defaults to center alignment. ### getHorizValue ```java float com.datalogics.PDFL.WatermarkParams.getHorizValue() ``` **Returns:** `float` ### getOpacity ```java float com.datalogics.PDFL.WatermarkParams.getOpacity() ``` **Returns:** `float` ### getPercentageVals ```java boolean com.datalogics.PDFL.WatermarkParams.getPercentageVals() ``` **Returns:** `boolean` ### getRotation ```java float com.datalogics.PDFL.WatermarkParams.getRotation() ``` **Returns:** `float` ### getScale ```java float com.datalogics.PDFL.WatermarkParams.getScale() ``` **Returns:** `float` ### getShowOnPrint ```java boolean com.datalogics.PDFL.WatermarkParams.getShowOnPrint() ``` **Returns:** `boolean` ### getShowOnScreen ```java boolean com.datalogics.PDFL.WatermarkParams.getShowOnScreen() ``` **Returns:** `boolean` ### getTargetRange ```java PageRange com.datalogics.PDFL.WatermarkParams.getTargetRange() ``` **Returns:** [`PageRange`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/PageRange.md) The page range of the document to which the watermark should be added. Defaults to all pages. ### getVertAlign ```java VerticalAlignment com.datalogics.PDFL.WatermarkParams.getVertAlign() ``` **Returns:** `VerticalAlignment` Get the vertical alignment to be used when adding the watermark to a page. Defaults to center alignment. ### getVertValue ```java float com.datalogics.PDFL.WatermarkParams.getVertValue() ``` **Returns:** `float` ### getWatermarkDrawOption ```java WatermarkDrawOption com.datalogics.PDFL.WatermarkParams.getWatermarkDrawOption() ``` **Returns:** `WatermarkDrawOption` Get the draw option to be used when adding the watermark to a page. Controls whether the watermark is drawn as an annotation or form XObject. ### getZOrderTop ```java boolean com.datalogics.PDFL.WatermarkParams.getZOrderTop() ``` **Returns:** `boolean` ### setFixedPrint ```java void com.datalogics.PDFL.WatermarkParams.setFixedPrint(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setHorizAlign ```java void com.datalogics.PDFL.WatermarkParams.setHorizAlign(HorizontalAlignment h) ``` **Parameters** - `h` (`HorizontalAlignment`): The horizontal alignment value. **Returns:** `void` Set the horizontal alignment to be used when adding the watermark to a page. ### setHorizValue ```java void com.datalogics.PDFL.WatermarkParams.setHorizValue(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setOpacity ```java void com.datalogics.PDFL.WatermarkParams.setOpacity(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setPercentageVals ```java void com.datalogics.PDFL.WatermarkParams.setPercentageVals(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setRotation ```java void com.datalogics.PDFL.WatermarkParams.setRotation(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setScale ```java void com.datalogics.PDFL.WatermarkParams.setScale(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setShowOnPrint ```java void com.datalogics.PDFL.WatermarkParams.setShowOnPrint(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setShowOnScreen ```java void com.datalogics.PDFL.WatermarkParams.setShowOnScreen(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` ### setVertAlign ```java void com.datalogics.PDFL.WatermarkParams.setVertAlign(VerticalAlignment v) ``` **Parameters** - `v` (`VerticalAlignment`): The vertical alignment value. **Returns:** `void` Set the vertical alignment to be used when adding the watermark to a page. ### setVertValue ```java void com.datalogics.PDFL.WatermarkParams.setVertValue(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setWatermarkDrawOption ```java void com.datalogics.PDFL.WatermarkParams.setWatermarkDrawOption(WatermarkDrawOption drawoption) ``` **Parameters** - `drawoption` (`WatermarkDrawOption`): The watermark draw option. **Returns:** `void` Set the draw option to be used when adding the watermark to a page. Controls whether the watermark is drawn as an annotation or form XObject. ### setZOrderTop ```java void com.datalogics.PDFL.WatermarkParams.setZOrderTop(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` --- # WatermarkTextParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WatermarkTextParams ```java class WatermarkTextParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Watermark settings to control the appearance of text in a text-based watermark. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md), [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) ## Constructors ### WatermarkTextParams ```java com.datalogics.PDFL.WatermarkTextParams.WatermarkTextParams() ``` *constructor* Creates a new WatermarkTextParams with default settings. The default font is CourierStd, font size is 24.0, color is DeviceGray black, and text alignment is left-aligned. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.WatermarkTextParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WatermarkTextParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.WatermarkTextParams.finalize() ``` *protected* **Returns:** `void` ### getColor ```java Color com.datalogics.PDFL.WatermarkTextParams.getColor() ``` **Returns:** [`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md) The Color of the watermark text. Gets the color to be used when generating a text-based watermark. ### getFont ```java Font com.datalogics.PDFL.WatermarkTextParams.getFont() ``` **Returns:** [`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md) The Font used for the watermark text. Gets the Font to be used when generating a text-based watermark. ### getFontSize ```java float com.datalogics.PDFL.WatermarkTextParams.getFontSize() ``` **Returns:** `float` ### getText ```java String com.datalogics.PDFL.WatermarkTextParams.getText() ``` **Returns:** `String` The watermark text string. Gets the text to be used when generating a text-based watermark. ### getTextAlign ```java HorizontalAlignment com.datalogics.PDFL.WatermarkTextParams.getTextAlign() ``` **Returns:** `HorizontalAlignment` The horizontal alignment for the watermark text. Gets the alignment to be used when justifying a text-based watermark. ### setColor ```java void com.datalogics.PDFL.WatermarkTextParams.setColor(Color color) ``` **Parameters** - `color` ([`Color`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Color.md)): The Color to use for the watermark text. **Returns:** `void` Sets the color to be used when generating a text-based watermark. ### setFont ```java void com.datalogics.PDFL.WatermarkTextParams.setFont(Font font) ``` **Parameters** - `font` ([`Font`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Font.md)): The Font to use for the watermark text. **Returns:** `void` Sets the Font to be used when generating a text-based watermark. ### setFontSize ```java void com.datalogics.PDFL.WatermarkTextParams.setFontSize(float value) ``` **Parameters** - `value` (`float`) **Returns:** `void` ### setText ```java void com.datalogics.PDFL.WatermarkTextParams.setText(String arg0) ``` **Parameters** - `arg0` (`String`) **Returns:** `void` Sets the text to be used when generating a text-based watermark. ### setTextAlign ```java void com.datalogics.PDFL.WatermarkTextParams.setTextAlign(HorizontalAlignment h) ``` **Parameters** - `h` (`HorizontalAlignment`): The horizontal alignment for the watermark text. **Returns:** `void` Sets the alignment to be used when justifying a text-based watermark. --- # Word Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word ```java class Word ``` **Namespace:** `com::datalogics::PDFL` ## Description A word in a PDF file. Each word contains a sequence of characters in one or more styles (see Style). **Referenced by:** [`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordProc.md), [`WordVector`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordVector.md) **Uses types:** [`Quad`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md), [`StyleTransition`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md) ## Methods ### delete ```java synchronized void com.datalogics.PDFL.Word.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.Word.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.Word.finalize() ``` *protected* **Returns:** `void` ### getAttributes ```java java.util.EnumSet< WordAttributeFlags > com.datalogics.PDFL.Word.getAttributes() ``` **Returns:** `java.util.EnumSet< WordAttributeFlags >` A set of WordAttributeFlags containing information on the types of characters in the word. Gets a set of summary flags containing information on the types of characters in a word. ### getCharQuads ```java java.util.List< Quad > com.datalogics.PDFL.Word.getCharQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list containing the Quads found in the word, one for each individual character. Gets a list of Quads occupied by the individual characters in a word. ### getIsLastWordInRegion ```java boolean com.datalogics.PDFL.Word.getIsLastWordInRegion() ``` **Returns:** `boolean` true if the word is the last word in a region, false if it is not. Specifies whether this word is the last word in a region as determined by the WordFinder. This can be useful for determining visual line breaks in tagged PDFs. In tagged PDF documents, WordAttributeFlags.LastWordOnLine is set according to the tags in the document, so that flag cannot be used to determine visual line breaks. ### getQuads ```java java.util.List< Quad > com.datalogics.PDFL.Word.getQuads() ``` **Returns:** [`java.util.List< Quad >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Quad.md) A list containing the Quads found in the word. Gets the specified word's quads, specified in user space coordinates. The quad's height is the height of the font's bounding box, not the height of the tallest character used in the word. The font's bounding box is determined by the glyphs in the font that extend farthest above and below the baseline; it often extends somewhat above the top of 'A' and below the bottom of 'y'. The quad's width is determined from the characters actually present in the word. For example, the quads for the words "AWAY" and "away" have the same height, but generally do not have the same width unless the font is a mono-spaced font (a font in which all characters have the same width). Despite the names of the fields in an Quad (TopLeft for top left, BottomLeft for bottom left, and so forth) the corners of Quad do not necessarily have these positions. ### getStyleTransitions ```java java.util.List< StyleTransition > com.datalogics.PDFL.Word.getStyleTransitions() ``` **Returns:** [`java.util.List< StyleTransition >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/StyleTransition.md) The list of StyleTransition objects. Gets a list of style transitions for the word. Every word has at least one style transition, at character position zero in the word. ### getText ```java String com.datalogics.PDFL.Word.getText() ``` **Returns:** `String` The text of the Word. Gets a word's text, converting ligatures to their constituent characters. The string to return includes any word break characters (such as space characters) that follow the word, but not any that precede the word. --- # WordFinder Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder ```java class WordFinder ``` **Namespace:** `com::datalogics::PDFL` ## Description A class used to extract words from a document. **Referenced by:** [`WordProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordProc.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md), [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md), [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig.md), [`WordProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordProc.md) ## Constructors ### WordFinder ```java com.datalogics.PDFL.WordFinder.WordFinder(Document doc, WordFinderVersion algVersion, WordFinderConfig wbConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md)): document in which to find words - `algVersion` (`WordFinderVersion`): algorithm version to use - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): configuration for this word finder Create a word finder ## Methods ### delete ```java synchronized void com.datalogics.PDFL.WordFinder.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WordFinder.delete() ``` **Returns:** `synchronized void` ### enumWords ```java boolean com.datalogics.PDFL.WordFinder.enumWords(int pageNum, WordProc wordProc) ``` **Parameters** - `pageNum` (`int`): The page number from which to extract words. Pass AllPages to sequentially process all pages in the document. - `wordProc` ([`WordProc`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordProc.md)): A user-supplied callback to call once for each word found. Enumeration halts if wordProc returns false. **Returns:** `boolean` true if enumeration was successfully completed, false if enumeration was terminated because wordProc returned false. Extracts words, one at a time, from the specified page or the entire document. It calls a user-supplied procedure once for each word found. Only words within or partially within the page's crop box (see Page.CropBox) are enumerated. Words outside the crop box are skipped. Word objects passed to wordProc become invalid once the call to EnumWords returns, or if the page number changes between calls to the WordProc. ### finalize ```java void com.datalogics.PDFL.WordFinder.finalize() ``` *protected* **Returns:** `void` ### getVisibleWordList ```java java.util.List< Word > com.datalogics.PDFL.WordFinder.getVisibleWordList(int pageNum) ``` **Parameters** - `pageNum` (`int`): the page number for which to get the list of words. **Returns:** [`java.util.List< Word >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) a list of x, y sorted words on the specified page. Finds all Visible words on the specified page and returns a list containing the words. The words are sorted by their x- and y-coordinates on the page. ### getWordList ```java java.util.List< Word > com.datalogics.PDFL.WordFinder.getWordList(int pageNum) ``` **Parameters** - `pageNum` (`int`): the page number for which to get the list of words. **Returns:** [`java.util.List< Word >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) a list of x, y sorted words on the specified page. Finds all words on the specified page and returns a list containing the words. The words are sorted by their x- and y-coordinates on the page. --- # WordFinderConfig Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinderConfig ```java class WordFinderConfig ``` **Namespace:** `com::datalogics::PDFL` ## Description A word finder configuration that customizes the way the extraction is performed.In the default configuration, all options are false. **Referenced by:** [`DocTextFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md) ## Constructors ### WordFinderConfig ```java com.datalogics.PDFL.WordFinderConfig.WordFinderConfig() ``` *constructor* A word finder configuration that customizes the way the extraction is performed.In the default configuration, all options are false. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.WordFinderConfig.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WordFinderConfig.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.WordFinderConfig.finalize() ``` *protected* **Returns:** `void` ### getDisableCharReordering ```java boolean com.datalogics.PDFL.WordFinderConfig.getDisableCharReordering() ``` **Returns:** `boolean` When true, it disables reconstructing the character orders, and the word finding algorithm is applied to the characters in the drawing order. By default, word finder reorders characters on a single line by the relative horizontal character locations. Most of the time, the character reordering feature improves the text extraction quality. However, on a PDF page with heavily overlapped character bounding boxes, the outcome becomes somewhat unpredictable. In such case, disabling the character reordering (disableCharReordering = true) may produce a more static result. ### getDisableTaggedPDF ```java boolean com.datalogics.PDFL.WordFinderConfig.getDisableTaggedPDF() ``` **Returns:** `boolean` When true, it disables tagged PDF support and treats the document as non-tagged PDF. Use this to keep the word finder in legacy mode when it is created with the latest algorithm version. ### getIgnoreCharGaps ```java boolean com.datalogics.PDFL.WordFinderConfig.getIgnoreCharGaps() ``` **Returns:** `boolean` When true, it disables converting large character gaps to space characters, so that the word finder reports a character space only when a space character appears in the original PDF content. This option has no effect on tagged PDF. ### getIgnoreLineGaps ```java boolean com.datalogics.PDFL.WordFinderConfig.getIgnoreLineGaps() ``` **Returns:** `boolean` When true, it disables treating vertical movements as line breaks, so that the word finder determines a line break only when a line break character or special tag information appears in the original PDF content. This option has no effect on tagged PDF. ### getNoAnnots ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoAnnots() ``` **Returns:** `boolean` When true, it disables extracting text from text annotations. Normally, the word finder extracts text from the normal appearances of text annotations that are inside the page crop box. ### getNoEncodingGuess ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoEncodingGuess() ``` **Returns:** `boolean` When true, it disables guessing encoding of fonts that have unknown or custom encoding when there is no ToUnicode table. Inappropriate encoding conversions can cause the word finder to mistakenly recognize non-Roman single-byte fonts as Standard Roman encoding fonts and extract the text in an unusable format. When this option is selected, the word finder avoids such unreliable encoding conversions and tries to provide the original characters without any encoding conversion for a client with its own encoding handling. ### getNoExtCharOffset ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoExtCharOffset() ``` **Returns:** `boolean` When true, it disables generating extended character offset information to improve text extraction performance. The extended character offset information is necessary to determine exact character offset for character-by-character text selection. The beginning character offset of each word is always available regardless of this option, and can be used for word-by-word text selection with reasonable accuracy. When a client has no need for the detailed character offset information, it can use this option to improve the text extraction efficiency. There is a minor difference in the text extraction performance, and less memory is needed for the extracted word list. ### getNoHyphenDetection ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoHyphenDetection() ``` **Returns:** `boolean` When true, it disables finding and removing soft hyphens in non-tagged PDF, so that the word finder trusts hard hyphens as non-soft hyphens. This option has no effect on tagged PDF files. Normally, the word finder does not differentiate between soft and hard hyphen characters in non-tagged PDF files, because these are often misused. ### getNoLigatureExp ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoLigatureExp() ``` **Returns:** `boolean` When true, it disables the expansion of ligatures using the default ligatures. The default ligatures are: fi ff fl ffi ffl ch cl ct ll ss fs st oe OE ### getNoSkewedQuads ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoSkewedQuads() ``` **Returns:** `boolean` When true, it disables the creation of a quad per character for skewed words, words with a horizontally-aligned, but non-rectangular, bounding region. Each skewed word will, instead, be associated with a single rectangular, bounding region. ### getNoStyleInfo ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoStyleInfo() ``` **Returns:** `boolean` When true, it disables generating character style information to improve text extraction performance and memory efficiency. When you select this option, you cannot access the the StyleTransition property of Word objects returned from WordFinder. ### getNoTextRenderMode3 ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoTextRenderMode3() ``` **Returns:** `boolean` When true, it disables extracting text with Text Rendering mode Tr = 3 ("Neither fill nor stroke text (invisible)."). Normally, the word finder extracts such text as any other. ### getNoXYSort ```java boolean com.datalogics.PDFL.WordFinderConfig.getNoXYSort() ``` **Returns:** `boolean` When true, it disables generating an XY-ordered word list. ### getPreciseQuad ```java boolean com.datalogics.PDFL.WordFinderConfig.getPreciseQuad() ``` **Returns:** `boolean` When true, the bounding box or bounding quad will be set based on actual glyph bounding box. ### getPreserveRedundantChars ```java boolean com.datalogics.PDFL.WordFinderConfig.getPreserveRedundantChars() ``` **Returns:** `boolean` When true, it disables detecting and removing redundant characters. Some PDF pages have the same text drawn multiple times on the same spot to get a special visual effect. Normally, those redundant characters are removed from the word finder output. Since this option may leave extra characters with overlapping bounding boxes, using it together with the disableCharReordering option is recommended for more consistent text extraction results. ### getPreserveSpaces ```java boolean com.datalogics.PDFL.WordFinderConfig.getPreserveSpaces() ``` **Returns:** `boolean` When true, the word finder preserves space characters during word breaking. Otherwise, spaces are removed from output text. When false (the default), you can add spaces later by considering the WordAttributeFlags.AdjacentToSpace attribute, but there is no way to restore the exact number of consecutive space characters. ### getTrustNBSpace ```java boolean com.datalogics.PDFL.WordFinderConfig.getTrustNBSpace() ``` **Returns:** `boolean` When true, it disables treating non-breaking space characters as regular space characters in non-tagged PDF files, so that the word finder preserves the space without breaking the word. This option has no effect on tagged PDF files. Normally, the word finder does not differentiate between breaking and non-breaking space characters in non-tagged PDF files, because these are often misused. ### getUnknownToStdEnc ```java boolean com.datalogics.PDFL.WordFinderConfig.getUnknownToStdEnc() ``` **Returns:** `boolean` When true, it assumes any font with unknown or custom encoding to be Standard Roman. This option overrides the noEncodingGuess option. ### setDisableCharReordering ```java void com.datalogics.PDFL.WordFinderConfig.setDisableCharReordering(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables reconstructing the character orders, and the word finding algorithm is applied to the characters in the drawing order. By default, word finder reorders characters on a single line by the relative horizontal character locations. Most of the time, the character reordering feature improves the text extraction quality. However, on a PDF page with heavily overlapped character bounding boxes, the outcome becomes somewhat unpredictable. In such case, disabling the character reordering (disableCharReordering = true) may produce a more static result. ### setDisableTaggedPDF ```java void com.datalogics.PDFL.WordFinderConfig.setDisableTaggedPDF(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables tagged PDF support and treats the document as non-tagged PDF. Use this to keep the word finder in legacy mode when it is created with the latest algorithm version. ### setIgnoreCharGaps ```java void com.datalogics.PDFL.WordFinderConfig.setIgnoreCharGaps(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables converting large character gaps to space characters, so that the word finder reports a character space only when a space character appears in the original PDF content. This option has no effect on tagged PDF. ### setIgnoreLineGaps ```java void com.datalogics.PDFL.WordFinderConfig.setIgnoreLineGaps(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables treating vertical movements as line breaks, so that the word finder determines a line break only when a line break character or special tag information appears in the original PDF content. This option has no effect on tagged PDF. ### setNoAnnots ```java void com.datalogics.PDFL.WordFinderConfig.setNoAnnots(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables extracting text from text annotations. Normally, the word finder extracts text from the normal appearances of text annotations that are inside the page crop box. ### setNoEncodingGuess ```java void com.datalogics.PDFL.WordFinderConfig.setNoEncodingGuess(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables guessing encoding of fonts that have unknown or custom encoding when there is no ToUnicode table. Inappropriate encoding conversions can cause the word finder to mistakenly recognize non-Roman single-byte fonts as Standard Roman encoding fonts and extract the text in an unusable format. When this option is selected, the word finder avoids such unreliable encoding conversions and tries to provide the original characters without any encoding conversion for a client with its own encoding handling. ### setNoExtCharOffset ```java void com.datalogics.PDFL.WordFinderConfig.setNoExtCharOffset(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables generating extended character offset information to improve text extraction performance. The extended character offset information is necessary to determine exact character offset for character-by-character text selection. The beginning character offset of each word is always available regardless of this option, and can be used for word-by-word text selection with reasonable accuracy. When a client has no need for the detailed character offset information, it can use this option to improve the text extraction efficiency. There is a minor difference in the text extraction performance, and less memory is needed for the extracted word list. ### setNoHyphenDetection ```java void com.datalogics.PDFL.WordFinderConfig.setNoHyphenDetection(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables finding and removing soft hyphens in non-tagged PDF, so that the word finder trusts hard hyphens as non-soft hyphens. This option has no effect on tagged PDF files. Normally, the word finder does not differentiate between soft and hard hyphen characters in non-tagged PDF files, because these are often misused. ### setNoLigatureExp ```java void com.datalogics.PDFL.WordFinderConfig.setNoLigatureExp(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables the expansion of ligatures using the default ligatures. The default ligatures are: fi ff fl ffi ffl ch cl ct ll ss fs st oe OE ### setNoSkewedQuads ```java void com.datalogics.PDFL.WordFinderConfig.setNoSkewedQuads(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables the creation of a quad per character for skewed words, words with a horizontally-aligned, but non-rectangular, bounding region. Each skewed word will, instead, be associated with a single rectangular, bounding region. ### setNoStyleInfo ```java void com.datalogics.PDFL.WordFinderConfig.setNoStyleInfo(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables generating character style information to improve text extraction performance and memory efficiency. When you select this option, you cannot access the the StyleTransition property of Word objects returned from WordFinder. ### setNoTextRenderMode3 ```java void com.datalogics.PDFL.WordFinderConfig.setNoTextRenderMode3(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables extracting text with Text Rendering mode Tr = 3 ("Neither fill nor stroke text (invisible)."). Normally, the word finder extracts such text as any other. ### setNoXYSort ```java void com.datalogics.PDFL.WordFinderConfig.setNoXYSort(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables generating an XY-ordered word list. ### setPreciseQuad ```java void com.datalogics.PDFL.WordFinderConfig.setPreciseQuad(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, the bounding box or bounding quad will be set based on actual glyph bounding box. ### setPreserveRedundantChars ```java void com.datalogics.PDFL.WordFinderConfig.setPreserveRedundantChars(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables detecting and removing redundant characters. Some PDF pages have the same text drawn multiple times on the same spot to get a special visual effect. Normally, those redundant characters are removed from the word finder output. Since this option may leave extra characters with overlapping bounding boxes, using it together with the disableCharReordering option is recommended for more consistent text extraction results. ### setPreserveSpaces ```java void com.datalogics.PDFL.WordFinderConfig.setPreserveSpaces(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, the word finder preserves space characters during word breaking. Otherwise, spaces are removed from output text. When false (the default), you can add spaces later by considering the WordAttributeFlags.AdjacentToSpace attribute, but there is no way to restore the exact number of consecutive space characters. ### setTrustNBSpace ```java void com.datalogics.PDFL.WordFinderConfig.setTrustNBSpace(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it disables treating non-breaking space characters as regular space characters in non-tagged PDF files, so that the word finder preserves the space without breaking the word. This option has no effect on tagged PDF files. Normally, the word finder does not differentiate between breaking and non-breaking space characters in non-tagged PDF files, because these are often misused. ### setUnknownToStdEnc ```java void com.datalogics.PDFL.WordFinderConfig.setUnknownToStdEnc(boolean value) ``` **Parameters** - `value` (`boolean`) **Returns:** `void` When true, it assumes any font with unknown or custom encoding to be Standard Roman. This option overrides the noEncodingGuess option. --- # WordProc Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordProc ```java class WordProc ``` **Namespace:** `com::datalogics::PDFL` ## Description Callback function class for EnumWords. A user-supplied callback that is called once for each word found by the EnumWords method. WordFinder looks for words on a page, and keeps calling WordProc until it runs out of words in its search. Then, WordProc returns "false" as a parameter, and the process ends. **Referenced by:** [`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md) **Uses types:** [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md) ## Constructors ### WordProc ```java com.datalogics.PDFL.WordProc.WordProc() ``` *constructor* Callback function class for EnumWords. A user-supplied callback that is called once for each word found by the EnumWords method. WordFinder looks for words on a page, and keeps calling WordProc until it runs out of words in its search. Then, WordProc returns "false" as a parameter, and the process ends. ## Methods ### Call ```java boolean com.datalogics.PDFL.WordProc.Call(WordFinder wordFinder, Word wInfo, int pgNum) ``` **Parameters** - `wordFinder` ([`WordFinder`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordFinder.md)) - `wInfo` ([`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md)) - `pgNum` (`int`) **Returns:** `boolean` ### delete ```java synchronized void com.datalogics.PDFL.WordProc.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WordProc.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.WordProc.finalize() ``` *protected* **Returns:** `void` --- # WordVector Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/WordVector ```java class WordVector ``` **Namespace:** `com::datalogics::PDFL` **Uses types:** [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) ## Constructors ### WordVector ```java com.datalogics.PDFL.WordVector.WordVector() ``` *constructor* ### WordVector ```java com.datalogics.PDFL.WordVector.WordVector(Iterable< Word > iter) ``` *constructor* **Parameters** - `iter` ([`Iterable< Word >`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md)) ## Methods ### add ```java void com.datalogics.PDFL.WordVector.add(Word x) ``` **Parameters** - `x` ([`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md)) **Returns:** `void` ### capacity ```java long com.datalogics.PDFL.WordVector.capacity() ``` **Returns:** `long` ### clear ```java void com.datalogics.PDFL.WordVector.clear() ``` **Returns:** `void` ### delete ```java synchronized void com.datalogics.PDFL.WordVector.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.WordVector.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.WordVector.finalize() ``` *protected* **Returns:** `void` ### get ```java Word com.datalogics.PDFL.WordVector.get(int i) ``` **Parameters** - `i` (`int`) **Returns:** [`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md) ### isEmpty ```java boolean com.datalogics.PDFL.WordVector.isEmpty() ``` **Returns:** `boolean` ### set ```java void com.datalogics.PDFL.WordVector.set(int i, Word val) ``` **Parameters** - `i` (`int`) - `val` ([`Word`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Word.md)) **Returns:** `void` ### size ```java long com.datalogics.PDFL.WordVector.size() ``` **Returns:** `long` --- # XPSConvertParams Class Source: https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/XPSConvertParams ```java class XPSConvertParams ``` **Namespace:** `com::datalogics::PDFL` ## Description Class that works with XPS conversion parameters. The XML Paper Specification (XPS) is a standard document format that Microsoft created in 2006 as an alternative to the PDF format. The XPS format is intended to be a simple but secure file format, without embedded images or video clips, and easy to share and print. NOTE: This class is only available on Windows or Linux. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/Java/APDFL18.0.5PlusP2e/class/Document.md) ## Constructors ### XPSConvertParams ```java com.datalogics.PDFL.XPSConvertParams.XPSConvertParams() ``` *constructor* Set up default parameters for XPS conversion. ### XPSConvertParams ```java com.datalogics.PDFL.XPSConvertParams.XPSConvertParams(String SettingsFile) ``` *constructor* **Parameters** - `SettingsFile` (`String`): The path to the .joboptions file to use. By default, the Standard.joboptions file located in the Resources directory is used. The default file will be used if the specified file is not found. Set up parameters for XPS conversion. ## Methods ### delete ```java synchronized void com.datalogics.PDFL.XPSConvertParams.delete(Boolean disposing) ``` *protected* **Parameters** - `disposing` (`Boolean`) **Returns:** `synchronized void` ### delete ```java synchronized void com.datalogics.PDFL.XPSConvertParams.delete() ``` **Returns:** `synchronized void` ### finalize ```java void com.datalogics.PDFL.XPSConvertParams.finalize() ``` *protected* **Returns:** `void` ### getPathToSettingsFile ```java String com.datalogics.PDFL.XPSConvertParams.getPathToSettingsFile() ``` **Returns:** `String` The file system path to the .joboptions file. Gets the path to the .joboptions settings file used for XPS conversion. By default, the Standard.joboptions file located in the Resources directory is used. ### setPathToSettingsFile ```java void com.datalogics.PDFL.XPSConvertParams.setPathToSettingsFile(String theSettingsFile) ``` **Parameters** - `theSettingsFile` (`String`): The file system path to the .joboptions file. **Returns:** `void` Sets the path to the .joboptions settings file used for XPS conversion. By default, the Standard.joboptions file located in the Resources directory is used. The default file will be used if the specified file is not found.