# Adobe PDF Library 18 .NET API Reference APDFL18.0.5PlusP2e > The Adobe PDF Library .NET API provides comprehensive PDF document creation and manipulation capabilities. Browse classes, enumerations, and interfaces organized by functional area. - Product: Adobe PDF Library 18 - Language: .NET - Version: APDFL18.0.5PlusP2e - HTML page: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e - Version index: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/llms.txt The Adobe PDF Library .NET 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 Dispose method **must** be called on the Library object before the thread is terminated. A simple way to accomplish this is a **using** statement: ```csharp using (Library lib = new Library()) // your application code that uses PDFL goes here... ``` 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 *LibraryKey* member of the *Library* class can be set to a valid activation key **prior** to instantiating the library. ```csharp Library.LicenseKey = "xxxx-xxxx-xxxx-xxxx"; Library lib = new Library(); ``` --- # AcroFormExportType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormExportType **Namespace:** `Datalogics::PDFL` ## Values - `XFDF = 1`: XFDF (XML Forms Data Format) representing form field data. - `FDF = 2`: FDF (Forms Data Format) representing form field data. - `XML = 3`: XML (Extensible Markup Language) representing form field data. --- # AcroFormImportType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormImportType **Namespace:** `Datalogics::PDFL` ## Values - `XFDF = 1`: XFDF (XML Forms Data Format) representing form field data. - `FDF = 2`: FDF (Forms Data Format) representing form field data. - `XML = 3`: XML (Extensible Markup Language) representing form field data. --- # Action Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action ```csharp class Action : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`URIAction`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`URIAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/URIAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### Action ```csharp Datalogics.PDFL.Action.Action(Document doc, string type) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### PDFDict ```csharp PDFDict Datalogics.PDFL.Action.PDFDict { get; } ``` ### Subtype ```csharp string Datalogics.PDFL.Action.Subtype { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Action.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Action.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Action.ToString() ``` **Returns:** `override string` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # AddPageFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AddPageFlags **Namespace:** `Datalogics::PDFL` ## Description Flags that control how annotations are handled when adding a page to a Content object. ## Values - `AllAnnotations = 1`: Add all annotations when adding the page. --- # AFRelationship Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AFRelationship **Namespace:** `Datalogics::PDFL` ## Description Represents the relationship between the component of the PDF document that refers to this attachment and the file denoted by the attachment ## Values - `Source = 0`: Original source material. - `Data = 1`: Information used to derive a visual presentation, e.g. table or graph. - `Alternative = 2`: Alternative representation of content, e.g. audio. - `Supplement = 3`: Supplemental representation of the original source or data that may be more easily consumable. - `EncryptedPayload = 4`: Encrypted payload document that should be displayed if the Processor has the cryptographic filter needed to decrypt it. - `FormData = 5`: Data associated with the AcroForm. - `Schema = 6`: Schema definition for the associated object. - `Unspecified = 7`: Relationship is not known or can't be described using of the other values. --- # Annotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation ```csharp class Annotation : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Annotation ```csharp Datalogics.PDFL.Annotation.Annotation(Page page, string subtype, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Annotation.Annotation(Page page, string subtype, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp virtual Form Datalogics.PDFL.Annotation.GenerateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # AnnotationFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags **Namespace:** `Datalogics::PDFL` ## Description Bitfield flags that control the display and behavior of annotations. These flags are defined in the PDF specification (Table 165) and can be combined to control annotation visibility, printing, rotation, and interactivity. ## Values - `Invisible = 0x01`: If there is no annotation handler, the annotation is invisible. - `Hidden = 0x02`: The annotation is not visible and does not print. - `Print = 0x04`: The annotation prints. - `NoZoom = 0x08`: The annotation does not zoom with the view. - `NoRotate = 0x10`: The annotation does not rotate with the page. - `NoView = 0x20`: The annotation does not view but can print. - `ReadOnly = 0x40`: The annotation does not interact with the user. - `Lock = 0x80`: The annotation does not move or resize with the view. Only form fields respect this flag. If the annotation is locked, the user cannot delete, move or change its associated form field's properties. - `ToggleNoView = 0x100`: A mouse-over or selection causes the noView bit to toggle. - `LockContents = 0x200`: If the annotation is content-locked, the user can not change its content key. --- # AxialShadingPattern Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern ```csharp class AxialShadingPattern : ShadingPattern ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md) **Uses types:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### AxialShadingPattern ```csharp Datalogics.PDFL.AxialShadingPattern.AxialShadingPattern(ColorSpace colorSpace, System.Collections.Generic.IList< Point > coords, System.Collections.Generic.IList< Function > function) ``` *constructor* **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The color space for the pattern. - `coords` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The coordinates of the two endpoints of the axial shading. - `function` ([`System.Collections.Generic.IList< Function >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AntiAlias ```csharp bool Datalogics.PDFL.ShadingPattern.AntiAlias { get; set; } ``` ### BackgroundColor ```csharp Color Datalogics.PDFL.ShadingPattern.BackgroundColor { get; set; } ``` ### BoundingBox ```csharp Rect Datalogics.PDFL.ShadingPattern.BoundingBox { get; set; } ``` ### ColorSpace ```csharp ColorSpace Datalogics.PDFL.ShadingPattern.ColorSpace { get; set; } ``` ### Coords ```csharp System.Collections.Generic.IList Datalogics.PDFL.AxialShadingPattern.Coords { get; set; } ``` ### Domain ```csharp System.Collections.Generic.IList Datalogics.PDFL.AxialShadingPattern.Domain { get; set; } ``` ### Extend ```csharp System.Collections.Generic.IList Datalogics.PDFL.AxialShadingPattern.Extend { get; set; } ``` ### Function ```csharp System.Collections.Generic.IList Datalogics.PDFL.AxialShadingPattern.Function { get; set; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.Pattern.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Pattern.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.AxialShadingPattern.ToString() ``` **Returns:** `override 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. --- # BlendMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/BlendMode **Namespace:** `Datalogics::PDFL` ## Description The blend mode used for painting objects. ## Values - `Compatible = 0`: No longer needed but still recognized; equivalent to the Normal blend mode. - `Normal = 1`: Selects the source color, or the color in the graphics object, and ignores the backdrop. - `Multiply = 2`: Multiplies the source color and the backdrop color. This means that the color will always be at least as dark as the constituent colors. If either the source object or the backdrop is black, the color will be black. - `Screen = 3`: Multiplies the complements of the source color and the backdrop, and then complements the result. The result is always as light as either of the constituent colors. - `Difference = 4`: Subtracts the darker of the two constituent colors from the lighter color. - `Darken = 5`: Selects the darker of the backdrop or source colors. - `Lighten = 6`: Selects the lighter of the backdrop or source colors. - `ColorDodge = 7`: Brighten the backdrop color to reflect the source color. - `ColorBurn = 8`: Darken the backdrop color to reflect the source color. - `Exclusion = 9`: Similar to the Difference mode, but lower in contrast. - `HardLight = 10`: Multiplies or screens the colors, depending on the source color value. - `Overlay = 11`: Multiplies or screens the colors, depending on the backdrop color value. Source colors overlay the backdrop while preserving highlights and shadows. The backdrop color is mixed with the source color to reflect the lightness or darkness of the backdrop. - `SoftLight = 12`: Darkens or lightens the colors, depending on the source color value. - `Luminosity = 13`: Creates a color with the luminosity of the source color and the hue and saturation of the backdrop color. - `Hue = 14`: Creates a color with the hue of the source color and the saturation and luminosity of the background color. - `Saturation = 15`: Creates a color with the saturation of the source color and the hue and luminosity of the backdrop color. - `Color = 16`: Creates a color with the hue and saturation of the source color and the luminosity of the backdrop color. - `Unknown = 17`: The blend mode is not recognized or could not be determined. --- # Bookmark Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark ```csharp class Bookmark : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`BookmarkFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/BookmarkFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Properties ### Action ```csharp Action Datalogics.PDFL.Bookmark.Action { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Bookmark.Color { get; set; } ``` ### Count ```csharp int Datalogics.PDFL.Bookmark.Count { get; } ``` ### FirstChild ```csharp Bookmark Datalogics.PDFL.Bookmark.FirstChild { get; } ``` ### Flags ```csharp BookmarkFlags Datalogics.PDFL.Bookmark.Flags { get; set; } ``` ### Indent ```csharp int Datalogics.PDFL.Bookmark.Indent { get; } ``` ### LastChild ```csharp Bookmark Datalogics.PDFL.Bookmark.LastChild { get; } ``` ### Next ```csharp Bookmark Datalogics.PDFL.Bookmark.Next { get; } ``` ### Open ```csharp bool Datalogics.PDFL.Bookmark.Open { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Bookmark.PDFDict { get; } ``` ### Parent ```csharp Bookmark Datalogics.PDFL.Bookmark.Parent { get; } ``` ### Previous ```csharp Bookmark Datalogics.PDFL.Bookmark.Previous { get; } ``` ### Title ```csharp string Datalogics.PDFL.Bookmark.Title { get; set; } ``` ### ViewDestination ```csharp ViewDestination Datalogics.PDFL.Bookmark.ViewDestination { get; } ``` ## Methods ### AddChild ```csharp void Datalogics.PDFL.Bookmark.AddChild(Bookmark child) ``` **Parameters** - `child` ([`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Bookmark.AddNextSibling(Bookmark NewRightSibling) ``` **Parameters** - `NewRightSibling` ([`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Bookmark.AddPreviousSibling(Bookmark NewLeftSibling) ``` **Parameters** - `NewLeftSibling` ([`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Bookmark.AddSubtree(Bookmark subtree, string title) ``` **Parameters** - `subtree` ([`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Bookmark Datalogics.PDFL.Bookmark.CreateNewChild(Page page, string title) ``` **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Bookmark Datalogics.PDFL.Bookmark.CreateNewChild(string title) ``` **Parameters** - `title` (`string`): The initial text of the new child bookmark. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Bookmark Datalogics.PDFL.Bookmark.CreateNewSibling(string title) ``` **Parameters** - `title` (`string`): The initial text for the new right sibling. **Returns:** [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Destroy ```csharp void Datalogics.PDFL.Bookmark.Destroy() ``` **Returns:** `void` Removes a bookmark subtree from the bookmark tree containing it. ### Dispose ```csharp void Datalogics.PDFL.Bookmark.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Bookmark.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### FindDescendentBookmark ```csharp Bookmark 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/DotNet/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 ```csharp Bookmark 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/DotNet/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.) ### HasChildren ```csharp bool Datalogics.PDFL.Bookmark.HasChildren() ``` **Returns:** `bool` true if the bookmark has children. Does the bookmark have children? ### IsOpen ```csharp bool Datalogics.PDFL.Bookmark.IsOpen() ``` **Returns:** `bool` true if the bookmark is open. Is the bookmark open? ### ToString ```csharp override string Datalogics.PDFL.Bookmark.ToString() ``` **Returns:** `override 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 ```csharp void Datalogics.PDFL.Bookmark.Unlink() ``` **Returns:** `void` Unlinks the bookmark from the bookmark tree that contains it and adjusts the tree appropriately. --- # BookmarkFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/BookmarkFlags **Namespace:** `Datalogics::PDFL` ## Description Flags describing the visual style of a bookmark's title text. ## Values - `Bold = 2`: The bookmark title is displayed in bold. - `Italic = 1`: The bookmark title is displayed in italic. --- # CalGrayColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace ```csharp class CalGrayColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md) **Uses types:** [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### CalGrayColorSpace ```csharp Datalogics.PDFL.CalGrayColorSpace.CalGrayColorSpace(System.Collections.Generic.IList< System.Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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 ```csharp Datalogics.PDFL.CalGrayColorSpace.CalGrayColorSpace(System.Collections.Generic.IList< System.Double > whitePoint, System.Collections.Generic.IList< System.Double > blackPoint, double gamma) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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. ## Properties ### BlackPoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalGrayColorSpace.BlackPoint { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Gamma ```csharp double Datalogics.PDFL.CalGrayColorSpace.Gamma { get; } ``` ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ### WhitePoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalGrayColorSpace.WhitePoint { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # CalRGBColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace ```csharp class CalRGBColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md) **Uses types:** [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### CalRGBColorSpace ```csharp Datalogics.PDFL.CalRGBColorSpace.CalRGBColorSpace(System.Collections.Generic.IList< System.Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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 ```csharp Datalogics.PDFL.CalRGBColorSpace.CalRGBColorSpace(System.Collections.Generic.IList< System.Double > whitePoint, System.Collections.Generic.IList< System.Double > blackPoint, System.Collections.Generic.IList< System.Double > gamma, System.Collections.Generic.IList< System.Double > matrix) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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. ## Properties ### BlackPoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalRGBColorSpace.BlackPoint { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Gamma ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalRGBColorSpace.Gamma { get; } ``` ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Matrix ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalRGBColorSpace.Matrix { get; } ``` ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ### WhitePoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.CalRGBColorSpace.WhitePoint { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # CancelProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc ```csharp class CancelProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md) **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md) ## Constructors ### CancelProc ```csharp 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 ```csharp virtual bool Datalogics.PDFL.CancelProc.Call() ``` **Returns:** `bool` ### Dispose ```csharp void Datalogics.PDFL.CancelProc.Dispose() ``` **Returns:** `void` --- # CircleAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation ```csharp class CircleAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### CircleAnnotation ```csharp Datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the CircleAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.CircleAnnotation.CircleAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.CircleAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.CircleAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.CircleAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.CircleAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/Clip ```csharp class Clip : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md) ## Constructors ### Clip ```csharp 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 ```csharp void Datalogics.PDFL.Clip.AddElement(Element element) ``` **Parameters** - `element` ([`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Clip.AddElement(Element element, int addAfterIndex) ``` **Parameters** - `element` ([`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Clip Datalogics.PDFL.Clip.Clone() ``` **Returns:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md) A new clip object deep copy Makes a new deep copy of this Clip object in memory. ### Dispose ```csharp void Datalogics.PDFL.Clip.Dispose() ``` **Returns:** `void` ### GetElement ```csharp Element Datalogics.PDFL.Clip.GetElement(int index) ``` **Parameters** - `index` (`int`): The index of the desired Element. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp int 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 ```csharp void 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 ```csharp void 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 ```csharp override string Datalogics.PDFL.Clip.ToString() ``` **Returns:** `override string` --- # ClosePath Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ClosePath ```csharp class ClosePath : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`ClosePath`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ClosePath.md) **Uses types:** [`ClosePath`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ClosePath.md) ## Constructors ### ClosePath ```csharp 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 ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.ClosePath.ToString() ``` **Returns:** `override string` --- # Collection Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Collection ```csharp class Collection : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`Collection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Collection.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Collection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Collection.md), [`CollectionSchema`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchema.md), [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSortItem.md), [`CollectionSplitType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionSplitType.md), [`CollectionViewType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionViewType.md) ## Properties ### Schema ```csharp CollectionSchema Datalogics.PDFL.Collection.Schema { get; } ``` ### Sort ```csharp System.Collections.Generic.IList Datalogics.PDFL.Collection.Sort { get; set; } ``` ## Methods ### ChangeCollectionViewMode ```csharp void Datalogics.PDFL.Collection.ChangeCollectionViewMode(CollectionViewType view, CollectionSplitType split) ``` **Parameters** - `view` ([`CollectionViewType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionViewType.md)): one of the members of CollectionViewMode enum. - `split` ([`CollectionSplitType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionSplitType.md)): enum of split mode (selector) **Returns:** `void` SetCollectionView sets view mode value to the Collection. ### Dispose ```csharp void Datalogics.PDFL.Collection.Dispose() ``` **Returns:** `void` --- # CollectionSchema Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchema ```csharp class CollectionSchema : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Provides for adding/removing/retrieving schema fields in a collection. **Referenced by:** [`Collection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Collection.md), [`CollectionSchema`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchema.md) **Uses types:** [`CollectionSchema`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchema.md), [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) ## Properties ### FieldsNumber ```csharp int Datalogics.PDFL.CollectionSchema.FieldsNumber { get; } ``` ## Methods ### AddField ```csharp void Datalogics.PDFL.CollectionSchema.AddField(CollectionSchemaField field) ``` **Parameters** - `field` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.CollectionSchema.Dispose() ``` **Returns:** `void` ### GetField ```csharp CollectionSchemaField Datalogics.PDFL.CollectionSchema.GetField(int idx) ``` **Parameters** - `idx` (`int`): index of the object to find. **Returns:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) CollectionSchemaField object if found or NULL otherwise. GetField allows to obtain CollectionSchemaField object by its index. ### GetField ```csharp CollectionSchemaField Datalogics.PDFL.CollectionSchema.GetField(string name) ``` **Parameters** - `name` (`string`): textual field name. **Returns:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md) CollectionSchemaField object if found or NULL otherwise. GetField allows to obtain CollectionSchemaField by name. ### RemoveField ```csharp void Datalogics.PDFL.CollectionSchema.RemoveField(CollectionSchemaField field) ``` **Parameters** - `field` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField ```csharp class CollectionSchemaField : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchema.md), [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md) **Uses types:** [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md), [`SchemaFieldSubtype`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SchemaFieldSubtype.md) ## Constructors ### CollectionSchemaField ```csharp 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SchemaFieldSubtype.md)): 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. ## Properties ### Editable ```csharp bool Datalogics.PDFL.CollectionSchemaField.Editable { get; set; } ``` ### ID ```csharp string Datalogics.PDFL.CollectionSchemaField.ID { get; } ``` ### Index ```csharp int Datalogics.PDFL.CollectionSchemaField.Index { get; set; } ``` ### Name ```csharp string Datalogics.PDFL.CollectionSchemaField.Name { get; set; } ``` ### Subtype ```csharp SchemaFieldSubtype Datalogics.PDFL.CollectionSchemaField.Subtype { get; } ``` ### Visible ```csharp bool Datalogics.PDFL.CollectionSchemaField.Visible { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.CollectionSchemaField.Dispose() ``` **Returns:** `void` --- # CollectionSortItem Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSortItem ```csharp class CollectionSortItem : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Collection.md), [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) **Uses types:** [`CollectionSortItem`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSortItem.md) ## Constructors ### CollectionSortItem ```csharp Datalogics.PDFL.CollectionSortItem.CollectionSortItem(string fieldID, bool order) ``` *constructor* **Parameters** - `fieldID` (`string`): the schema field's id. - `order` (`bool`): true for ascending, false for descending CCollectionSortItem allows to construct sort item which will be used for collection sorting. ## Properties ### Ascending ```csharp bool Datalogics.PDFL.CollectionSortItem.Ascending { get; } ``` ### Name ```csharp string Datalogics.PDFL.CollectionSortItem.Name { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.CollectionSortItem.Dispose() ``` **Returns:** `void` --- # CollectionSplitType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionSplitType **Namespace:** `Datalogics::PDFL` ## Description Specifies the split orientation for a PDF collection (portfolio) view. Controls how the navigator and preview panes are arranged when displaying a PDF collection. ## Values - `SplitDefault = 8192`: Default split based on view. - `SplitHorizontal = 8193`: Split vertical. - `SplitVertical = 8194`: Split horizontal. - `SplitNone = 8195`: No split; show the navigator. - `SplitPreview = 8196`: No split; show the preview. --- # CollectionViewType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CollectionViewType **Namespace:** `Datalogics::PDFL` ## Description Specifies the type of navigator view used to display a PDF collection (portfolio). ## Values - `Tile = 4096`: Tile navigator. - `Detail = 4097`: Details navigator. - `Custom = 4098`: Custom navigator. --- # Color Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color ```csharp class Color : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`Style`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Style.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md) ## Constructors ### Color ```csharp Datalogics.PDFL.Color.Color(ColorSpace colorSpace, System.Collections.Generic.IList< System.Double > values) ``` *constructor* **Parameters** - `colorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): the color space in which to create the color - `values` (`System.Collections.Generic.IList< System.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 ```csharp 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 ```csharp 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 ```csharp 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 ```csharp Datalogics.PDFL.Color.Color(Pattern pattern) ``` *constructor* **Parameters** - `pattern` ([`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md)): The pattern to turn into a color Create a new color in the pattern color space. ## Properties ### Pattern ```csharp Pattern Datalogics.PDFL.Color.Pattern { get; } ``` ### Space ```csharp ColorSpace Datalogics.PDFL.Color.Space { get; } ``` ### Value ```csharp System.Collections.Generic.IList Datalogics.PDFL.Color.Value { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Color.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Color.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Color.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertActions ```csharp class ColorConvertActions : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Class that defines color conversion actions for an object described by certain attributes. **Referenced by:** [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertActions.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md) **Uses types:** [`ColorConvertActionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertActionType.md), [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertActions.md), [`ColorConvertCSpaceType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertCSpaceType.md), [`ColorConvertObjAttrs`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertObjAttrs.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### ColorConvertActions ```csharp Datalogics.PDFL.ColorConvertActions.ColorConvertActions() ``` *constructor* Default constructor for the ColorConvertActions class. Sets default values to the members. ## Properties ### Action ```csharp ColorConvertActionType Datalogics.PDFL.ColorConvertActions.Action { get; set; } ``` ### ColorantName ```csharp string Datalogics.PDFL.ColorConvertActions.ColorantName { get; set; } ``` ### ConvertIntent ```csharp RenderIntent Datalogics.PDFL.ColorConvertActions.ConvertIntent { get; set; } ``` ### ConvertProfile ```csharp ColorProfile Datalogics.PDFL.ColorConvertActions.ConvertProfile { get; set; } ``` ### ConvertProfilePath ```csharp string Datalogics.PDFL.ColorConvertActions.ConvertProfilePath { get; set; } ``` ### EmbedColorProfile ```csharp bool Datalogics.PDFL.ColorConvertActions.EmbedColorProfile { get; set; } ``` ### InkAlias ```csharp string Datalogics.PDFL.ColorConvertActions.InkAlias { get; set; } ``` ### IntentToMatch ```csharp RenderIntent Datalogics.PDFL.ColorConvertActions.IntentToMatch { get; set; } ``` ### IsInkAction ```csharp bool Datalogics.PDFL.ColorConvertActions.IsInkAction { get; set; } ``` ### IsProcessColor ```csharp bool Datalogics.PDFL.ColorConvertActions.IsProcessColor { get; set; } ``` ### MaxFontSizeMatch ```csharp double Datalogics.PDFL.ColorConvertActions.MaxFontSizeMatch { get; set; } ``` ### MinFontSizeMatch ```csharp double Datalogics.PDFL.ColorConvertActions.MinFontSizeMatch { get; set; } ``` ### MustMatchAllAttrs ```csharp ColorConvertObjAttrs Datalogics.PDFL.ColorConvertActions.MustMatchAllAttrs { get; set; } ``` ### MustMatchAllCSAttrs ```csharp ColorConvertCSpaceType Datalogics.PDFL.ColorConvertActions.MustMatchAllCSAttrs { get; set; } ``` ### MustMatchAnyAttrs ```csharp ColorConvertObjAttrs Datalogics.PDFL.ColorConvertActions.MustMatchAnyAttrs { get; set; } ``` ### MustMatchAnyCSAttrs ```csharp ColorConvertCSpaceType Datalogics.PDFL.ColorConvertActions.MustMatchAnyCSAttrs { get; set; } ``` ### PreserveBlack ```csharp bool Datalogics.PDFL.ColorConvertActions.PreserveBlack { get; set; } ``` ### PreserveCMYKPrimaries ```csharp bool Datalogics.PDFL.ColorConvertActions.PreserveCMYKPrimaries { get; set; } ``` ### PromoteGrayToCMYK ```csharp bool Datalogics.PDFL.ColorConvertActions.PromoteGrayToCMYK { get; set; } ``` ### UseBlackPointCompensation ```csharp bool Datalogics.PDFL.ColorConvertActions.UseBlackPointCompensation { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorConvertActions.Dispose() ``` **Returns:** `void` --- # ColorConvertActionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertActionType **Namespace:** `Datalogics::PDFL` ## Values - `PreserveColor = 0`: Do nothing but handle ink aliases. - `ConvertColor = 1`: Convert to target space. - `DecalibrateColor = 2`: Convert calibrated space to device space. - `DownCovertColor = 3`: Convert NChannel space to DeviceN space. --- # ColorConvertCSpaceType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertCSpaceType **Namespace:** `Datalogics::PDFL` ## Values - `ColorConvDeviceSpace = 1`: Device color space. - `ColorConvCalibratedSpace = 2`: Calibrated color space. - `ColorConvAlternateSpace = 8`: Alternate color space. - `ColorConvBaseSpace = 16`: Base of an indexed space. - `ColorConvIndexedSpace = 32`: Indexed color space. - `ColorConvSeparationSpace = 64`: Separation color space. - `ColorConvDeviceNSpace = 128`: DeviceN color space. - `ColorConvNChannelSpace = 256`: NChannel color space. - `ColorConvRGBSpace = 512`: RGB color space. This should only be set if either Device space (unless Lab) or Calibrated space is set. - `ColorConvCMYKSpace = 1024`: CMYK color space. This should only be set if either Device space (unless Lab) or Calibrated space is set. - `ColorConvGraySpace = 2048`: Gray color space. This should only be set if either Device space (unless Lab) or Calibrated space is set. - `ColorConvLabSpace = 4096`: Lab color space. - `ColorConvAnySpace = 8191`: Any color space. --- # ColorConvertObjAttrs Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorConvertObjAttrs **Namespace:** `Datalogics::PDFL` ## Values - `ColorConvImage = 1`: Object is an image. - `ColorConvJPEG = 2`: Object is a JPEG image. - `ColorConvJPEG2000 = 4`: Object is a JPEG2000 image. - `ColorConvLossy = 8`: Image is in a lossy space. - `ColorConvLossless = 16`: Image is in a non-lossy space. - `ColorConvText = 32`: Object is text. - `ColorConvLineArt = 64`: Object is line-art (fill, stroke). - `ColorConvShade = 128`: Object is a smooth shade. - `ColorConvTransparent = 256`: Object is not opaque. - `ColorConvOverprinting = 512`: Object overprints. - `ColorConvOverprintMode = 1024`: Overprint mode (OPM) is set to 1. - `ColorConvAnyObject = 225`: Any object. --- # ColorConvertParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams ```csharp class ColorConvertParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`ColorConvertActions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertActions.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### ColorConvertParams ```csharp Datalogics.PDFL.ColorConvertParams.ColorConvertParams(System.Collections.Generic.IList< ColorConvertActions > convActions) ``` *constructor* **Parameters** - `convActions` ([`System.Collections.Generic.IList< ColorConvertActions >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AllowLossyCompression ```csharp bool Datalogics.PDFL.ColorConvertParams.AllowLossyCompression { get; set; } ``` ### ColorConvActions ```csharp System.Collections.Generic.IList Datalogics.PDFL.ColorConvertParams.ColorConvActions { get; set; } ``` ### DefaultCMYK ```csharp ColorProfile Datalogics.PDFL.ColorConvertParams.DefaultCMYK { get; set; } ``` ### DefaultGray ```csharp ColorProfile Datalogics.PDFL.ColorConvertParams.DefaultGray { get; set; } ``` ### DefaultRGB ```csharp ColorProfile Datalogics.PDFL.ColorConvertParams.DefaultRGB { get; set; } ``` ### IntentCMYK ```csharp RenderIntent Datalogics.PDFL.ColorConvertParams.IntentCMYK { get; set; } ``` ### IntentGray ```csharp RenderIntent Datalogics.PDFL.ColorConvertParams.IntentGray { get; set; } ``` ### IntentRGB ```csharp RenderIntent Datalogics.PDFL.ColorConvertParams.IntentRGB { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorConvertParams.Dispose() ``` **Returns:** `void` --- # ColorProfile Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile **Namespace:** `Datalogics::PDFL` ## Values - `Null_ColorProfile = 0`: A NULL result, indication that a profile is not a built-in profile. - `Lab_D50 = 1`: Adobe's standard Lab profile. It has a white point of D50, and exactly matches the ICC's Lab PCS space. - `PCS_XYZ = 2`: An XYZ profile that exactly matches the ICC's XYZ PCS space. - `FLAT_XYZ = 3`: An XYZ profile with a flat white point encoding (X = Y = Z = 1.0). Photoshop uses this as an intermediate space in its display loop. - `SRGB = 4`: HP's sRGB profile. The default Windows monitor profile. - `AppleRGB = 5`: Default RGB space using by Photoshop 4.0 and earlier. The default Mac OS monitor profile. - `AdobeRGB1998 = 6`: A wider gamut RGB space recommended by Adobe. - `ColorMatchRGB = 7`: A simplified version of Radius' ColorMatch RGB space, without Radius' non-zero black point. - `Gamma18 = 8`: Grayscale display profile with a gamma of 1.8. - `Gamma22 = 9`: Grayscale display profile with a gamma of 2.2. - `DotGain10 = 10`: Grayscale printer profile with a dot gain of 10. - `DotGain15 = 11`: Grayscale printer profile with a dot gain of 15. - `DotGain20 = 12`: Grayscale printer profile with a dot gain of 20. - `DotGain25 = 13`: Grayscale printer profile with a dot gain of 25. - `DotGain30 = 14`: Grayscale printer profile with a dot gain of 30 - `MonitorRGB = 15`: The system "Monitor RGB" profile. - `SystemRGB = 16`: The macOS ColorSync system default profile for RGB color space. - `SystemCMYK = 17`: The macOS ColorSync system default profiles for CMYK color space. - `SystemGray = 18`: The macOS ColorSync system default profiles for Gray color space. - `SystemInput = 19`: The macOS ColorSync system default profiles for input device type. - `SystemOutput = 20`: The macOS ColorSync system default profiles for output device type. - `SystemProofer = 21`: The macOS ColorSync system default profiles for proofer device type. - `WorkingRGB = 22`: The application working (RGB) color space profile. - `WorkingCMYK = 23`: The application working (CMYK) color space profile.) - `WorkingGray = 24`: The application working (Gray) color space profile. - `Acrobat5_CMYK = 25`: Acrobat 5 CMYK - `Acrobat9_CMYK = 26`: Acrobat 9 CMYK --- # ColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace ```csharp class ColorSpace : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) ## Description Base class for all color spaces. **Referenced by:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageImageParams.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Properties ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # ColorValueConverter Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorValueConverter ```csharp class ColorValueConverter : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description This class contains methods used to convert sets of values from one Colorspace to another. **Referenced by:** [`ColorValueConverter`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorValueConverter.md) **Uses types:** [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`ColorValueConverter`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorValueConverter.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### ColorValueConverter ```csharp Datalogics.PDFL.ColorValueConverter.ColorValueConverter() ``` *constructor* This class contains methods used to convert sets of values from one Colorspace to another. ## Methods ### ConvertValues ```csharp System.Byte[] Datalogics.PDFL.ColorValueConverter.ConvertValues(ColorProfile sourceColorProfile, ColorProfile destinationColorProfile, RenderIntent intent, uint numberOfInputValueSets, System.Byte[] inputValueSets) ``` **Parameters** - `sourceColorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used for input values. - `destinationColorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used for output values. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The Render Intent used during the conversion. - `numberOfInputValueSets` (`uint`): The number of sets of input values to be converted. - `inputValueSets` (`System.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:** `System.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 ```csharp System.Byte[] Datalogics.PDFL.ColorValueConverter.ConvertValues(ColorProfile sourceColorProfile, string destinationColorProfilePath, RenderIntent intent, uint numberOfInputValueSets, System.Byte[] inputValueSets) ``` **Parameters** - `sourceColorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The Render Intent used during the conversion. - `numberOfInputValueSets` (`uint`): The number of sets of input values to be converted. - `inputValueSets` (`System.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:** `System.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 ```csharp System.Byte[] Datalogics.PDFL.ColorValueConverter.ConvertValues(string sourceColorProfilePath, ColorProfile destinationColorProfile, RenderIntent intent, uint numberOfInputValueSets, System.Byte[] inputValueSets) ``` **Parameters** - `sourceColorProfilePath` (`string`): The Color Profile to be used for input values, loaded from a path on disk. - `destinationColorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used for output values. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The Render Intent used during the conversion. - `numberOfInputValueSets` (`uint`): The number of sets of input values to be converted. - `inputValueSets` (`System.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:** `System.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 ```csharp System.Byte[] Datalogics.PDFL.ColorValueConverter.ConvertValues(string sourceColorProfilePath, string destinationColorProfilePath, RenderIntent intent, uint numberOfInputValueSets, System.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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The Render Intent used during the conversion. - `numberOfInputValueSets` (`uint`): The number of sets of input values to be converted. - `inputValueSets` (`System.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:** `System.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. ### Dispose ```csharp void Datalogics.PDFL.ColorValueConverter.Dispose() ``` **Returns:** `void` --- # CompressImageType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType **Namespace:** `Datalogics::PDFL` ## Description Enumerator to allow the selection of image type to Set the values for resampling and recompression. ## Values - `Color = 1`: Set the values for conversion of Color images. - `Gray = 2`: Set the value for conversion of Grayscale images. - `BW = 3`: Set the value for conversion of Black and White (Monochrome) images. --- # CompressionCode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionCode **Namespace:** `Datalogics::PDFL` ## Description Compression values for generating graphics files from PDF pages. A compression value must be provided for JPG or GIF images. ## Values - `Default = 0`: Use the default for the output image type. - `NONE = 1`: Use no image compression. Valid for BMP, PNG and TIFF outputs only. - `FLATE = 2`: Deflate algorithm (PNG only). An open source standard widely used for creating zip files and with PDF. - `LZW = 3`: Lempel-Ziv-Welch, valid for TIFF output. Valid for GIF and TIFF. A lossless algorithm, resulting files are larger but retain original quality. - `G3 = 4`: CCITT Group3 compression. Valid for TIFF, requires colorModel gray. A lossless algorithm for black and white images that efficiently compresses whitespace. - `G4 = 5`: CCITT Group4 compression. Valid for TIFF, requires colorModel gray. A lossless algorithm for black and white images based on G3. - `DCT = 6`: Discrete Cosine Transform. Lossy algorithm, valid for JPEG. Best when used with continuous tone (such as photographs). --- # CompressionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionType **Namespace:** `Datalogics::PDFL` ## Description Enumerator used to select type of compression used when images are recompressed. For color or grayscale images: Flate, JPEG or JPEG2000 may be selected. For black and white images: Flate, JBIG2, CCITTG3, or CCITTG4 may be selected. ## Values - `NoCompression = 0`: Do not replace compression type. - `SameCompression = 1`: Recompress with the same compression. - `FlateCompression = 2`: Recompress with Flate compression. - `JPEGCompression = 3`: Recompress with JPEG. JPEG quality is set with compression quality. - `JPEG2000Compression = 4`: Recompress using JPEG2000. JPEG2000 Quality is set with compression quality. - `JBIG2Compression = 5`: Recompress with JBIG2. JBIG2 Quality is set with compression quality. - `CCITTG4Compression = 6`: Recompress with CCITTG4. - `CCITTG3Compression = 7`: Recompress with CCITTG3. - `FlateJpegCompression = 8`: Recompress with FlateJpeg. --- # CompressQuality Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressQuality **Namespace:** `Datalogics::PDFL` ## Description Establish the compression quality to be used in compression schemas that allow variable quality. (JPEG, JPEG2000, JBIG2). Unset should be selected for compression schemes that are inherently lossless (Flate, CCITTG3, or CCITTG4). JBIG2 may select any value. JPEG and JPEG2000 can select any value between Minimum and Maximum, but should not select Unset or Lossless. ## Values - `Unset = 0`: No Quality is selected. This is appropriate for Flate, JBIG2, CCITTG3, or CCITTG4 compression. - `Minimum = 1`: For JPEG, this will equate to a QFactor of 1.3. For JPEG2000, this will equate to Quality of 0. For JBIG2, this will equate to a JB2Quality of 4. - `Low = 2`: For JPEG, this will equate to a QFactor of 0.75. For JPEG2000, this will equate to Quality of 25. For JBIG2, this will equate to a JB2Quality of 5. - `Medium = 3`: For JPEG, this will equate to a QFactor of 0.5. For JPEG2000, this will equate to Quality of 50. For JBIG2, this will equate to a JB2Quality of 7. - `High = 4`: For JPEG, this will equate to a QFactor of 0.25. For JPEG2000, this will equate to Quality of 75. For JBIG2, this will equate to a JB2Quality of 9. - `Maximum = 5`: For JPEG, this will equate to a QFactor of 0.15. For JPEG2000, this will equate to Quality of 100. For JBIG2, this will equate to a JB2Quality of 10. - `Lossless = 6`: This may ONLY be selected for Flate, CCITTG3, CCITTG4, and JBIG2 --- # Container Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container ```csharp class Container : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Container.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### Container ```csharp Datalogics.PDFL.Container.Container() ``` *constructor* Create a new Container. The new Container has no tag and is not associated with a dictionary. ### Container ```csharp 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 ```csharp Datalogics.PDFL.Container.Container(string mcTag, PDFDict propertyList, bool isInline) ``` *constructor* **Parameters** - `mcTag` (`string`): The tag name for the Container. - `propertyList` ([`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md)): The dictionary representing the Property List to associate with the Container. - `isInline` (`bool`): 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. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Content ```csharp Content Datalogics.PDFL.Container.Content { get; set; } ``` ### MarkedContentTag ```csharp string Datalogics.PDFL.Container.MarkedContentTag { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Container.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Container.PDFDict { get; } ``` ## Methods ### Clone ```csharp new Container Datalogics.PDFL.Container.Clone() ``` **Returns:** `new Container` 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 ```csharp new Container Datalogics.PDFL.Container.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** `new Container` 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 ```csharp Container Datalogics.PDFL.Container.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/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 ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### IsCurrentlyVisible ```csharp bool Datalogics.PDFL.Container.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to check visibility against. **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Container.IsCurrentlyVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to check visibility against. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The Content containing the container, used to determine container visibility within the content hierarchy. **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Container.MakeVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which the container is made visible. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the container. **Returns:** `bool` 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 ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/Content ```csharp class Content : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`AddPageFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AddPageFlags.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Content ```csharp Datalogics.PDFL.Content.Content() ``` *constructor* Create content ### Content ```csharp Datalogics.PDFL.Content.Content(Element firstElem) ``` *constructor* **Parameters** - `firstElem` ([`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Content.BoundingBox { get; } ``` ### NumElements ```csharp int Datalogics.PDFL.Content.NumElements { get; } ``` ## Fields ### BeforeFirst ```csharp static const int Datalogics.PDFL.Content.BeforeFirst ``` *static* Position for inserting an element before the first element. ## Methods ### AddElement ```csharp void Datalogics.PDFL.Content.AddElement(Element NewElem) ``` **Parameters** - `NewElem` ([`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Content.AddElement(Element NewElem, int addAfterIndex) ``` **Parameters** - `NewElem` ([`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Content.AddPage(int insertAfterIndex, Document containerDoc, Page srcPage, Matrix dstMatrix, System.Collections.Generic.IList< System.String > annotTypes, 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which the page is contained. - `srcPage` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page that will be inserted at insertAfterIndex in theContent. - `dstMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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` (`System.Collections.Generic.IList< System.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` ([`AddPageFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AddPageFlags.md)): (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/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Content.Dispose() ``` **Returns:** `void` ### FlattenOptionalContent ```csharp bool Datalogics.PDFL.Content.FlattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `bool` 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. ### GetDefaultColorSpace ```csharp ColorSpace 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/DotNet/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 ```csharp Element 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/DotNet/APDFL18.0.5PlusP2e/class/Element.md) The Element at the specified index. Get the element specified by index. ### RemoveElement ```csharp void 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 ```csharp void 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/DotNet/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 ```csharp override string Datalogics.PDFL.Content.ToString() ``` **Returns:** `override 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. --- # CredentialDataFmt Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialDataFmt **Namespace:** `Datalogics::PDFL` ## Description Enumeration to specify credential encoding format as either Non-PFX (PEM/DER) or PFX (PKCS#12). ## Values - `NonPFX = 0`: Base64-encoded or Binary DER (ASN.1 Distinguished Encoding Rules) format. - `PFX = 1`: PKCS#12 format. --- # CredentialStorageFmt Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt **Namespace:** `Datalogics::PDFL` ## Description Enumeration to specify credential is required to be retrieved from disk (OnDisk) or is cached in memory (InMemory). ## Values - `OnDisk = 0`: Credential resides on-disk. - `InMemory = 1`: Credential is cached in memory. --- # CurveTo Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveTo ```csharp class CurveTo : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CurveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveTo.md) **Uses types:** [`CurveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveTo.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveTo ```csharp 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 ```csharp Datalogics.PDFL.CurveTo.CurveTo(Point point1, Point point2, Point point3) ``` *constructor* **Parameters** - `point1` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): the first control point. - `point2` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): the second control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Point1 ```csharp Point Datalogics.PDFL.CurveTo.Point1 { get; set; } ``` The first control point. ### Point2 ```csharp Point Datalogics.PDFL.CurveTo.Point2 { get; set; } ``` The second control point. ### Point3 ```csharp Point Datalogics.PDFL.CurveTo.Point3 { get; set; } ``` The new current point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.CurveTo.ToString() ``` **Returns:** `override string` --- # CurveToV Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToV ```csharp class CurveToV : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CurveToV`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToV.md) **Uses types:** [`CurveToV`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToV.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveToV ```csharp 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 ```csharp Datalogics.PDFL.CurveToV.CurveToV(Point point2, Point point3) ``` *constructor* **Parameters** - `point2` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): the second control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Point2 ```csharp Point Datalogics.PDFL.CurveToV.Point2 { get; set; } ``` The second control point. ### Point3 ```csharp Point Datalogics.PDFL.CurveToV.Point3 { get; set; } ``` The new current point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.CurveToV.ToString() ``` **Returns:** `override string` --- # CurveToY Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToY ```csharp class CurveToY : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`CurveToY`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToY.md) **Uses types:** [`CurveToY`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToY.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### CurveToY ```csharp 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 ```csharp Datalogics.PDFL.CurveToY.CurveToY(Point point1, Point point3) ``` *constructor* **Parameters** - `point1` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): the first control point. - `point3` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Point1 ```csharp Point Datalogics.PDFL.CurveToY.Point1 { get; set; } ``` The first control point. ### Point3 ```csharp Point Datalogics.PDFL.CurveToY.Point3 { get; set; } ``` The new current point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.CurveToY.ToString() ``` **Returns:** `override string` --- # DeviceNColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace ```csharp class DeviceNColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### DeviceNColorSpace ```csharp Datalogics.PDFL.DeviceNColorSpace.DeviceNColorSpace(System.Collections.Generic.IList< System.String > names, ColorSpace alternate, Function tintTransform) ``` *constructor* **Parameters** - `names` (`System.Collections.Generic.IList< System.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/DotNet/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/DotNet/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. ## Properties ### Alternate ```csharp ColorSpace Datalogics.PDFL.DeviceNColorSpace.Alternate { get; } ``` ### Attributes ```csharp PDFDict Datalogics.PDFL.DeviceNColorSpace.Attributes { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Function ```csharp Function Datalogics.PDFL.DeviceNColorSpace.Function { get; } ``` ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### Names ```csharp System.Collections.Generic.IList Datalogics.PDFL.DeviceNColorSpace.Names { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # DigestCategory Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DigestCategory **Namespace:** `Datalogics::PDFL` ## Description Enumeration to specify cryptographic hash functions that generate variable-length message digests required for digital signature creation. ## Values - `Sha1 = 0`: SHA-1 message digest comprised of a 160-bit hash value. - `Sha224 = 1`: SHA-2 message digest comprised of a 224-bit hash value. - `Sha256 = 2`: SHA-2 message digest comprised of a 256-bit hash value. - `Sha384 = 3`: SHA-2 message digest comprised of a 384-bit hash value. - `Sha512 = 4`: SHA-2 message digest comprised of a 512-bit hash value. --- # DisplayTraits Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DisplayTraits **Namespace:** `Datalogics::PDFL` ## Description Enumeration to specify fields to display as part of signature appearance. ## Values - `KDisplayNone = 0x0`: Do not display text labels or logo image. Note that specifying this option results in an empty signature appearance. - `KDisplayAll = 0x1`: Display all available text labels and logo image. Note that the application expects valid data to be supplied for each available label that will be displayed as a result of this option being selected. - `KDisplayName = 0x2`: Display the Name label. - `KDisplayReason = 0x4`: Display the Reason label. - `KDisplayLocation = 0x8`: Display the Location label. - `KDisplayDate = 0x10`: Display the Date label. - `KDisplayContactInfo = 0x20`: Display the ContactInfo label. - `KDisplayDN = 0x40`: Display the Signer Certificate's Distinguished Name label. - `KDisplayLogo = 0x80`: Display logo image. --- # DocTextFinder Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder ```csharp class DocTextFinder : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description A class used to extract words from a document using a regular expression. **Referenced by:** [`DocTextFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md) **Uses types:** [`DocTextFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md), [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md) ## Constructors ### DocTextFinder ```csharp Datalogics.PDFL.DocTextFinder.DocTextFinder(Document doc, WordFinderConfig wbConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): document to search - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): WordFinder configuration to use Create a DocTextFinder ### DocTextFinder ```csharp Datalogics.PDFL.DocTextFinder.DocTextFinder(Document doc, WordFinderConfig wbConfig, DocTextFinderConfig dtfConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): document to search - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): WordFinder configuration to use - `dtfConfig` ([`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md)): DocTextFinder configuration to use Create a DocTextFinder with a DocTextFinderConfig ## Methods ### Dispose ```csharp void Datalogics.PDFL.DocTextFinder.Dispose() ``` **Returns:** `void` ### GetMatchList ```csharp System.Collections.Generic.IList< DocTextFinderMatch > 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:** [`System.Collections.Generic.IList< DocTextFinderMatch >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderConfig ```csharp class DocTextFinderConfig : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md) **Uses types:** [`DocTextFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderConfig.md) ## Constructors ### DocTextFinderConfig ```csharp 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. . ## Properties ### PreserveLineBreaks ```csharp bool Datalogics.PDFL.DocTextFinderConfig.PreserveLineBreaks { get; set; } ``` If true, inserts chars instead of spaces wherever ends of lines are detected within extracted text. ## Methods ### Dispose ```csharp void Datalogics.PDFL.DocTextFinderConfig.Dispose() ``` **Returns:** `void` --- # DocTextFinderMatch Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderMatch ```csharp class DocTextFinderMatch : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md) **Uses types:** [`DocTextFinderMatch`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md), [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) ## Properties ### MatchString ```csharp string Datalogics.PDFL.DocTextFinderMatch.MatchString { get; } ``` ### QuadInfo ```csharp System.Collections.Generic.IList Datalogics.PDFL.DocTextFinderMatch.QuadInfo { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.DocTextFinderMatch.Dispose() ``` **Returns:** `void` --- # DocTextFinderQuadInfo Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo ```csharp class DocTextFinderQuadInfo : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderMatch.md), [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md) **Uses types:** [`DocTextFinderQuadInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md) ## Constructors ### DocTextFinderQuadInfo ```csharp 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. ## Properties ### PageNum ```csharp int Datalogics.PDFL.DocTextFinderQuadInfo.PageNum { get; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.DocTextFinderQuadInfo.Quads { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.DocTextFinderQuadInfo.Dispose() ``` **Returns:** `void` --- # Document Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document ```csharp class Document : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`DocTextFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertResult.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md), [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertResult.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md) **Uses types:** [`AcroFormExportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormExportType.md), [`AcroFormImportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormImportType.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md), [`Collection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Collection.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`EmbedFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags.md), [`EncryptionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EncryptionType.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md), [`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDDocFormsType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDDocFormsType.md), [`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md), [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertResult.md), [`PDFAConvertType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFAConvertType.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md), [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertResult.md), [`PDFXConvertType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFXConvertType.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PageDeleteFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageDeleteFlags.md), [`PageInsertFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageInsertFlags.md), [`PageLabel`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageLabel.md), [`PageMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageMode.md), [`PermissionFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionFlags.md), [`PermissionRequestOperation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation.md), [`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintCancelProc.md), [`PrintProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintProgressProc.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`ReportProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ReportProc.md), [`ResourceType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ResourceType.md), [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RolledBackDocument.md), [`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkParams.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md), [`XFAFormExportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/XFAFormExportType.md), [`XPSConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/XPSConvertParams.md) ## Constructors ### Document ```csharp 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 ```csharp 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 ```csharp Datalogics.PDFL.Document.Document(string fileName, string password, PermissionRequestOperation perms, bool 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation.md)): The permissions being requested. It must be an OR of the PermissionRequestOperation values. - `doRepair` (`bool`): 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 ```csharp 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/DotNet/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. ### Document ```csharp Datalogics.PDFL.Document.Document(System.IO.Stream stream) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the Document. Open a Document from a Stream. This allows a document to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. 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, as data will only be read as needed. ### Document ```csharp Datalogics.PDFL.Document.Document(System.IO.Stream stream, string password, PermissionRequestOperation perms, bool doRepair) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the Document. - `password` (`string`): The password to use to attempt to open the document. - `perms` ([`PermissionRequestOperation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation.md)): The permissions being requested. It must be an OR of the PermissionRequestOperation values. - `doRepair` (`bool`): 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 Stream. This allows a document to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. 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, as data will only be read as needed. ## Properties ### Attachments ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.Attachments { get; } ``` ### Author ```csharp string Datalogics.PDFL.Document.Author { get; set; } ``` ### BaseURI ```csharp string Datalogics.PDFL.Document.BaseURI { get; set; } ``` ### BookmarkRoot ```csharp Bookmark Datalogics.PDFL.Document.BookmarkRoot { get; } ``` ### Collection ```csharp Collection Datalogics.PDFL.Document.Collection { get; } ``` ### CompressionLevel ```csharp int Datalogics.PDFL.Document.CompressionLevel { get; } ``` ### Creator ```csharp string Datalogics.PDFL.Document.Creator { get; set; } ``` ### DefaultOptionalContentConfig ```csharp OptionalContentConfig Datalogics.PDFL.Document.DefaultOptionalContentConfig { get; } ``` ### DeleteOnClose ```csharp bool Datalogics.PDFL.Document.DeleteOnClose { get; set; } ``` ### FileName ```csharp string Datalogics.PDFL.Document.FileName { get; } ``` ### FormsType ```csharp PDDocFormsType Datalogics.PDFL.Document.FormsType { get; } ``` ### HasSignature ```csharp bool Datalogics.PDFL.Document.HasSignature { get; } ``` ### InfoDict ```csharp PDFDict Datalogics.PDFL.Document.InfoDict { get; } ``` ### InstanceID ```csharp System.Byte [] Datalogics.PDFL.Document.InstanceID { get; } ``` ### IsEmbedded ```csharp bool Datalogics.PDFL.Document.IsEmbedded { get; set; } ``` ### IsLinearized ```csharp bool Datalogics.PDFL.Document.IsLinearized { get; } ``` ### IsModified ```csharp bool Datalogics.PDFL.Document.IsModified { get; } ``` ### IsOptimized ```csharp bool Datalogics.PDFL.Document.IsOptimized { get; set; } ``` ### IsPxDF ```csharp bool Datalogics.PDFL.Document.IsPxDF { get; } ``` ### Keywords ```csharp string Datalogics.PDFL.Document.Keywords { get; set; } ``` ### LoadedFonts ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.LoadedFonts { get; } ``` ### MajorVersion ```csharp short Datalogics.PDFL.Document.MajorVersion { get; set; } ``` ### MajorVersionIsNewerThanCurrentLibrary ```csharp bool Datalogics.PDFL.Document.MajorVersionIsNewerThanCurrentLibrary { get; } ``` ### MergedXMPKeywords ```csharp string Datalogics.PDFL.Document.MergedXMPKeywords { get; } ``` ### MinorVersion ```csharp short Datalogics.PDFL.Document.MinorVersion { get; set; } ``` ### MinorVersionIsNewerThanCurrentLibrary ```csharp bool Datalogics.PDFL.Document.MinorVersionIsNewerThanCurrentLibrary { get; } ``` ### NeedsSave ```csharp bool Datalogics.PDFL.Document.NeedsSave { get; set; } ``` ### NumPages ```csharp int Datalogics.PDFL.Document.NumPages { get; } ``` ### OptionalContentConfigs ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.OptionalContentConfigs { get; } ``` ### OptionalContentContext ```csharp OptionalContentContext Datalogics.PDFL.Document.OptionalContentContext { get; } ``` ### OptionalContentGroups ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.OptionalContentGroups { get; } ``` ### PageLabels ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.PageLabels { get; set; } ``` ### PageMode ```csharp PageMode Datalogics.PDFL.Document.PageMode { get; set; } ``` ### PermanentID ```csharp System.Byte [] Datalogics.PDFL.Document.PermanentID { get; } ``` ### PermissionFlags ```csharp PermissionFlags Datalogics.PDFL.Document.PermissionFlags { get; } ``` ### Producer ```csharp string Datalogics.PDFL.Document.Producer { get; set; } ``` ### RequiresFullSave ```csharp bool Datalogics.PDFL.Document.RequiresFullSave { get; set; } ``` ### RolledBackDocuments ```csharp System.Collections.Generic.IList Datalogics.PDFL.Document.RolledBackDocuments { get; } ``` ### Root ```csharp PDFDict Datalogics.PDFL.Document.Root { get; } ``` ### StructureIDTree ```csharp NameTree Datalogics.PDFL.Document.StructureIDTree { get; } ``` ### StructureParentTree ```csharp NumberTree Datalogics.PDFL.Document.StructureParentTree { get; } ``` ### Subject ```csharp string Datalogics.PDFL.Document.Subject { get; set; } ``` ### SuppressErrors ```csharp bool Datalogics.PDFL.Document.SuppressErrors { get; set; } ``` ### Title ```csharp string Datalogics.PDFL.Document.Title { get; set; } ``` ### VersionIsOlderThanCurrentLibrary ```csharp bool Datalogics.PDFL.Document.VersionIsOlderThanCurrentLibrary { get; } ``` ### VersionString ```csharp string Datalogics.PDFL.Document.VersionString { get; } ``` ### WasRepaired ```csharp bool Datalogics.PDFL.Document.WasRepaired { get; } ``` ### XMPMetadata ```csharp string Datalogics.PDFL.Document.XMPMetadata { get; set; } ``` ## Fields ### AllPages ```csharp static const int Datalogics.PDFL.Document.AllPages ``` *static* All pages. ### BeforeFirstPage ```csharp static const int Datalogics.PDFL.Document.BeforeFirstPage ``` *static* Before first page. ### LastPage ```csharp static const int Datalogics.PDFL.Document.LastPage ``` *static* Last page. ## Methods ### ApplyRedactions ```csharp bool Datalogics.PDFL.Document.ApplyRedactions() ``` **Returns:** `bool` ### ApplyRedactions ```csharp bool Datalogics.PDFL.Document.ApplyRedactions(Redaction redact) ``` **Parameters** - `redact` ([`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md)) **Returns:** `bool` ### CloneAsPDFADocument ```csharp PDFAConvertResult Datalogics.PDFL.Document.CloneAsPDFADocument(PDFAConvertType type, PDFAConvertParams parms) ``` **Parameters** - `type` ([`PDFAConvertType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFAConvertType.md)): The type of PDF/A conversion to perform - `parms` ([`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md)): A PDFAConvertParams object specifying options for the conversion **Returns:** [`PDFAConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/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 setting the RemoveAllAnnotations property to true and then call CloneAsPDFADocument(). ### CloneAsPDFXDocument ```csharp PDFXConvertResult Datalogics.PDFL.Document.CloneAsPDFXDocument(PDFXConvertType type, PDFXConvertParams parms) ``` **Parameters** - `type` ([`PDFXConvertType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFXConvertType.md)): The type of PDF/X conversion to perform - `parms` ([`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md)): A PDFXConvertParams object specifying options for the conversion **Returns:** [`PDFXConvertResult`](https://docs.datalogics.com/apdfl18/DotNet/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/X 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 ```csharp void 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 ```csharp void Datalogics.PDFL.Document.CollectNamesOfTree(PDFArray namesArray, System.Collections.Generic.IList< FileAttachment > attachments) ``` **Parameters** - `namesArray` ([`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md)) - `attachments` ([`System.Collections.Generic.IList< FileAttachment >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### ColorConvertPages ```csharp bool Datalogics.PDFL.Document.ColorConvertPages(ColorConvertParams params_) ``` **Parameters** - `params_` ([`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md)) **Returns:** `bool` 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 ```csharp static bool 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:** `bool` 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 ```csharp static bool 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:** `bool` 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 ```csharp static bool 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:** `bool` 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 ```csharp uint Datalogics.PDFL.Document.ConvertXFAFieldsToAcroFormFields() ``` **Returns:** `uint` 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 ```csharp int 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 ```csharp void Datalogics.PDFL.Document.CreateCollection() ``` **Returns:** `void` collection object CreateCollection allows to create new collection in the PDF document. It replaces any existing collection. ### CreateNameTree ```csharp NameTree Datalogics.PDFL.Document.CreateNameTree(string nameTreeName) ``` **Parameters** - `nameTreeName` (`string`): The name of the NameTree to create. **Returns:** [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Page 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/DotNet/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/DotNet/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. ### DeletePages ```csharp void 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 ```csharp void Datalogics.PDFL.Document.DeletePages(int firstPage, int lastPage, 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` ([`PageDeleteFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageDeleteFlags.md)): One of the DeleteFlags. **Returns:** `void` Deletes the specified pages with option to parse Structure Tree. ### Dispose ```csharp void Datalogics.PDFL.Document.Dispose() ``` **Returns:** `void` ### EmbedFonts ```csharp void 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 ```csharp void Datalogics.PDFL.Document.EmbedFonts(EmbedFlags flags) ``` **Parameters** - `flags` ([`EmbedFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags.md)): 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 ```csharp void Datalogics.PDFL.Document.EmbedFonts(EmbedFlags flags, ProgressMonitor progressMonitor, CancelProc cancelProc, ReportProc reportProc) ``` **Parameters** - `flags` ([`EmbedFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags.md)): One of the EmbedFlags - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp void Datalogics.PDFL.Document.EmbedFonts(System.Collections.Generic.IList< Font > fonts) ``` **Parameters** - `fonts` ([`System.Collections.Generic.IList< Font >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.EmbedFonts(System.Collections.Generic.IList< Font > fonts, EmbedFlags flags) ``` **Parameters** - `fonts` ([`System.Collections.Generic.IList< Font >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md)): The list of fonts to embed. See restrictions above. - `flags` ([`EmbedFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags.md)): 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 ```csharp void Datalogics.PDFL.Document.EmbedFonts(System.Collections.Generic.IList< Font > fonts, EmbedFlags flags, ProgressMonitor progressMonitor, CancelProc cancelProc, ReportProc reportProc) ``` **Parameters** - `fonts` ([`System.Collections.Generic.IList< Font >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md)): The list of fonts to embed. See restrictions above. - `flags` ([`EmbedFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags.md)): One of the EmbedFlags - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp void Datalogics.PDFL.Document.EmbedOCRFonts() ``` **Returns:** `void` Embed fonts that were used in creating OCR text. This is also done automatically when saving. ### EnumIndirectPDFObjects ```csharp bool Datalogics.PDFL.Document.EnumIndirectPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp void 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ResourceType.md)): Resource type to enumerate. - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp bool 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormExportType.md)): The format type the AcroForm data should be exported to. The supported types are XFDF, FDF, and XML. **Returns:** `bool` 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 ```csharp void Datalogics.PDFL.Document.ExportAsPostScript(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp void Datalogics.PDFL.Document.ExportAsPostScript(PrintUserParams userParams, PrintCancelProc printCancelProc, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.ExportAsPostScript(PrintUserParams userParams, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp bool 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/XFAFormExportType.md)): The format type the XFA data should be exported to. The supported types are XDP, XML, and XFD. **Returns:** `bool` 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). ### FindBookmark ```csharp Bookmark 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/DotNet/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 ```csharp Bookmark 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/DotNet/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 ```csharp string 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 ```csharp PDFObject Datalogics.PDFL.Document.FindPDFObjectByID(int ID) ``` **Parameters** - `ID` (`int`): The object ID number to look up. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp int 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 ```csharp void 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 ```csharp void 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 ```csharp bool Datalogics.PDFL.Document.FlattenOptionalContent() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Document.FlattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `bool` 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 ```csharp int 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 ```csharp int Datalogics.PDFL.Document.FlattenTransparency(FlattenTransparencyParams params_) ``` **Parameters** - `params_` ([`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md)) **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 ```csharp int Datalogics.PDFL.Document.FlattenTransparency(FlattenTransparencyParams params_, int firstPage, int lastPage) ``` **Parameters** - `params_` ([`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md)) - `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 ```csharp uint Datalogics.PDFL.Document.FlattenXFAFormFields() ``` **Returns:** `uint` 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 ```csharp uint Datalogics.PDFL.Document.FlattenXFAFormFieldsAsIfPrinted() ``` **Returns:** `uint` 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). ### GetFonts ```csharp System.Collections.Generic.IList< Font > 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:** [`System.Collections.Generic.IList< Font >`](https://docs.datalogics.com/apdfl18/DotNet/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. ### GetInfo ```csharp string 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. ### GetNameTree ```csharp NameTree Datalogics.PDFL.Document.GetNameTree(string nameTreeName) ``` **Parameters** - `nameTreeName` (`string`): The name of the NameTree to get. **Returns:** [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md) The retrieved NameTree. Retrieves the name tree inside the Names dictionary with the specified key name. ### GetPage ```csharp Page 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/DotNet/APDFL18.0.5PlusP2e/class/Page.md) The requested Page object. Gets a Page from a document. ### GetXMPMetadataArrayItem ```csharp string 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 ```csharp string 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 ```csharp bool Datalogics.PDFL.Document.ImportAcroFormsData(string fileName, AcroFormImportType importType) ``` **Parameters** - `fileName` (`string`): The path on disk of the AcroFormsdata file to be imported. - `importType` ([`AcroFormImportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AcroFormImportType.md)): The format type the data type should be imported to. The supported types are XFDF, FDF, and XML. **Returns:** `bool` 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 ```csharp bool 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:** `bool` 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 ```csharp void Datalogics.PDFL.Document.InsertPages(int mergeAfterThisPage, Document doc2, int startPage, int numPages, 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/DotNet/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` ([`PageInsertFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageInsertFlags.md)): 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 ```csharp void Datalogics.PDFL.Document.InsertPages(int mergeAfterThisPage, Document doc2, int startPage, int numPages, 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/DotNet/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` ([`PageInsertFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageInsertFlags.md)): 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/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp bool Datalogics.PDFL.Document.IsDynamicXFA() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Document.IsStaticXFA() ``` **Returns:** `bool` 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 ```csharp void Datalogics.PDFL.Document.LookForKidsInNameTree(PDFDict nameTree, System.Collections.Generic.IList< FileAttachment > attachments) ``` **Parameters** - `nameTree` ([`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `attachments` ([`System.Collections.Generic.IList< FileAttachment >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md)) **Returns:** `void` ### MergeXMPKeywords ```csharp void 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 ```csharp void 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 ```csharp bool Datalogics.PDFL.Document.PermRequest(PermissionRequestOperation requestedperm) ``` **Parameters** - `requestedperm` ([`PermissionRequestOperation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation.md)): The document permission which to check **Returns:** `bool` a boolean if the permission is set in the document. Tests if a permission is set on a document ### PermRequest ```csharp bool 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation.md)): the permissions on the PDF file which is to be set or checked. **Returns:** `bool` 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 ```csharp void Datalogics.PDFL.Document.Print(PrintUserParams userParams) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.Print(PrintUserParams userParams, PrintCancelProc printCancelProc) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.Print(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp void Datalogics.PDFL.Document.PrintToFile(PrintUserParams userParams, PrintCancelProc printCancelProc, PrintProgressProc printProgressProc, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp void Datalogics.PDFL.Document.PrintToFile(PrintUserParams userParams, PrintCancelProc printCancelProc, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md)): Parameters to control printing. - `printCancelProc` ([`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.PrintToFile(PrintUserParams userParams, string path) ``` **Parameters** - `userParams` ([`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.RemoveCollection() ``` **Returns:** `void` RemoveCollection Removes a collection dictionary from a document. ### RemoveDuplicateOCG ```csharp void 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 ```csharp void 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 ```csharp void Datalogics.PDFL.Document.RemoveOCG(OptionalContentGroup ocg) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.ReplacePages(int startPage, Document doc2, int startPageDoc2, int numPages, bool mergeTextAnnots) ``` **Parameters** - `startPage` (`int`): The first page number in doc to replace. The first page is 0. - `doc2` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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` (`bool`): 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 ```csharp void Datalogics.PDFL.Document.Save(SaveFlags flags, System.IO.Stream stream) ``` **Parameters** - `flags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)): A bit field composed of an OR of the SaveFlags values. - `stream` (`System.IO.Stream`): The Stream to which the file is saved. **Returns:** `void` Saves a Document to a Stream. 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. If SaveFlags.CloseAfterSave flag has been specified the document will be closed immediately after save and it won't be valid anymore. If one needs this document outside of the stream it has been saved to, one has to reopen the document and recreate all the dependent objects such as Page, Image etc. If both SaveFlags.FULL and SaveFlags.COPY are used during saving partially or fully compressed document to the stream that SaveFlags.CLOSE_AFTER_SAVE must be specified. It is advisable to call EmbedFonts before saving a document, in case any fonts were created automatically to support Unicode text. ### Save ```csharp void Datalogics.PDFL.Document.Save(SaveFlags flags, System.IO.Stream stream, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `flags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)) - `stream` (`System.IO.Stream`) - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)) - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md)) **Returns:** `void` ### Save ```csharp void Datalogics.PDFL.Document.Save(SaveFlags saveFlags) ``` **Parameters** - `saveFlags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)): 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 ```csharp void Datalogics.PDFL.Document.Save(SaveFlags saveFlags, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)): A bit field composed of an OR of the SaveFlags values. - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.Save(SaveFlags saveFlags, string newPath) ``` **Parameters** - `saveFlags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)): 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() orInsertPages() 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 ```csharp void Datalogics.PDFL.Document.Save(SaveFlags saveFlags, string newPath, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `saveFlags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)): 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/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): a ProgressMonitor that will receive progress information, may be null - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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() orInsertPages() 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 ```csharp void Datalogics.PDFL.Document.Secure(PermissionFlags permissions, string ownerPassword, string userPassword) ``` **Parameters** - `permissions` ([`PermissionFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionFlags.md)): 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 ```csharp void Datalogics.PDFL.Document.Secure(PermissionFlags permissions, string ownerPassword, string userPassword, EncryptionType encryptionType) ``` **Parameters** - `permissions` ([`PermissionFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionFlags.md)): 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EncryptionType.md)): 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 ```csharp void Datalogics.PDFL.Document.Secure(PermissionFlags permissions, string ownerPassword, string userPassword, EncryptionType encryptionType, bool encryptMetadata) ``` **Parameters** - `permissions` ([`PermissionFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionFlags.md)): 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EncryptionType.md)): Encryption type to be used for securing the document. - `encryptMetadata` (`bool`): 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. ### SetInfo ```csharp void 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. ### SetXMPMetadataArrayItem ```csharp void 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 ```csharp void 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 ```csharp void 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 ```csharp void Datalogics.PDFL.Document.Watermark(Page page, WatermarkParams watermarkParams) ``` **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to be added as a watermark. - `watermarkParams` ([`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Document.Watermark(WatermarkTextParams watermarkTextParams, WatermarkParams watermarkParams) ``` **Parameters** - `watermarkTextParams` ([`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md)): Structure describing the text-based watermark to be added. - `watermarkParams` ([`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/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. --- # DrawFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DrawFlags **Namespace:** `Datalogics::PDFL` ## Values - `DoLazyErase = 1`: Erase the page while rendering only as needed. - `UseAnnotFaces = 64`: Draw annotation appearances. - `IsPrinting = 128`: The page is being printed. - `DisplayOverPrintPreview = 256`: Display overprint preview. - `UseTrapAnnots = 8192`: Use trap network annotations. - `DirectlyImposed = 16384`: Directly imposed page. - `IsPSPrinting = 32768`: PostScript printing. - `EmitPageGroup = 65536`: Emit a page group. - `UsePrinterMarkAnnots = 131072`: Use printer's mark annotations. - `PassOPItoAGMPort = 262144`: Pass open prepress interface (OPI) to AGM port. - `PassMetadatatoAGMPort = 524288`: Pass metadata to AGM port. - `PassOCtoAGMPort = 1048576`: Pass optional content to AGM port. - `DoNotDownloadFonts = 4194304`: Do not download fonts during rendering. Use this flag to prevent fonts from being downloaded/named to the output. Active when writing GDI output, such as to a metafile or printer on Windows. - `WritingToEMF = 4194304`: Indicate that the drawing is writing to an Enhanced MetaFile. This prevents fonts from being downloaded, but may advise other flags in the future. - `DoNotSubstituteWorkingSpaces = 8388608`: Do not substitute working spaces. - `SwapComponents = 16777216`: Render colors in BGR order rather than RGB. It is only valid for calls to Page.DrawContents and only when outputing to an RGB colorspace. - `SuppressRasterAlpha = 33554432`: Suppress raster alpha. - `WorkingSpacesOnlyForChange = 67108864`: If this is set, only use a working space instead of a device space if the process color model of the target device is different than that of the source. - `UseStampAnnotsOnly = 134217728`: If set, only consider Stamp annotations. This overrides UseAnnotFaces. - `ForceGDIPort = 268435456`: If set, this forces the window draw code to attempt to use GDI instructions internally instead of assuming the incoming Platform device context contains enough information to allow APDFL to make a useful determination. Only honored on Windows. Useful when drawing to a window during print preview, when the supplied hDC is for the screen and does not allow APDFL to adequately instantiate drawing bounds. - `IsPrintPreviewing = 268435456`: Same as ForceGDIPort. - `OptimizeForInteractive = 536870912`: Set this flag for interactive viewers where the same PDF page may be re-drawn multiple times for viewing. This flag will allow re-drawing a PDF page (to change the positioning, zoom level or active smoothing & antialiasing, for example) to reuse some data elements from previous drawing operations, and will invoke a separate runtime thread for page operator parsing. However, this will increase the memory used for page display if enabled. --- # DrawParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams ```csharp class DrawParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DrawFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DrawFlags.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md), [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc.md), [`SmoothFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SmoothFlags.md) ## Constructors ### DrawParams ```csharp 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 ```csharp Datalogics.PDFL.DrawParams.DrawParams(DrawParams rhs) ``` *constructor* **Parameters** - `rhs` ([`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md)): The DrawParams to copy from. Copy constructor. ## Properties ### BypassCopyPerm ```csharp bool Datalogics.PDFL.DrawParams.BypassCopyPerm { get; set; } ``` Bypass copy permissions. Only used when drawing to a bitmap. ### CancelProc ```csharp CancelProc Datalogics.PDFL.DrawParams.CancelProc { get; set; } ``` ### ColorSpace ```csharp ColorSpace Datalogics.PDFL.DrawParams.ColorSpace { get; set; } ``` ### DestRect ```csharp Rect Datalogics.PDFL.DrawParams.DestRect { get; set; } ``` ### EnableBlackPointCompensation ```csharp bool Datalogics.PDFL.DrawParams.EnableBlackPointCompensation { get; set; } ``` Enable/disable black point compensation. ### EnableThinLineHeuristics ```csharp bool Datalogics.PDFL.DrawParams.EnableThinLineHeuristics { get; set; } ``` Enable/disable thin line adjustments when drawing rectangles ### Flags ```csharp DrawFlags Datalogics.PDFL.DrawParams.Flags { get; set; } ``` Drawing flags. ### ICCProfile ```csharp ColorProfile Datalogics.PDFL.DrawParams.ICCProfile { get; set; } ``` ### ICCProfileCustomPath ```csharp string Datalogics.PDFL.DrawParams.ICCProfileCustomPath { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.DrawParams.Matrix { get; set; } ``` ### OptionalContentContext ```csharp OptionalContentContext Datalogics.PDFL.DrawParams.OptionalContentContext { get; set; } ``` ### ProgressProc ```csharp RenderProgressProc Datalogics.PDFL.DrawParams.ProgressProc { get; set; } ``` ### RenderIntent ```csharp RenderIntent Datalogics.PDFL.DrawParams.RenderIntent { get; set; } ``` Default rendering intent is RelColorimetric (relative colorimetric). Only used when drawing to a bitmap. ### SmoothFlags ```csharp SmoothFlags Datalogics.PDFL.DrawParams.SmoothFlags { get; set; } ``` Smoothing flags. Only used when drawing to a bitmap. ### UpdateRect ```csharp Rect Datalogics.PDFL.DrawParams.UpdateRect { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.DrawParams.Dispose() ``` **Returns:** `void` --- # Duplex Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Duplex **Namespace:** `Datalogics::PDFL` ## Description Duplex values. ## Values - `Off = 0`: Use system printer preferences duplex setting - `TumbleShort = 1`: Tumble over short edge - `TumbleLong = 2`: Tumble over long edge - `ForceSimplex = 3`: Force simplex printing --- # Element Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element ```csharp class Element : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ## Methods ### Clone ```csharp Element Datalogics.PDFL.Element.Clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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 ]. --- # ElementCloneFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags **Namespace:** `Datalogics::PDFL` ## Values - `None = 0`: Normal copying. - `NoGraphicState = 1`: The copied element does not need a GraphicState. - `CopyClipping = 2`: Acquire the clip path and put it in the copied object. NoGraphicState must not be set. --- # EmbedFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EmbedFlags **Namespace:** `Datalogics::PDFL` ## Values - `None = 0`: Fonts marked for subsetting/embedding will be embedded. - `Subset = 1`: Fonts will be subset when embedded. Otherwise the entire font will be embedded. Full fonts should only be embedded if the information in the fonts indicates it can be used for editible embedding. Fonts that have more than 2048 characters will be subset embedded regardless of the setting of this flag. This flag implies a scan of the document text to ensure that all required characters are in the subset. - `SubsetOfEmbeddedFont = 2`: If set, fonts that have already been embedded but are not subset fonts, will be reembedded as a subset font. If clear, already embedded fonts will not be re-scanned for embedding at all. - `DontScanDocument = 0x10000`: If set, the document will not be scanned for font usage when embedding and subsetting. This flag only takes effect if a list of specific fonts to embed is given. --- # EncodingInfo Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/EncodingInfo ```csharp class EncodingInfo : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`EncodingInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/EncodingInfo.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md) **Uses types:** [`EncodingInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/EncodingInfo.md) ## Properties ### CharNames ```csharp System.Collections.Generic.IList Datalogics.PDFL.EncodingInfo.CharNames { get; } ``` container for differences array/character names ### EncodingName ```csharp string Datalogics.PDFL.EncodingInfo.EncodingName { get; } ``` Return the encoding name/cmap name for the font eg: WinAnsiEncoding MacRomanEncoding Identity-H ## Methods ### Dispose ```csharp void Datalogics.PDFL.EncodingInfo.Dispose() ``` **Returns:** `void` --- # EncryptionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/EncryptionType **Namespace:** `Datalogics::PDFL` ## Values - `Standard = 0`: Reuse the document's current encryption settings, or use the standard 128-bit encryption. - `AES256 = 1`: Encrypt the document using 256-bit AES encryption for Acrobat 9 or earlier. - `AES256_AcroX = 2`: Encrypt the document using 256-bit AES encryption for Acrobat 10 or later. - `RC4_40 = 3`: Encrypt the document using 40-bit RC4 encryption for Acrobat 5 or later. - `RC4_128 = 4`: Encrypt the document using 128-bit RC4 encryption for Acrobat 5 or later. --- # ExponentialFunction Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction ```csharp class ExponentialFunction : Function ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md) **Uses types:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md) ## Constructors ### ExponentialFunction ```csharp Datalogics.PDFL.ExponentialFunction.ExponentialFunction(System.Collections.Generic.IList< System.Double > domain, int nOutputs, System.Collections.Generic.IList< System.Double > C0, System.Collections.Generic.IList< System.Double > C1, double N) ``` *constructor* **Parameters** - `domain` (`System.Collections.Generic.IList< System.Double >`): the domain of the function. 2 elements. - `nOutputs` (`int`): the number of outputs of the function - `C0` (`System.Collections.Generic.IList< System.Double >`): the output value when the input value is 0 - `C1` (`System.Collections.Generic.IList< System.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. ## Properties ### C0 ```csharp System.Collections.Generic.IList Datalogics.PDFL.ExponentialFunction.C0 { get; set; } ``` ### C1 ```csharp System.Collections.Generic.IList Datalogics.PDFL.ExponentialFunction.C1 { get; set; } ``` ### Default ```csharp static Function Datalogics.PDFL.Function.Default { get; } ``` *static* A Function representing the Default named function. ### Domain ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Domain { get; set; } ``` ### Identity ```csharp static Function Datalogics.PDFL.Function.Identity { get; } ``` *static* A Function representing the Identity named function, which returns its input values unchanged. ### N ```csharp double Datalogics.PDFL.ExponentialFunction.N { get; set; } ``` ### NInputs ```csharp int Datalogics.PDFL.Function.NInputs { get; } ``` ### NOutputs ```csharp int Datalogics.PDFL.Function.NOutputs { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Range { get; set; } ``` ## Methods ### Apply ```csharp virtual System.Collections.Generic.IList< System.Double > Datalogics.PDFL.Function.Apply(System.Collections.Generic.IList< System.Double > args) ``` **Parameters** - `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `System.Collections.Generic.IList< System.Double >` a list of the result values from the function Apply the function to supplied input values ### Dispose ```csharp void Datalogics.PDFL.Function.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.ExponentialFunction.ToString() ``` **Returns:** `override 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. ### operator!= ```csharp static bool Datalogics.PDFL.Function.operator!=(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are not equal; otherwise, false. Tests two Function objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.Function.operator==(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are equal; otherwise, false. Tests two Function objects for equality. --- # ExtendedGraphicState Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState ```csharp class ExtendedGraphicState : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md) **Uses types:** [`BlendMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/BlendMode.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`OverprintMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OverprintMode.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### ExtendedGraphicState ```csharp Datalogics.PDFL.ExtendedGraphicState.ExtendedGraphicState() ``` *constructor* Create a new default ExtendedGraphicState for the document in which this ExtendedGraphicState will be used. ## Properties ### AlphaIsShape ```csharp bool Datalogics.PDFL.ExtendedGraphicState.AlphaIsShape { get; set; } ``` ### ApplyAutoStroke ```csharp bool Datalogics.PDFL.ExtendedGraphicState.ApplyAutoStroke { get; set; } ``` ### ApplyOverprintForOtherThanStroking ```csharp bool Datalogics.PDFL.ExtendedGraphicState.ApplyOverprintForOtherThanStroking { get; set; } ``` ### ApplyOverprintForStroking ```csharp bool Datalogics.PDFL.ExtendedGraphicState.ApplyOverprintForStroking { get; set; } ``` ### BlackGeneration ```csharp Function Datalogics.PDFL.ExtendedGraphicState.BlackGeneration { get; set; } ``` ### BlendMode ```csharp BlendMode Datalogics.PDFL.ExtendedGraphicState.BlendMode { get; set; } ``` ### OpacityForOtherThanStroking ```csharp double Datalogics.PDFL.ExtendedGraphicState.OpacityForOtherThanStroking { get; set; } ``` ### OpacityForStroking ```csharp double Datalogics.PDFL.ExtendedGraphicState.OpacityForStroking { get; set; } ``` ### OverprintMode ```csharp OverprintMode Datalogics.PDFL.ExtendedGraphicState.OverprintMode { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.ExtendedGraphicState.PDFDict { get; } ``` ### SmoothnessTolerance ```csharp double Datalogics.PDFL.ExtendedGraphicState.SmoothnessTolerance { get; set; } ``` ### TextKnockout ```csharp bool Datalogics.PDFL.ExtendedGraphicState.TextKnockout { get; set; } ``` ### TransferFunction ```csharp System.Collections.Generic.IList Datalogics.PDFL.ExtendedGraphicState.TransferFunction { get; set; } ``` ### UndercolorRemoval ```csharp Function Datalogics.PDFL.ExtendedGraphicState.UndercolorRemoval { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ExtendedGraphicState.Dispose() ``` **Returns:** `void` --- # FarEastFont Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FarEastFont **Namespace:** `Datalogics::PDFL` ## Description CJK font related option for PostScript printing. ## Values - `DownloadAll = 0`: Download all CJK fonts to the printer. - `DownloadNone = 1`: Download only embedded fonts to the printer. - `PrintAsImage = 2`: GDI/QuickDraw on PS option. PS Level 1 should use this to print CJK. --- # FileAttachment Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment ```csharp class FileAttachment : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md) **Uses types:** [`AFRelationship`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AFRelationship.md), [`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CollectionSchemaField.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FileAttachment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileAttachment.md) ## Constructors ### FileAttachment ```csharp Datalogics.PDFL.FileAttachment.FileAttachment(Document doc, string fileName) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.FileAttachment.FileAttachment(Document doc, string fileName, string keyName) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AFRelationship ```csharp AFRelationship Datalogics.PDFL.FileAttachment.AFRelationship { get; set; } ``` ### FileName ```csharp string Datalogics.PDFL.FileAttachment.FileName { get; } ``` ### FileSize ```csharp uint Datalogics.PDFL.FileAttachment.FileSize { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.FileAttachment.Dispose() ``` **Returns:** `void` ### GetCollectionItemNumber ```csharp float Datalogics.PDFL.FileAttachment.GetCollectionItemNumber(CollectionSchemaField collectionField) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp string Datalogics.PDFL.FileAttachment.GetCollectionItemString(CollectionSchemaField collectionField) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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. ### SaveToFile ```csharp void 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 ```csharp void Datalogics.PDFL.FileAttachment.SaveToStream(System.IO.Stream stream) ``` **Parameters** - `stream` (`System.IO.Stream`): The Stream to which the FileAttachment is saved. **Returns:** `void` Saves a FileAttachment to a Stream. ### SetCollectionItemNumber ```csharp void Datalogics.PDFL.FileAttachment.SetCollectionItemNumber(CollectionSchemaField collectionField, float value) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.FileAttachment.SetCollectionItemString(CollectionSchemaField collectionField, string value) ``` **Parameters** - `collectionField` ([`CollectionSchemaField`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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. --- # FileSpecification Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification ```csharp class FileSpecification : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### FileSpecification ```csharp Datalogics.PDFL.FileSpecification.FileSpecification(Document doc, string path) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### PDFObject ```csharp PDFObject Datalogics.PDFL.FileSpecification.PDFObject { get; } ``` ### Path ```csharp string Datalogics.PDFL.FileSpecification.Path { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.FileSpecification.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.FileSpecification.ToString() ``` **Returns:** `override 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. --- # FlattenerColorCompression Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerColorCompression **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Color images. ## Values - `JPEGCompression = 0`: Use JPEG compression for flattened color images. - `ZIPCompression = 1`: Use ZIP (Flate/Deflate) compression for flattened color images. - `JPEG2000Compression = 2`: Use JPEG2000 compression for flattened color images. --- # FlattenerGrayCompression Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerGrayCompression **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Grayscale images. ## Values - `GrayJPEGCompression = 0`: Use JPEG compression for flattened grayscale images. - `GrayZIPCompression = 1`: Use ZIP (Flate/Deflate) compression for flattened grayscale images. - `GrayJPEG2000Compression = 2`: Use JPEG2000 compression for flattened grayscale images. --- # FlattenerMonoCompression Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerMonoCompression **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Monochrome images. ## Values - `MonoCCITTGroup3Compression = 0`: Use CCITT Group 3 (fax) compression for flattened monochrome images. - `MonoCCITTGroup4Compression = 1`: Use CCITT Group 4 compression for flattened monochrome images. - `MonoZIPCompression = 2`: Use ZIP (Flate/Deflate) compression for flattened monochrome images. - `MonoRunLengthCompression = 3`: Use Run Length Encoding compression for flattened monochrome images. --- # FlattenerQualitySetting Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerQualitySetting **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the Quality setting for the JPEG or JPEG2000 images. ## Values - `Mininum = 0`: Minimum quality setting. Produces the smallest file size. - `Low = 1`: Low quality setting. - `Medium = 2`: Medium quality setting. Balances file size and image quality. - `High = 3`: High quality setting. - `Maximum = 4`: Maximum quality setting. Produces the largest file size with the best image quality. - `JPEG2000Lossless = 5`: Lossless quality setting. Valid only for JPEG2000 compression scheme. --- # FlattenTransparencyParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams ```csharp class FlattenTransparencyParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md) **Uses types:** [`FlattenTransparencyParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FlattenTransparencyParams.md), [`FlattenerColorCompression`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerColorCompression.md), [`FlattenerGrayCompression`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerGrayCompression.md), [`FlattenerMonoCompression`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerMonoCompression.md), [`FlattenerQualitySetting`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FlattenerQualitySetting.md) ## Constructors ### FlattenTransparencyParams ```csharp 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 ```csharp Datalogics.PDFL.FlattenTransparencyParams.FlattenTransparencyParams(bool UseTextOutlines, bool ConvertStrokesToOutlines, bool ClipComplexRegions, int InternalDPI, int ExternalDPI, bool PreserveOverprint, int Quality) ``` *constructor* **Parameters** - `UseTextOutlines` (`bool`): If true, output text outlines instead of native text. - `ConvertStrokesToOutlines` (`bool`): If true, convert strokes to outlines. - `ClipComplexRegions` (`bool`): 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` (`bool`): 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. ## Properties ### ClipComplexRegions ```csharp bool Datalogics.PDFL.FlattenTransparencyParams.ClipComplexRegions { get; set; } ``` ### ColorCompressionScheme ```csharp FlattenerColorCompression Datalogics.PDFL.FlattenTransparencyParams.ColorCompressionScheme { get; set; } ``` ### ColorImageQuality ```csharp FlattenerQualitySetting Datalogics.PDFL.FlattenTransparencyParams.ColorImageQuality { get; set; } ``` ### ConvertStrokesToOutlines ```csharp bool Datalogics.PDFL.FlattenTransparencyParams.ConvertStrokesToOutlines { get; set; } ``` ### ExternalDPI ```csharp int Datalogics.PDFL.FlattenTransparencyParams.ExternalDPI { get; set; } ``` ### GrayCompressionScheme ```csharp FlattenerGrayCompression Datalogics.PDFL.FlattenTransparencyParams.GrayCompressionScheme { get; set; } ``` ### GrayImageQuality ```csharp FlattenerQualitySetting Datalogics.PDFL.FlattenTransparencyParams.GrayImageQuality { get; set; } ``` ### InternalDPI ```csharp int Datalogics.PDFL.FlattenTransparencyParams.InternalDPI { get; set; } ``` ### MaxPageFlatteningTime ```csharp int Datalogics.PDFL.FlattenTransparencyParams.MaxPageFlatteningTime { get; set; } ``` ### MonoCompressionScheme ```csharp FlattenerMonoCompression Datalogics.PDFL.FlattenTransparencyParams.MonoCompressionScheme { get; set; } ``` ### PreserveOverprint ```csharp bool Datalogics.PDFL.FlattenTransparencyParams.PreserveOverprint { get; set; } ``` ### ProfileDescription ```csharp string Datalogics.PDFL.FlattenTransparencyParams.ProfileDescription { get; set; } ``` ### Quality ```csharp int Datalogics.PDFL.FlattenTransparencyParams.Quality { get; set; } ``` ### UseTextOutlines ```csharp bool Datalogics.PDFL.FlattenTransparencyParams.UseTextOutlines { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.FlattenTransparencyParams.Dispose() ``` **Returns:** `void` --- # Font Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font ```csharp class Font : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`EncodingInfo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/EncodingInfo.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`FontCreateFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontCreateFlags.md), [`FontFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontFlags.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`WritingMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WritingMode.md) ## Constructors ### Font ```csharp 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 ```csharp Datalogics.PDFL.Font.Font(string fontName, FontCreateFlags createFlags) ``` *constructor* **Parameters** - `fontName` (`string`): the name of the font to create - `createFlags` ([`FontCreateFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontCreateFlags.md)): 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 ```csharp Datalogics.PDFL.Font.Font(string fontName, FontCreateFlags createFlags, WritingMode wrMode) ``` *constructor* **Parameters** - `fontName` (`string`): the name of the font to create - `createFlags` ([`FontCreateFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontCreateFlags.md)): flags specifying embedding and other options for the use of a font in the document - `wrMode` ([`WritingMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WritingMode.md)): 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). ## Properties ### Ascent ```csharp double Datalogics.PDFL.Font.Ascent { get; } ``` ### AvgWidth ```csharp double Datalogics.PDFL.Font.AvgWidth { get; } ``` ### BBox ```csharp Rect Datalogics.PDFL.Font.BBox { get; } ``` ### CapHeight ```csharp double Datalogics.PDFL.Font.CapHeight { get; } ``` ### CidFontType ```csharp string Datalogics.PDFL.Font.CidFontType { get; } ``` ### Descent ```csharp double Datalogics.PDFL.Font.Descent { get; } ``` ### Embedded ```csharp bool Datalogics.PDFL.Font.Embedded { get; } ``` ### Encoding ```csharp string Datalogics.PDFL.Font.Encoding { get; } ``` ### EncodingInfo ```csharp EncodingInfo Datalogics.PDFL.Font.EncodingInfo { get; } ``` ### Flags ```csharp FontFlags Datalogics.PDFL.Font.Flags { get; } ``` ### FontList ```csharp static System.Collections.Generic.IList Datalogics.PDFL.Font.FontList { get; } ``` *static* ### FullName ```csharp string Datalogics.PDFL.Font.FullName { get; } ``` ### ItalicAngle ```csharp double Datalogics.PDFL.Font.ItalicAngle { get; } ``` ### Leading ```csharp double Datalogics.PDFL.Font.Leading { get; } ``` ### MaxWidth ```csharp double Datalogics.PDFL.Font.MaxWidth { get; } ``` ### MissingWidth ```csharp double Datalogics.PDFL.Font.MissingWidth { get; } ``` ### Name ```csharp string Datalogics.PDFL.Font.Name { get; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Font.PDFDict { get; } ``` ### StemH ```csharp double Datalogics.PDFL.Font.StemH { get; } ``` ### StemV ```csharp double Datalogics.PDFL.Font.StemV { get; } ``` ### Type ```csharp string Datalogics.PDFL.Font.Type { get; } ``` ### WritingMode ```csharp WritingMode Datalogics.PDFL.Font.WritingMode { get; } ``` ### XHeight ```csharp double Datalogics.PDFL.Font.XHeight { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Font.Dispose() ``` **Returns:** `void` ### EmbedNow ```csharp void Datalogics.PDFL.Font.EmbedNow(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): the Document the Font is embedded into **Returns:** `void` Embeds the Font. ### FindIndexOfFirstUnrepresentableChar ```csharp uint Datalogics.PDFL.Font.FindIndexOfFirstUnrepresentableChar(string text) ``` **Parameters** - `text` (`string`): the text to check **Returns:** `uint` 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. ### IsFromDoc ```csharp bool Datalogics.PDFL.Font.IsFromDoc() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Font.IsTextRepresentable(string text) ``` **Parameters** - `text` (`string`): the text to check **Returns:** `bool` true if all characters in the text have corresponding glyphs in this font. Is this text representable in this font? ### MeasureTextWidth ```csharp double 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. --- # FontCreateFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontCreateFlags **Namespace:** `Datalogics::PDFL` ## Description Flags for creating fonts. If you want to subset a font, set both the Embedded and Subset flags ## Values - `Embedded = 1`: Embed the font. Create an embedded font. By itself, this will not subset the font. - `Subset = 2`: Subset the font. If you want to subset a font, set both the Embedded and Subset flags. You must call Document.EmbedFonts() to actually subset the font. Both embedding and subsetting a font creates a CFF font. - `DoNotEmbed = 4`: Do not embed the font. You cannot set both this and the Subset flags. Nor can you set Embedded. - `EncodeByGID = 8`: Create a CIDFont with identity (GID) encoding. - `DeferWidths = 16`: Wait to get the widths until later (this affects Type0 fonts only). - `GIDOverride = 32`: Convert cp to gid with identity embedded. - `ToUnicode = 64`: Create a ToUnicode CMap. - `AllWidths = 128`: Supply the entire widths table (this affects Type0 fonts only). - `EmbedOpenType = 256`: Embed an OpenType style font subset, if appropriate. --- # FontFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontFlags **Namespace:** `Datalogics::PDFL` ## Description Bit masks describing font characteristics from the font descriptor. These flags are defined in the PDF specification and provide information about the visual style of the font. ## Values - `FixedWidth = 1`: All glyphs have the same width (monospaced font). - `Serif = 2`: Glyphs have serifs (short strokes at the ends of main strokes). - `Symbolic = 4`: Font uses a custom (non-standard) character set or encoding. - `Script = 8`: Glyphs resemble cursive handwriting. - `Standard = 32`: Font uses the Adobe standard Latin character set or a subset of it. - `Italic = 64`: Dominant vertical strokes of the font are slanted (italic style). - `AllCap = 65536`: Font contains no lowercase letters; lowercase input is mapped to uppercase glyphs. - `SmallCap = 131072`: Font contains both uppercase and small-capital glyphs for lowercase letters. - `ForceBold = 262144`: Bold glyphs are drawn with extra stroke width at small pixel sizes. --- # FontRescanFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FontRescanFlags **Namespace:** `Datalogics::PDFL` ## Description Flags controlling which font directories to rescan after initialization. These flags can be combined with a bitwise OR to rescan multiple sources. ## Values - `FontRescan_Files = 1`: Rescan only the files defined in dirList, plus those added with PDFLAddFontDirectories. - `FontRescan_System = 2`: Rescan the system font directories. - `FontRescan_All = 3`: Rescan both user-defined and system font directories. Equivalent to FontRescan_Files | FontRescan_System. --- # Form Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form ```csharp class Form : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### Form ```csharp Datalogics.PDFL.Form.Form(Content content, Document document) ``` *constructor* **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The content from which to create the form - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Content ```csharp Content Datalogics.PDFL.Form.Content { get; set; } ``` ### GraphicState ```csharp GraphicState Datalogics.PDFL.Form.GraphicState { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Form.OptionalContentMembershipDict { get; set; } ``` ### Stream ```csharp PDFStream Datalogics.PDFL.Form.Stream { get; } ``` ## Methods ### Clone ```csharp Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp new Form Datalogics.PDFL.Form.Clone() ``` **Returns:** `new Form` 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 ```csharp Form Datalogics.PDFL.Form.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/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 ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### IsCurrentlyVisible ```csharp bool Datalogics.PDFL.Form.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to use for visibility state information. **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Form.IsCurrentlyVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context to use for visibility state information. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the form, used to also consider the Content's own visibility. **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Form.MakeVisible(OptionalContentContext occ, Content content) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which the form is made visible. - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The content containing the form. **Returns:** `bool` 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 ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/FormsExtensionVersionRec ```csharp class FormsExtensionVersionRec : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Structure to hold the version number retrieved by GetFormsExtensionVersion() **Referenced by:** [`FormsExtensionVersionRec`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FormsExtensionVersionRec.md) **Uses types:** [`FormsExtensionVersionRec`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FormsExtensionVersionRec.md) ## Constructors ### FormsExtensionVersionRec ```csharp Datalogics.PDFL.FormsExtensionVersionRec.FormsExtensionVersionRec() ``` *constructor* Structure to hold the version number retrieved by GetFormsExtensionVersion() ## Properties ### majorVersion ```csharp int Datalogics.PDFL.FormsExtensionVersionRec.majorVersion { get; set; } ``` ### minorVersion ```csharp int Datalogics.PDFL.FormsExtensionVersionRec.minorVersion { get; set; } ``` ### releaseVersion ```csharp int Datalogics.PDFL.FormsExtensionVersionRec.releaseVersion { get; set; } ``` ### subVersion ```csharp int Datalogics.PDFL.FormsExtensionVersionRec.subVersion { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.FormsExtensionVersionRec.Dispose() ``` **Returns:** `void` --- # FreeTextAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation ```csharp class FreeTextAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HorizontalAlignment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HorizontalAlignment.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### FreeTextAnnotation ```csharp Datalogics.PDFL.FreeTextAnnotation.FreeTextAnnotation(Page page, Rect initialRect, string defaultAppearance) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the FreeTextAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.FreeTextAnnotation.FreeTextAnnotation(Page page, Rect initialRect, string defaultAppearance, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.FreeTextAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.FreeTextAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.FreeTextAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.FreeTextAnnotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### DefaultAppearance ```csharp string Datalogics.PDFL.FreeTextAnnotation.DefaultAppearance { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### FontFace ```csharp string Datalogics.PDFL.FreeTextAnnotation.FontFace { get; set; } ``` ### FontSize ```csharp double Datalogics.PDFL.FreeTextAnnotation.FontSize { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Quadding ```csharp HorizontalAlignment Datalogics.PDFL.FreeTextAnnotation.Quadding { get; set; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### TextColor ```csharp Color Datalogics.PDFL.FreeTextAnnotation.TextColor { get; set; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.FreeTextAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/Function ```csharp class Function : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`ExponentialFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExponentialFunction.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md) ## Properties ### Default ```csharp static Function Datalogics.PDFL.Function.Default { get; } ``` *static* A Function representing the Default named function. ### Domain ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Domain { get; set; } ``` ### Identity ```csharp static Function Datalogics.PDFL.Function.Identity { get; } ``` *static* A Function representing the Identity named function, which returns its input values unchanged. ### NInputs ```csharp int Datalogics.PDFL.Function.NInputs { get; } ``` ### NOutputs ```csharp int Datalogics.PDFL.Function.NOutputs { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Range { get; set; } ``` ## Methods ### Apply ```csharp virtual System.Collections.Generic.IList< System.Double > Datalogics.PDFL.Function.Apply(System.Collections.Generic.IList< System.Double > args) ``` **Parameters** - `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `System.Collections.Generic.IList< System.Double >` a list of the result values from the function Apply the function to supplied input values ### Dispose ```csharp void Datalogics.PDFL.Function.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.Function.ToString() ``` **Returns:** `override string` A string representation of the function. Convert the function to a displayable string. ### operator!= ```csharp static bool Datalogics.PDFL.Function.operator!=(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are not equal; otherwise, false. Tests two Function objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.Function.operator==(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are equal; otherwise, false. Tests two Function objects for equality. --- # GoToAction Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction ```csharp class GoToAction : Action ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### GoToAction ```csharp Datalogics.PDFL.GoToAction.GoToAction(ViewDestination dest) ``` *constructor* **Parameters** - `dest` ([`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md)): The ViewDestination contained in this class. General constructor ## Properties ### Destination ```csharp ViewDestination Datalogics.PDFL.GoToAction.Destination { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Action.PDFDict { get; } ``` ### Subtype ```csharp string Datalogics.PDFL.Action.Subtype { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Action.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Action.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Action.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/GraphicState ```csharp class GraphicState : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`LineCap`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineCap.md), [`LineJoin`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineJoin.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### GraphicState ```csharp Datalogics.PDFL.GraphicState.GraphicState() ``` *constructor* Create a new default GraphicState. ## Properties ### DashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.GraphicState.DashPattern { get; set; } ``` ### ExtendedGraphicState ```csharp ExtendedGraphicState Datalogics.PDFL.GraphicState.ExtendedGraphicState { get; set; } ``` ### FillColor ```csharp Color Datalogics.PDFL.GraphicState.FillColor { get; set; } ``` ### LineCap ```csharp LineCap Datalogics.PDFL.GraphicState.LineCap { get; set; } ``` ### LineFlatness ```csharp double Datalogics.PDFL.GraphicState.LineFlatness { get; set; } ``` ### LineJoin ```csharp LineJoin Datalogics.PDFL.GraphicState.LineJoin { get; set; } ``` ### MiterLimit ```csharp double Datalogics.PDFL.GraphicState.MiterLimit { get; set; } ``` ### RenderIntent ```csharp RenderIntent Datalogics.PDFL.GraphicState.RenderIntent { get; set; } ``` ### StrokeColor ```csharp Color Datalogics.PDFL.GraphicState.StrokeColor { get; set; } ``` ### Width ```csharp double Datalogics.PDFL.GraphicState.Width { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.GraphicState.Dispose() ``` **Returns:** `void` --- # Group Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group ```csharp class Group : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Group.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### Group ```csharp Datalogics.PDFL.Group.Group() ``` *constructor* Create a new Group. ### Group ```csharp Datalogics.PDFL.Group.Group(Content content) ``` *constructor* **Parameters** - `content` ([`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md)): The new Content of the group. Create a Group with the given Content. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Content ```csharp Content Datalogics.PDFL.Group.Content { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ## Methods ### Clone ```csharp new Group Datalogics.PDFL.Group.Clone() ``` **Returns:** `new Group` 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 ```csharp new Group Datalogics.PDFL.Group.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** `new Group` 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 ```csharp Group Datalogics.PDFL.Group.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/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 ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation ```csharp class HighlightAnnotation : TextMarkupAnnotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### HighlightAnnotation ```csharp Datalogics.PDFL.HighlightAnnotation.HighlightAnnotation(Page page, int addAfter, System.Collections.Generic.IList< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.HighlightAnnotation.HighlightAnnotation(Page page, System.Collections.Generic.IList< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the HighlightAnnotation is added. - `quadList` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.TextMarkupAnnotation.Quads { get; set; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.HighlightAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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 ```csharp string Datalogics.PDFL.TextMarkupAnnotation.GetAnnotatedText(bool splitLines) ``` **Parameters** - `splitLines` (`bool`): 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # HighlightStyle Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HighlightStyle **Namespace:** `Datalogics::PDFL` ## Description Specifies the visual effect used when a link annotation is activated (clicked). ## Values - `None = 0`: Do not highlight this link - `Invert = 2`: Highlight by inverting the contents of the rectangle - `Outline = 3`: Highlight by inverting the border - `Push = 4`: Display the annotation as if it were being pushed below the page surface (like a button) - `Toggle = 5`: Toggle: synonym for Push --- # HorizontalAlignment Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HorizontalAlignment **Namespace:** `Datalogics::PDFL` ## Values - `Left = 0`: Align content to the left edge. - `Right = 2`: Align content to the right edge. - `Center = 1`: Center content horizontally. --- # ICCBasedColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace ```csharp class ICCBasedColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md) ## Constructors ### ICCBasedColorSpace ```csharp Datalogics.PDFL.ICCBasedColorSpace.ICCBasedColorSpace(PDFStream iccStream) ``` *constructor* **Parameters** - `iccStream` ([`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md)): stream containing the ICC profile Create an ICC-based color stream. ### ICCBasedColorSpace ```csharp Datalogics.PDFL.ICCBasedColorSpace.ICCBasedColorSpace(PDFStream iccStream, int nComps) ``` *constructor* **Parameters** - `iccStream` ([`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Alternate ```csharp ColorSpace Datalogics.PDFL.ICCBasedColorSpace.Alternate { get; set; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.ICCBasedColorSpace.Range { get; set; } ``` ### Stream ```csharp PDFStream Datalogics.PDFL.ICCBasedColorSpace.Stream { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # Image Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image ```csharp class Image : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`CompressionCode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionCode.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageData`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageData.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md) ## Constructors ### Image ```csharp 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 ```csharp 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/DotNet/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. ### Image ```csharp Datalogics.PDFL.Image.Image(System.IO.Stream stream) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the Image. Create an Image from a Stream. This allows an image to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. The Stream must contain image data in one of the supported file formats: TIFF, JPEG, BMP, PNG, or GIF. 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 ```csharp Datalogics.PDFL.Image.Image(System.IO.Stream stream, Document document) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the Image. - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which the Image is intended to be used. Create an Image from a Stream. This allows an image to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. The Stream must contain image data in one of the supported file formats: TIFF, JPEG, BMP, PNG, or GIF. 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. Specifying the document optimizes data usage for this image within that document. ## Properties ### Bitmap ```csharp System.Drawing.Bitmap Datalogics.PDFL.Image.Bitmap { get; } ``` Return this PDF image as a System.Drawing.Bitmap. Images in Gray or RGB color spaces are returned without conversion, while images in other spaces are first converted to RGB. ### BitsPerComponent ```csharp int Datalogics.PDFL.Image.BitsPerComponent { get; } ``` ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### ColorSpace ```csharp ColorSpace Datalogics.PDFL.Image.ColorSpace { get; } ``` ### Compression ```csharp CompressionCode Datalogics.PDFL.Image.Compression { get; set; } ``` ### Data ```csharp System.Byte [] Datalogics.PDFL.Image.Data { get; } ``` ### DidWarningsOccurDuringImport ```csharp bool Datalogics.PDFL.Image.DidWarningsOccurDuringImport { get; } ``` ### GraphicState ```csharp GraphicState Datalogics.PDFL.Image.GraphicState { get; set; } ``` ### Height ```csharp int Datalogics.PDFL.Image.Height { get; } ``` ### Intent ```csharp string Datalogics.PDFL.Image.Intent { get; set; } ``` ### IsImageMask ```csharp bool Datalogics.PDFL.Image.IsImageMask { get; } ``` ### LargeData ```csharp System.Collections.Generic.IList Datalogics.PDFL.Image.LargeData { get; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### NumberComponents ```csharp int Datalogics.PDFL.Image.NumberComponents { get; } ``` ### SoftMask ```csharp Image Datalogics.PDFL.Image.SoftMask { get; set; } ``` ### Stream ```csharp PDFStream Datalogics.PDFL.Image.Stream { get; } ``` ### Width ```csharp int Datalogics.PDFL.Image.Width { get; } ``` ## Methods ### ChangeResolution ```csharp Image Datalogics.PDFL.Image.ChangeResolution(int dpi) ``` **Parameters** - `dpi` (`int`): the new resolution **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp new Image Datalogics.PDFL.Image.Clone() ``` **Returns:** `new Image` 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 ```csharp new Image Datalogics.PDFL.Image.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** `new Image` 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 ```csharp Image Datalogics.PDFL.Image.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/APDFL18.0.5PlusP2e/class/Image.md) A new Image with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Image ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp new void Datalogics.PDFL.Image.Rotate(double angle) ``` **Parameters** - `angle` (`double`): The rotation angle in degrees, counterclockwise. **Returns:** `new 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 ```csharp void Datalogics.PDFL.Image.Save(string imagefilename, ImageType imageType) ``` **Parameters** - `imagefilename` (`string`): The physical image file which will be created. - `imageType` ([`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md)): The IMAGETYPE used for saving the image. **Returns:** `void` Save an image into a particular file format with default parameters for saving. ### Save ```csharp void Datalogics.PDFL.Image.Save(string imagefilename, ImageType imageType, ImageSaveParams saveparams) ``` **Parameters** - `imagefilename` (`string`): The physical image file which will be created. - `imageType` ([`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md)): The ImageType used for saving the image. - `saveparams` ([`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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 ]. ### Translate ```csharp new void 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:** `new 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/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection ```csharp class ImageCollection : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md) ## Constructors ### ImageCollection ```csharp Datalogics.PDFL.ImageCollection.ImageCollection() ``` *constructor* Create an empty image collection, which can have Image objects added to it. ### ImageCollection ```csharp Datalogics.PDFL.ImageCollection.ImageCollection(Image image) ``` *constructor* **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp 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 ```csharp 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/DotNet/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. ### ImageCollection ```csharp Datalogics.PDFL.ImageCollection.ImageCollection(System.IO.Stream stream) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the ImageCollection. Create an ImageCollection from a Stream. This allows an ImageCollection to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. The Stream must contain image data in the TIFF Format. ### ImageCollection ```csharp Datalogics.PDFL.ImageCollection.ImageCollection(System.IO.Stream stream, Document document) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): The Stream from which to read the ImageCollection. - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which the ImageCollection is intended to be used. Create an ImageCollection from a Stream. This allows an ImageCollection to be read from a Stream object. The Stream must be seekable. Suitable examples are FileStream and MemoryStream. The Stream must contain image data in the TIFF format. ## Properties ### Count ```csharp int Datalogics.PDFL.ImageCollection.Count { get; } ``` ## Methods ### Append ```csharp void Datalogics.PDFL.ImageCollection.Append(Image image) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.ImageCollection.Dispose() ``` **Returns:** `void` ### GetImage ```csharp Image Datalogics.PDFL.ImageCollection.GetImage(int index) ``` **Parameters** - `index` (`int`): the index of the Image to be retrieved. **Returns:** [`Image`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.ImageCollection.Save(string filename, ImageType type) ``` **Parameters** - `filename` (`string`): the file which to save the image. - `type` ([`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md)): 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 ```csharp void Datalogics.PDFL.ImageCollection.Save(string filename, ImageType type, ImageSaveParams saveparams) ``` **Parameters** - `filename` (`string`): the file which to save the image. - `type` ([`ImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType.md)): the image type to which to be saved. - `saveparams` ([`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/ImageData ```csharp class ImageData : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description A class representing the decompressed Image Data. **Referenced by:** [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageData`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageData.md) **Uses types:** [`ImageData`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageData.md) ## Properties ### RawData ```csharp System.Byte [] Datalogics.PDFL.ImageData.RawData { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ImageData.Dispose() ``` **Returns:** `void` --- # ImageSaveParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageSaveParams ```csharp class ImageSaveParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageSaveParams.md) **Uses types:** [`CompressionCode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionCode.md), [`ImageSaveParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageSaveParams.md), [`TIFFByteOrder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TIFFByteOrder.md) ## Constructors ### ImageSaveParams ```csharp Datalogics.PDFL.ImageSaveParams.ImageSaveParams() ``` *constructor* Default parameters for saving an image to a file. ## Properties ### Compression ```csharp CompressionCode Datalogics.PDFL.ImageSaveParams.Compression { get; set; } ``` ### DisableAlphaChannelGeneration ```csharp bool Datalogics.PDFL.ImageSaveParams.DisableAlphaChannelGeneration { get; set; } ``` ### HalftoneGrayImages ```csharp bool Datalogics.PDFL.ImageSaveParams.HalftoneGrayImages { get; set; } ``` ### JPEGQuality ```csharp int Datalogics.PDFL.ImageSaveParams.JPEGQuality { get; set; } ``` ### MonochromeThreshold ```csharp byte Datalogics.PDFL.ImageSaveParams.MonochromeThreshold { get; set; } ``` ### RaiseExceptionIfNotUsableColor ```csharp bool Datalogics.PDFL.ImageSaveParams.RaiseExceptionIfNotUsableColor { get; set; } ``` ### ReverseGray ```csharp bool Datalogics.PDFL.ImageSaveParams.ReverseGray { get; set; } ``` ### TIFFBlackIsOne ```csharp bool Datalogics.PDFL.ImageSaveParams.TIFFBlackIsOne { get; set; } ``` ### TIFFByteOrder ```csharp TIFFByteOrder Datalogics.PDFL.ImageSaveParams.TIFFByteOrder { get; set; } ``` ### TIFFCMYKAlpha ```csharp bool Datalogics.PDFL.ImageSaveParams.TIFFCMYKAlpha { get; set; } ``` ### WriteSeparationColorsToTIFF ```csharp bool Datalogics.PDFL.ImageSaveParams.WriteSeparationColorsToTIFF { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ImageSaveParams.Dispose() ``` **Returns:** `void` --- # ImageType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ImageType **Namespace:** `Datalogics::PDFL` ## Values - `Invalid = 0`: Indicates an invalid or unrecognized image type. - `TIFF = 1`: Tagged Image File Format - `JPEG = 2`: Joint Photographic Experts Group - `BMP = 3`: Microsoft Windows Bitmap - `PNG = 4`: Portable Network Graphic - `GIF = 5`: Graphics Interchange Format --- # Inclusion Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Inclusion **Namespace:** `Datalogics::PDFL` ## Description Specifies how to include a resource in a file. ## Values - `OncePerDocument = 0`: Include the resource only once per file. - `OnEveryPage = 1`: Include the resource on every page in the file. - `Never = 2`: Never include the resource. - `WhenNeeded = 3`: When needed. - `ByRange = 4`: Include the resource for a specified range of pages. --- # IndexedColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace ```csharp class IndexedColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### IndexedColorSpace ```csharp Datalogics.PDFL.IndexedColorSpace.IndexedColorSpace(ColorSpace base_, int hival, System.Collections.Generic.IList< System.Int32 > lookup) ``` *constructor* **Parameters** - `base_` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)) - `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` (`System.Collections.Generic.IList< System.Int32 >`): 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. ## Properties ### Base ```csharp ColorSpace Datalogics.PDFL.IndexedColorSpace.Base { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### HiVal ```csharp int Datalogics.PDFL.IndexedColorSpace.HiVal { get; } ``` ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Lookup ```csharp System.Collections.Generic.IList Datalogics.PDFL.IndexedColorSpace.Lookup { get; } ``` ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # Ink Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink ```csharp class Ink : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description The ink object represents the color in the color space, CYMK or RGB. **Referenced by:** [`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate.md) **Uses types:** [`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md), [`InkTypes`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/InkTypes.md), [`SeparationPreviewOptions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SeparationPreviewOptions.md) ## Properties ### Alias ```csharp string Datalogics.PDFL.Ink.Alias { get; set; } ``` ### Angle ```csharp double Datalogics.PDFL.Ink.Angle { get; set; } ``` ### Black ```csharp double Datalogics.PDFL.Ink.Black { get; } ``` ### Blue ```csharp int Datalogics.PDFL.Ink.Blue { get; } ``` ### ColorantName ```csharp string Datalogics.PDFL.Ink.ColorantName { get; set; } ``` ### ColorantNameArray ```csharp System.Byte [] Datalogics.PDFL.Ink.ColorantNameArray { get; } ``` ### Cyan ```csharp double Datalogics.PDFL.Ink.Cyan { get; } ``` ### Density ```csharp double Datalogics.PDFL.Ink.Density { get; set; } ``` ### Frequency ```csharp double Datalogics.PDFL.Ink.Frequency { get; set; } ``` ### Green ```csharp int Datalogics.PDFL.Ink.Green { get; } ``` ### InkType ```csharp InkTypes Datalogics.PDFL.Ink.InkType { get; set; } ``` ### IsProcessColor ```csharp bool Datalogics.PDFL.Ink.IsProcessColor { get; set; } ``` ### Magenta ```csharp double Datalogics.PDFL.Ink.Magenta { get; } ``` ### PreviewOption ```csharp SeparationPreviewOptions Datalogics.PDFL.Ink.PreviewOption { get; set; } ``` ### Red ```csharp int Datalogics.PDFL.Ink.Red { get; } ``` ### Yellow ```csharp double Datalogics.PDFL.Ink.Yellow { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Ink.Dispose() ``` **Returns:** `void` --- # InkAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation ```csharp class InkAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### InkAnnotation ```csharp Datalogics.PDFL.InkAnnotation.InkAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the InkAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.InkAnnotation.InkAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.InkAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.InkAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.InkAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### NumScribbles ```csharp int Datalogics.PDFL.InkAnnotation.NumScribbles { get; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### AddScribble ```csharp void Datalogics.PDFL.InkAnnotation.AddScribble(System.Collections.Generic.IList< Point > scribble) ``` **Parameters** - `scribble` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.InkAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### GetScribble ```csharp System.Collections.Generic.IList< Point > Datalogics.PDFL.InkAnnotation.GetScribble(int index) ``` **Parameters** - `index` (`int`): The index of the scribble to get. **Returns:** [`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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 ```csharp void 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # InkTypes Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/InkTypes **Namespace:** `Datalogics::PDFL` ## Description Specifies the ink type used for trapping purposes. ## Values - `Normal = 0`: Normal ink type for trapping. This ink type is trapped normally. - `Transparent = 1`: Transparent ink type for trapping. - `Opaque = 2`: Opaque ink type for trapping. This ink type is not trapped except to another opaque. - `OpaqueIgnore = 3`: Opaque Ignore ink type for trapping. This ink type is never trapped. --- # LabColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace ```csharp class LabColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`LabColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### LabColorSpace ```csharp Datalogics.PDFL.LabColorSpace.LabColorSpace(System.Collections.Generic.IList< System.Double > whitePoint) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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 ```csharp Datalogics.PDFL.LabColorSpace.LabColorSpace(System.Collections.Generic.IList< System.Double > whitePoint, System.Collections.Generic.IList< System.Double > blackPoint, System.Collections.Generic.IList< System.Double > range) ``` *constructor* **Parameters** - `whitePoint` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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` (`System.Collections.Generic.IList< System.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. ## Properties ### BlackPoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.LabColorSpace.BlackPoint { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.LabColorSpace.Range { get; } ``` ### WhitePoint ```csharp System.Collections.Generic.IList Datalogics.PDFL.LabColorSpace.WhitePoint { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # Language Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Language **Namespace:** `Datalogics::PDFL` ## Description Languages which may be selected. To find if a language is available, call IsLanguageAvailable() on the OCREngine. ## Values - `English = 0`: English. - `Dutch = 1`: Dutch; Flemish (nld). - `French = 2`: French (fra). - `German = 3`: German (deu). - `Italian = 4`: Italian (ita). - `Portuguese = 5`: Portuguese (por). - `Spanish = 6`: Spanish; Castilian (spa). - `Arabic = 7`: Arabic (ara). - `ChineseTraditional = 8`: Traditional Chinese (chi_tra). - `ChineseTraditionalVertical = 9`: Traditional Chinese, vertical (chi_tra_vert). - `ChineseSimplified = 10`: Simplified Chinese (chi_sim). - `ChineseSimplifiedVertical = 11`: Simplified Chinese, vertical (chi_sim_vert). - `Japanese = 12`: Japanese (jpn). - `JapaneseVertical = 13`: Japanese, vertical (jpn_vert). - `Korean = 14`: Korean (kor). - `KoreanVertical = 15`: Korean, vertical (kor_vert). - `Afrikaans = 16`: Afrikaans (afr). - `Amharic = 17`: Amharic (amh). - `Assamese = 18`: Assamese (asm). - `Azerbaijani = 19`: Azerbaijani (aze). - `AzerbaijaniCyrillic = 20`: Azerbaijani - Cyrillic (aze-cyrl). - `Belarusian = 21`: Belarusian (bel). - `Bengali = 22`: Bengali (ben). - `Tibetan = 23`: Tibetan (bod). - `Bosnian = 24`: Bosnian (bos). - `Breton = 25`: Breton (bre). - `Bulgarian = 26`: Bulgarian (bul). - `Catalan = 27`: Catalan; Valencian (cat). - `Corsican = 28`: Corsican (cos). - `Cebuano = 29`: Cebuano (ceb). - `Czech = 30`: Czech (ces). - `Cherokee = 31`: Cherokee (chr). - `Welsh = 32`: Welsh (cym). - `Danish = 33`: Danish (dan). - `DanishFraktur = 34`: Danish Fraktur (dan_frak) Fraktur, a set of typefaces developed in the early 16th century. - `Dzongkha = 35`: Dzongkha (dzo). - `Greek = 36`: Greek, Modern (1453-) (ell). - `EnglishMiddle = 37`: English, Middle (1100-1500) (enm). - `Esperanto = 38`: Esperanto (epo). - `MathEquationDetection = 39`: Math / equation detection module (equ). - `Estonian = 40`: Estonian (est). - `Faroese = 41`: Faroese (fao). - `Basque = 42`: Basque (eus). - `Persian = 43`: Persian (fas). - `Finnish = 44`: Finnish (fin). - `Filipino = 45`: Filipino (fil). - `GermanFraktur = 46`: German Fraktur (frk) Fraktur, a set of typefaces developed in the early 16th century. - `FrenchMiddle = 47`: French, Middle (ca. 1400-1600) (frm). - `Frisian = 48`: Frisian (fry). - `Irish = 49`: Irish (gle). - `Galician = 50`: Galacian (glg). - `ScottishGaelic = 51`: Scottish Gaelic (gla). - `GreekAncient = 52`: Greek, Ancient (to 1453) (grc). - `Gujarati = 53`: Gujarati (guj). - `Haitian = 54`: Hatian; Hatian Creole (hat). - `Hebrew = 55`: Hebrew (heb). - `Hindi = 56`: Hindi (hin). - `Croatian = 57`: Coratian (hrv). - `Hungarian = 58`: Hungarian (hun). - `Inuktitut = 59`: Inuktitut (iku). - `Indonesian = 60`: Indonesian (ind). - `Icelandic = 61`: Icelandic (isl). - `ItalianOld = 62`: Italian, old (before 1800) (ita_old). - `Javanese = 63`: Javanese (jav). - `Kannada = 64`: Kannada (kan). - `Georgian = 65`: Georgian (kat). - `GeorgianOld = 66`: Georgian, old (before 1000) (kat_old). - `Kazakh = 67`: Kazakh (kaz). - `CentralKhmer = 68`: Central Khmer (khm). - `Kyrgyz = 69`: Kirghiz; Kyrgyz. - `Kurmanji = 70`: Kurmanji (Kurdish - Latin Script). - `Lao = 71`: Lao (lao). - `Latin = 72`: Latin (lat). - `Latvian = 73`: Latvian (lav). - `Lithuanian = 74`: Lithuanian (lit). - `Luxembourgish = 75`: Luxembourgish (ltz). - `Malayalam = 76`: Malayalam (mal). - `Marathi = 77`: Marathi (mar). - `Macedonian = 78`: Macedonian (mkd). - `Maltese = 79`: Maltese (mlt). - `Mongolian = 80`: Mongolian (mon). - `Maori = 81`: Maori (mri). - `Malay = 82`: Malay (msa). - `Burmese = 83`: Burmese (mya). - `Nepali = 84`: Nepali (nep). - `Norwegian = 85`: Norwegian (nor). - `Occitan = 86`: Occitan (post 1500) (oci). - `Oriya = 87`: Oriya (ori). - `OrientationAndScriptDetection = 88`: Orientation and script detection module (osd). - `Panjabi = 89`: Panjabi; Punujabi (pan). - `Polish = 90`: Polish (pol). - `Pashto = 91`: Pashto; Pushto (pus). - `Quechua = 92`: Quechua (que). - `Romanian = 93`: Romanian; Moldavian; Moldovan (ron). - `Russian = 94`: Russian (rus). - `Sanskrit = 95`: Sanskrit (san). - `Sinhala = 96`: Sinhala; Sinhalese (sin). - `Slovak = 97`: Slovak (slk). - `SlovakFraktur = 98`: Slovak Fraktur (slk_frak) Fraktur, a set of typefaces developed in the early 16th century. - `Slovenian = 99`: Slovenian (slv). - `Sindhi = 100`: Sindhi (snd). - `SpanishOld = 101`: Spanish; Castilian (before 1400) (spa_old). - `Albanian = 102`: Albanian (sqi). - `Serbian = 103`: Serbian (srp). - `SerbianLatin = 104`: Serbian - Latin (srp_latn). - `Sundanese = 105`: Sundanese (sun). - `Swahili = 106`: Swahili (swa). - `Swedish = 107`: Swedish (swe). - `Tamil = 108`: Tamil (tam). - `Tatar = 109`: Tatar (tat). - `Telugu = 110`: Telugu (tel). - `Tajik = 111`: Tajik (tgk). - `Tagalog = 112`: Tagalag (new, Filipino) (tgl). - `Thai = 113`: Thai (tha). - `Tigrinya = 114`: Tigrinya (tir). - `Tonga = 115`: Tonga (ton). - `Turkish = 116`: Turkish (tur). - `Uyghur = 117`: Uyghur; Uighur (uig). - `Ukrainian = 118`: Ukrainian (ukr). - `Urdu = 119`: Urdu (urd). - `Uzbek = 120`: Uzbek (uzb). - `UzbekCyrillic = 121`: Uzbek - Cyrillic (uzb_cyrl). - `Vietnamese = 122`: Vietnamese (vie). - `Yiddish = 123`: Yiddish (yid). - `Yoruba = 124`: Yoruba (yor). --- # LanguageSetting Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LanguageSetting ```csharp class LanguageSetting : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Specify a language, along with any metadata about that language. **Referenced by:** [`LanguageSetting`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LanguageSetting.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCRParams.md) **Uses types:** [`Language`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Language.md), [`LanguageSetting`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LanguageSetting.md) ## Constructors ### LanguageSetting ```csharp Datalogics.PDFL.LanguageSetting.LanguageSetting(Language language, bool prohibit) ``` *constructor* **Parameters** - `language` ([`Language`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Language.md)): the language to specify - `prohibit` (`bool`): Instead of loading this language, prohibit the language from being loaded as an adjunct of another language. create a language setting ## Properties ### Language ```csharp Language Datalogics.PDFL.LanguageSetting.Language { get; set; } ``` The language being specified. ### Prohibit ```csharp bool Datalogics.PDFL.LanguageSetting.Prohibit { get; set; } ``` Instead of loading this language, prohibit the language from being loaded as an adjunct of another language. ## Methods ### Dispose ```csharp void Datalogics.PDFL.LanguageSetting.Dispose() ``` **Returns:** `void` --- # LaunchAction Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction ```csharp class LaunchAction : Action ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md) ## Description A launch action launches an application or opens or prints a document. **Referenced by:** [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### LaunchAction ```csharp Datalogics.PDFL.LaunchAction.LaunchAction(FileSpecification fileSpec) ``` *constructor* **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### FileSpecification ```csharp FileSpecification Datalogics.PDFL.LaunchAction.FileSpecification { get; set; } ``` ### NewWindow ```csharp bool Datalogics.PDFL.LaunchAction.NewWindow { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Action.PDFDict { get; } ``` ### Subtype ```csharp string Datalogics.PDFL.Action.Subtype { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Action.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Action.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Action.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/Library ```csharp class Library : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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. **Referenced by:** [`Library`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Library.md) **Uses types:** [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Library`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Library.md), [`LibraryFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags.md), [`LogParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LogParams.md), [`TempStoreType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TempStoreType.md) ## Constructors ### Library ```csharp 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 ```csharp Datalogics.PDFL.Library.Library(LibraryFlags flags) ``` *constructor* **Parameters** - `flags` ([`LibraryFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags.md)): 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 ```csharp Datalogics.PDFL.Library.Library(System.Collections.Generic.IList< System.String > fontPaths) ``` *constructor* **Parameters** - `fontPaths` (`System.Collections.Generic.IList< System.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 ```csharp Datalogics.PDFL.Library.Library(System.Collections.Generic.IList< System.String > fontPaths, LibraryFlags flags) ``` *constructor* **Parameters** - `fontPaths` (`System.Collections.Generic.IList< System.String >`): list of directories to search for fonts - `flags` ([`LibraryFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags.md)): 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 ```csharp Datalogics.PDFL.Library.Library(System.Collections.Generic.IList< System.String > fontPaths, string CMapPath, string UnicodePath, LibraryFlags flags) ``` *constructor* **Parameters** - `fontPaths` (`System.Collections.Generic.IList< System.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` ([`LibraryFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags.md)): 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 ```csharp Datalogics.PDFL.Library.Library(System.Collections.Generic.IList< System.String > fontPaths, string CMapPath, string UnicodePath, string ColorProfilePath, LibraryFlags flags) ``` *constructor* **Parameters** - `fontPaths` (`System.Collections.Generic.IList< System.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` ([`LibraryFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags.md)): 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. ## Properties ### APDFLVersion ```csharp static string Datalogics.PDFL.Library.APDFLVersion { get; } ``` *static* ### AllowOpeningXFA ```csharp bool Datalogics.PDFL.Library.AllowOpeningXFA { get; set; } ``` ### AllowRelaxedSyntax ```csharp bool Datalogics.PDFL.Library.AllowRelaxedSyntax { get; set; } ``` ### DLEVersion ```csharp static string Datalogics.PDFL.Library.DLEVersion { get; } ``` *static* ### DefaultTempPath ```csharp string Datalogics.PDFL.Library.DefaultTempPath { get; set; } ``` ### DefaultTempStore ```csharp TempStoreType Datalogics.PDFL.Library.DefaultTempStore { get; set; } ``` ### DefaultTempStoreMemLimit ```csharp int Datalogics.PDFL.Library.DefaultTempStoreMemLimit { get; set; } ``` ### FormsExtensionVersion ```csharp static string Datalogics.PDFL.Library.FormsExtensionVersion { get; } ``` *static* ### InstallLocation ```csharp static string Datalogics.PDFL.Library.InstallLocation { get; } ``` *static* ### LicenseKey ```csharp static string Datalogics.PDFL.Library.LicenseKey { get; set; } ``` *static* ### LogParams ```csharp LogParams Datalogics.PDFL.Library.LogParams { get; set; } ``` ### ResourceDirectory ```csharp static string Datalogics.PDFL.Library.ResourceDirectory { get; } ``` *static* ## Methods ### ChangeWorkingSpaceCMYK ```csharp void Datalogics.PDFL.Library.ChangeWorkingSpaceCMYK(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used. **Returns:** `void` Sets the current CMYK working space to the specified ICC profile. ### ChangeWorkingSpaceCMYK ```csharp void 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 ```csharp void Datalogics.PDFL.Library.ChangeWorkingSpaceGray(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used. **Returns:** `void` Sets the current Gray working space to the specified ICC profile. ### ChangeWorkingSpaceGray ```csharp void 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 ```csharp void Datalogics.PDFL.Library.ChangeWorkingSpaceRGB(ColorProfile colorProfile) ``` **Parameters** - `colorProfile` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The Color Profile to be used. **Returns:** `void` Sets the current RGB working space to the specified ICC profile. ### ChangeWorkingSpaceRGB ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.Library.Dispose() ``` **Returns:** `void` ### EnableLicensedBehavior ```csharp static bool Datalogics.PDFL.Library.EnableLicensedBehavior(string arg0) ``` *static* **Parameters** - `arg0` (`string`): A base64-encoded string containing the encrypted license key. **Returns:** `bool` 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. ### Initialized ```csharp static bool Datalogics.PDFL.Library.Initialized() ``` *static* **Returns:** `bool` true if the PDF Library is initialized on this thread Check to see if the library is initialized ### IsFormsExtensionAvailable ```csharp bool Datalogics.PDFL.Library.IsFormsExtensionAvailable() ``` **Returns:** `bool` 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. ### Terminate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/LibraryException ```csharp class LibraryException : ApplicationException ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `ApplicationException` ## Constructors ### LibraryException ```csharp 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 ## Properties ### AdditionalInfo ```csharp string Datalogics.PDFL.LibraryException.AdditionalInfo { get; } ``` Additional information about the exception. ### ErrorCode ```csharp int Datalogics.PDFL.LibraryException.ErrorCode { get; } ``` The internal PDF Library error code. ### ObjectName ```csharp string Datalogics.PDFL.LibraryException.ObjectName { get; } ``` The name of the object that caused the exception. --- # LibraryFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LibraryFlags **Namespace:** `Datalogics::PDFL` ## Description Flags for initializing the library. Unless you require fine-grain control of the intialization process of the library there is no need to use LibraryFlags or you can specify the value of NoFlags. ## Values - `NoFlags = 0`: No flag is specified. - `IgnoreDefaultDirectories = 1`: Search for fonts ignore compiled in default directories - `CheckSubFonts = 4`: Check for substitution fonts at toolkit initialization. If they are not found, return an error. - `InitPDFEdit = 32`: Initialize PDFEdit if this is true. - `IgnoreCurrentDirectory = 256`: Ignore the current working directory only when searching for fonts - `DisableMemorySuballocator = 512`: Disable suballocation of memory. - `PreferLocalFonts = 1024`: Prefer fonts loaded from directories other than those controlled by the operating system - `InitFormsExtension = 65536`: Loads the Forms Extension dependencies, otherwise they are not loaded. --- # LineAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation ```csharp class LineAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LineEndingStyle`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineEndingStyle.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### LineAnnotation ```csharp Datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the LineAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The starting coordinate of the line, in user space. - `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.LineAnnotation.LineAnnotation(Page page, Rect initialRect, Point startPoint, Point endPoint, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The starting coordinate of the line, in user space. - `endPoint` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.LineAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.LineAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.LineAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### EndPoint ```csharp Point Datalogics.PDFL.LineAnnotation.EndPoint { get; set; } ``` ### EndPointEndingStyle ```csharp LineEndingStyle Datalogics.PDFL.LineAnnotation.EndPointEndingStyle { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### StartPoint ```csharp Point Datalogics.PDFL.LineAnnotation.StartPoint { get; set; } ``` ### StartPointEndingStyle ```csharp LineEndingStyle Datalogics.PDFL.LineAnnotation.StartPointEndingStyle { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.LineAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # LineCap Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineCap **Namespace:** `Datalogics::PDFL` ## Description The line cap style specifies the shape to be used at the ends of open subpaths (and dashes, if any) when they are stroked. ## Values - `ButtCap = 0`: The stroke is squared off at the endpoint of the path. There is no projection beyond the end of the path. - `RoundCap = 1`: A semicircular arc with a diameter equal to the line width is drawn around the endpoint and filled in. - `SquareCap = 2`: The stroke continues beyond the endpoint of the path for a distance equal to half the line width and is squared off. --- # LineEndingStyle Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineEndingStyle **Namespace:** `Datalogics::PDFL` ## Values - `Square = 0`: A square line ending. - `Circle = 1`: A circular line ending. - `Diamond = 2`: A diamond-shaped line ending. - `OpenArrow = 3`: Two short lines meeting in an acute angle to form an open arrowhead. - `ClosedArrow = 4`: Two short lines meeting in an acute angle as in the OpenArrow style and connected by a third line to form a triangular closed arrowhead. - `Butt = 5`: A short line at the endpoint perpendicular to the line itself (a butt cap). - `ReverseOpenArrow = 6`: Two short lines in the reverse direction from OpenArrow. - `ReverseClosedArrow = 7`: A triangular closed arrowhead in the reverse direction from ClosedArrow. - `Slash = 8`: A short line at the endpoint approximately 60 degrees from the line itself. - `None = 9`: No line ending. --- # LineJoin Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineJoin **Namespace:** `Datalogics::PDFL` ## Description The line join style specifies the shape to be used at the corners of paths that are stroked. Join styles are significant only at points where consecutive segments of a path connect at an angle; segments that meet or intersect fortuitously receive no special treatment. ## Values - `MiterJoin = 0`: The outer edges of the strokes for the two segments are extended until they meet at an angle, as in a picture frame. If the segments meet at too sharp an angle, a bevel join is used instead. - `RoundJoin = 1`: An arc of a circle with a diameter equal to the line width is drawn around the point where the two segments meet, connecting the outer edges of the strokes for the two segments. This pieslice-shaped figure is filled in, producing a rounded corner. - `BevelJoin = 2`: The two segments are finished with butt caps and the resulting notch beyond the ends of the segments is filled with a triangle. --- # LineTo Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineTo ```csharp class LineTo : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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} **Referenced by:** [`LineTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineTo.md) **Uses types:** [`LineTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineTo.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### LineTo ```csharp 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 ```csharp Datalogics.PDFL.LineTo.LineTo(Point lineToPoint) ``` *constructor* **Parameters** - `lineToPoint` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Point ```csharp Point Datalogics.PDFL.LineTo.Point { get; set; } ``` The new current point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.LineTo.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation ```csharp class LinkAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md) ## Description A link annotation, which features an embedded hyperlink. **Referenced by:** [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`HighlightStyle`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HighlightStyle.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### LinkAnnotation ```csharp Datalogics.PDFL.LinkAnnotation.LinkAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the LinkAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.LinkAnnotation.LinkAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Action ```csharp Action Datalogics.PDFL.LinkAnnotation.Action { get; set; } ``` ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.LinkAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.LinkAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.LinkAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Destination ```csharp ViewDestination Datalogics.PDFL.LinkAnnotation.Destination { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### Highlight ```csharp HighlightStyle Datalogics.PDFL.LinkAnnotation.Highlight { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### CopyTo ```csharp LinkAnnotation Datalogics.PDFL.LinkAnnotation.CopyTo(Page destination) ``` **Parameters** - `destination` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp LinkAnnotation Datalogics.PDFL.LinkAnnotation.CopyTo(Page destination, Point centerPoint) ``` **Parameters** - `destination` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): the point to center the annotation on. **Returns:** [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.LinkAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # LogOutputFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LogOutputFlags **Namespace:** `Datalogics::PDFL` ## Description Flags that control where DLE log output is written. Multiple flags can be combined using bitwise OR to send log output to more than one destination simultaneously. ## Values - `None = 0`: Disable all logging - `Console = 0x0002`: Use Console to write log - `File = 0x0004`: Use file to write log. - `EventLog = 0x0008`: Post log in Windows Logs -> Application --- # LogParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LogParams ```csharp class LogParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Library.md), [`LogParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LogParams.md) **Uses types:** [`LogOutputFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LogOutputFlags.md), [`LogParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LogParams.md) ## Constructors ### LogParams ```csharp 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. ## Properties ### LogFileName ```csharp string Datalogics.PDFL.LogParams.LogFileName { get; set; } ``` ### LogFormat ```csharp string Datalogics.PDFL.LogParams.LogFormat { get; set; } ``` ### LogOutputFlags ```csharp LogOutputFlags Datalogics.PDFL.LogParams.LogOutputFlags { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.LogParams.Dispose() ``` **Returns:** `void` --- # Matrix Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix ```csharp class Matrix : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md) ## Constructors ### Matrix ```csharp 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 ```csharp 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. ## Properties ### A ```csharp double Datalogics.PDFL.Matrix.A { get; set; } ``` The horizontal scaling component of the matrix. ### B ```csharp double Datalogics.PDFL.Matrix.B { get; set; } ``` The vertical shearing component of the matrix. ### C ```csharp double Datalogics.PDFL.Matrix.C { get; set; } ``` The horizontal shearing component of the matrix. ### D ```csharp double Datalogics.PDFL.Matrix.D { get; set; } ``` The vertical scaling component of the matrix. ### H ```csharp double Datalogics.PDFL.Matrix.H { get; set; } ``` The horizontal translation component of the matrix. ### V ```csharp double Datalogics.PDFL.Matrix.V { get; set; } ``` The vertical translation component of the matrix. ## Methods ### Concat ```csharp Matrix Datalogics.PDFL.Matrix.Concat(Matrix Mt) ``` **Parameters** - `Mt` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): The matrix to concatenate (premultiply) onto this matrix. **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Matrix.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Matrix.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### Invert ```csharp Matrix Datalogics.PDFL.Matrix.Invert() ``` **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md) The inverted matrix. Invert the Matrix object and return a new Matrix object. ### Multiply ```csharp static Matrix Datalogics.PDFL.Matrix.Multiply(Matrix m1, Matrix m2) ``` *static* **Parameters** - `m1` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): a matrix - `m2` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): a matrix **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md) the matrix product m1 x m2 Multiply two transformation matrices. ### Rotate ```csharp Matrix Datalogics.PDFL.Matrix.Rotate(double T) ``` **Parameters** - `T` (`double`): The rotation, counterclockwise **Returns:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Matrix 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/DotNet/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. ### ToString ```csharp override string Datalogics.PDFL.Matrix.ToString() ``` **Returns:** `override 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 ```csharp Matrix 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/DotNet/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. --- # MirrorOptions Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MirrorOptions **Namespace:** `Datalogics::PDFL` ## Values - `DontFlip = 1`: No mirroring. - `FlipX = 2`: Mirror across x-axis. - `FlipY = 4`: Mirror across y-axis. - `FlipXY = 8`: Mirror across x and y-axis. --- # MissingFontStrategy Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MissingFontStrategy **Namespace:** `Datalogics::PDFL` ## Description The behavior to use if a suitable Font can't be found to represent the recognized Text. ## Values - `RaiseAnException = 0`: Raise an exception. - `IgnoreMissingFont = 1`: Ignore the missing Font and continue recognizing the next Word of Text. - `ReplacementText = 2`: Replace the characters of Text with the Unicode replacement Character. NOTE: the CandidateFontsNames member of the OCRParams instance must include a Font that can represent this character or an exception will be raised. --- # MoveTo Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/MoveTo ```csharp class MoveTo : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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} **Referenced by:** [`MoveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/MoveTo.md) **Uses types:** [`MoveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/MoveTo.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### MoveTo ```csharp 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 ```csharp Datalogics.PDFL.MoveTo.MoveTo(Point newCurrentPoint) ``` *constructor* **Parameters** - `newCurrentPoint` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Point ```csharp Point Datalogics.PDFL.MoveTo.Point { get; set; } ``` The new current point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.MoveTo.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace ```csharp class NamedColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md) ## Description Class used to define the color space in use. **Referenced by:** [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Properties ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.NamedColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### MakeDeviceRGBA ```csharp static NamedColorSpace Datalogics.PDFL.NamedColorSpace.MakeDeviceRGBA() ``` *static* **Returns:** [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # NamedFunction Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction ```csharp class NamedFunction : Function ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`NamedFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedFunction.md) ## Properties ### Default ```csharp static Function Datalogics.PDFL.Function.Default { get; } ``` *static* A Function representing the Default named function. ### Domain ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Domain { get; set; } ``` ### Identity ```csharp static Function Datalogics.PDFL.Function.Identity { get; } ``` *static* A Function representing the Identity named function, which returns its input values unchanged. ### NInputs ```csharp int Datalogics.PDFL.Function.NInputs { get; } ``` ### NOutputs ```csharp int Datalogics.PDFL.Function.NOutputs { get; } ``` ### Name ```csharp string Datalogics.PDFL.NamedFunction.Name { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Range { get; set; } ``` ## Methods ### Apply ```csharp override System.Collections.Generic.IList< System.Double > Datalogics.PDFL.NamedFunction.Apply(System.Collections.Generic.IList< System.Double > args) ``` **Parameters** - `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `override System.Collections.Generic.IList< System.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. ### Dispose ```csharp void Datalogics.PDFL.Function.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.NamedFunction.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.NamedFunction.ToString() ``` **Returns:** `override string` The name of this NamedFunction. Convert the function to a displayable string. ### operator!= ```csharp static bool Datalogics.PDFL.Function.operator!=(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are not equal; otherwise, false. Tests two Function objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.Function.operator==(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are equal; otherwise, false. Tests two Function objects for equality. --- # NameTree Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree ```csharp class NameTree : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md) ## Constructors ### NameTree ```csharp Datalogics.PDFL.NameTree.NameTree(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which to create the NameTree. Creates a new, empty NameTree in the specified Document. ## Properties ### PDFDict ```csharp PDFDict Datalogics.PDFL.NameTree.PDFDict { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.NameTree.Dispose() ``` **Returns:** `void` ### EnumEntries ```csharp void Datalogics.PDFL.NameTree.EnumEntries(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp override bool Datalogics.PDFL.NameTree.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### Get ```csharp PDFObject Datalogics.PDFL.NameTree.Get(PDFString key) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md)): The name of the PDFObject to get from the tree. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) - The PDFObject value corresponding to the supplied key Retrieves an entry from this NameTree. ### Put ```csharp void Datalogics.PDFL.NameTree.Put(PDFString key, PDFObject value) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md)): The name of the PDFObject to put in the tree. - `value` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.NameTree.Remove(PDFString key) ``` **Parameters** - `key` ([`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/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. --- # NumberStyle Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/NumberStyle **Namespace:** `Datalogics::PDFL` ## Description Specifies the numbering style for page labels in a document. ## Values - `Decimal = 0`: Decimal arabic numerals (1,2,3...) - `RomanUppercase = 1`: Uppercase Roman numerals (I,II,III...) - `RomanLowercase = 2`: Lowercase Roman numerals (i,ii,iii...) - `LetterUppercase = 3`: Uppercase letters (A,B,C...AA,BB...) - `LetterLowercase = 4`: Lowercase letters (a,b,c...aa,bb...) - `None = 5`: Use no NumberStyle, only Prefix --- # NumberTree Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree ```csharp class NumberTree : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) ## Constructors ### NumberTree ```csharp Datalogics.PDFL.NumberTree.NumberTree(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document in which to create the NumberTree. Creates a new, empty NumberTree in the specified Document. ## Properties ### PDFDict ```csharp PDFDict Datalogics.PDFL.NumberTree.PDFDict { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.NumberTree.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.NumberTree.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### Get ```csharp PDFObject 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/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) The PDFObject value corresponding to the supplied key. Retrieves an entry from this NumberTree. ### Put ```csharp void 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/DotNet/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 ```csharp void 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. --- # ObjectCompressionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ObjectCompressionType **Namespace:** `Datalogics::PDFL` ## Description Enumerator to allow the selection of object compression type to Set the values for object compression type. ## Values - `None = 1`: No object compression is used. - `Structure = 2`: Only logical structure information uses object compression. - `LeaveUnchanged = 3`: The current object compression is unchanged. - `All = 0`: Object compression is used wherever possible. --- # OCREngine Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine ```csharp class OCREngine : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`Language`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Language.md), [`MissingFontStrategy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MissingFontStrategy.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCRParams.md) ## Constructors ### OCREngine ```csharp Datalogics.PDFL.OCREngine.OCREngine() ``` *constructor* Create an OCR engine. ### OCREngine ```csharp Datalogics.PDFL.OCREngine.OCREngine(OCRParams ocrParams) ``` *constructor* **Parameters** - `ocrParams` ([`OCRParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCRParams.md)): the configuration to use Create an OCR engine with a specified configuration. ## Properties ### AvailableLanguages ```csharp System.Collections.Generic.IList Datalogics.PDFL.OCREngine.AvailableLanguages { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.OCREngine.Dispose() ``` **Returns:** `void` ### IsLanguageAvailable ```csharp bool Datalogics.PDFL.OCREngine.IsLanguageAvailable(Language language) ``` **Parameters** - `language` ([`Language`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Language.md)): the language to check **Returns:** `bool` true if the language is available, false otherwise Query if a language for OCR is available for use. ### PlaceTextUnder ```csharp Form Datalogics.PDFL.OCREngine.PlaceTextUnder(Image image) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Form Datalogics.PDFL.OCREngine.PlaceTextUnder(Image image, Document inDocument) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Form Datalogics.PDFL.OCREngine.PlaceTextUnder(Image image, Document inDocument, double resolution) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Form Datalogics.PDFL.OCREngine.PlaceTextUnder(Image image, Document inDocument, double resolution, MissingFontStrategy missingFontStrategy) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. - `resolution` (`double`): The resolution of the Image being recognized. - `missingFontStrategy` ([`MissingFontStrategy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MissingFontStrategy.md)): The behavior to use if a Font can't be found to represent the recognized text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Form Datalogics.PDFL.OCREngine.PlaceTextUnder(Image image, Document inDocument, MissingFontStrategy missingFontStrategy) ``` **Parameters** - `image` ([`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md)): The image in which to recognize text. - `inDocument` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The destination document for the created form. - `missingFontStrategy` ([`MissingFontStrategy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MissingFontStrategy.md)): The behavior to use if a Font can't be found to represent the recognized text. **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/OCRParams ```csharp class OCRParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCRParams.md) **Uses types:** [`LanguageSetting`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LanguageSetting.md), [`OCRParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCRParams.md), [`PageSegmentationMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSegmentationMode.md), [`Performance`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Performance.md) ## Constructors ### OCRParams ```csharp Datalogics.PDFL.OCRParams.OCRParams() ``` *constructor* Create an OCRParams structure with defaults. ## Properties ### CandidateFontNames ```csharp System.Collections.Generic.IList Datalogics.PDFL.OCRParams.CandidateFontNames { get; set; } ``` ### ConfigurationParameters ```csharp System.Collections.Generic.IDictionary Datalogics.PDFL.OCRParams.ConfigurationParameters { get; set; } ``` ### EnableImagePreprocessing ```csharp bool Datalogics.PDFL.OCRParams.EnableImagePreprocessing { get; set; } ``` ### Engine ```csharp string Datalogics.PDFL.OCRParams.Engine { get; set; } ``` ### Languages ```csharp System.Collections.Generic.IList Datalogics.PDFL.OCRParams.Languages { get; set; } ``` ### PageSegmentationMode ```csharp PageSegmentationMode Datalogics.PDFL.OCRParams.PageSegmentationMode { get; set; } ``` ### Performance ```csharp Performance Datalogics.PDFL.OCRParams.Performance { get; set; } ``` ### Resolution ```csharp double Datalogics.PDFL.OCRParams.Resolution { get; set; } ``` ### Tesseract4Engine ```csharp static string Datalogics.PDFL.OCRParams.Tesseract4Engine { get; } ``` *static* ## Methods ### Dispose ```csharp void Datalogics.PDFL.OCRParams.Dispose() ``` **Returns:** `void` --- # OptimizerOption Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptimizerOption **Namespace:** `Datalogics::PDFL` ## Description Select the optimization option to be set or obtained. ## Values - `DownsampleColor = 1`: When this option is ON, Downsample all color images above MAX DPI to ResetTo DPI. Default is ON. - `RecompressColor = 2`: When this option is ON, recompress all color images which are compressed by a different scheme than one select by RecompressTo to RecompressTo. Default is ON. - `DownsampleGray = 3`: When this option is ON, Downsample all gray scale images above MAX DPI to ResetTo DPI. Default is ON. - `RecompressGray = 4`: When this option is ON, recompress all gray scale images which are compressed by a different scheme than one select by RecompressTo to RecompressTo. Default is ON. - `DownsampleBW = 5`: When this option is ON, Downsample all Black and White images above MAX DPI to ResetTo DPI. Default is ON. - `RecompressBW = 6`: When this option is ON, recompress all Black and White images which are compressed by a different scheme than one select by RecompressTo to RecompressTo. Default is ON. - `RecompressOnlyIfSmaller = 7`: In all of the above Downsample and Recompress operations, if this option is ON, replace the image ONLY if the resultant compressed image is smaller than the original. Default is ON. - `DiscardAlternateImages = 8`: When this option is ON, any Alternate Images defined for a given image (Images in different resolutions than the base image) will be discarded. Default is ON. - `SubsetAllEmbeddedFonts = 9`: When this option is ON, any fonts which are embedded, but not subset, will be replaced with subset fonts. This can save considerable space in a document, but does so at the risk of preventing future edits to the document. Default is ON. - `ReSubsetAllSubsetFonts = 37`: When this option is ON, any fonts which are subset embedded, will be replaced with a newly subset font. This will generally only happen if the document has been edited since it was created, or the document contains only a subset of the page that it originally contained. NOTE: This can only REMOVE glyphs from the subset font. It cannot add glyphs that were not present int he original subset. Default is ON. - `RemoveAllEmbeddedFonts = 10`: When this option is ON, all embedded fonts will be removed. If this is done, the document can only be viewed on platforms which contain all of the fonts required. Generally, you would want to do this only in very tightly controlled circumstances. Default is OFF. - `RemoveAllBase14Fonts = 11`: This will remove any embedded base 14 fonts. Generally, it is safe to remove these fonts, as any platform that supports PDF should have locally available copies of them. However, there is still some risk that the embedded fonts are not identical to the actual base14 fonts, and hence may render differently. Default is OFF. - `MergeDuplicateFonts = 12`: When this option is ON, the document will be searched for mutliple copies of the same font. These will then be combined into a single font. Default is ON. - `DiscardBookmarks = 13`: When this option is ON, all bookmarks will be removed from the document. Note that this information cannot be reconstructed. Default is OFF. - `DiscardAcroforms = 14`: When this option is ON, All acroform structures will be removed from the document. NOTE: Filled in fields, if any, will be left in the document. So the content of those fields will continue to display. Default is ON. - `DiscardOutputIntent = 15`: When this option is ON, any OutputIntent structures in the document, along with their associated color profiles, will be removed. This may cause color shifting, when rendering the document. Default is OFF. - `DiscardThumbnails = 16`: When this option is ON, any thumbnails embedded in the document will be removed. Default is ON. - `DiscardPageLabels = 17`: When this option is ON, discard any Page Label Trees embedded in the document This may cause a difference in the display and selection of pages in some viewers. Default is ON. - `DiscardNameTress = 18`: When this option is ON, discard any NameTrees in the document. This may cause issues with links within the document. Default is ON. - `DiscardStructureTrees = 19`: When this option is ON, discard any structure trees in the document. Default is OFF. - `DiscardFileAttachments = 20`: When this option is ON, remove any document embedded in the PDF Document. Default is ON. - `DiscardXMPPadding = 21`: When this option is ON, remove from the XMP Metadata any padding areas, left to allow the XMP data to be updated. Default is ON. - `DiscardUnusedForms = 22`: When this option is ON, remove any Forms XObjects which are included in the document, but never displayed in the document. Default is ON. - `DiscardPieceData = 23`: When this option is ON, remove any user supplied private PieceData embedded in the document. This will never effect appearance, but may limit the use of special processing by the application that provided this data. Default is ON. - `CompressStreams = 24`: When this option is ON, any streams (of more than 20 bytes length) which are not compressed will be compressed using Flate. Default is ON. - `ReplaceLZW = 25`: When this option is ON, any LZW Compressed streams will be recompressed using Flate. Default is ON. - `DiscardMetadata = 26`: When this option is ON, any Metadata embedded in the document (Except for the document level Metadata) will be removed. Default is OFF. - `DiscardDocumentInfo = 27`: When this option is ON, any Document Information, beyond the basic information supplied by APDFL, will be discarded. Note that this will also remove that information from the document level Metadata. Default is OFF. - `OptimizeContentStreams = 28`: When this option is ON, attempt to find common segments of code at the start of page content, and share a single copy of such common code. Default is ON. - `Linearize = 29`: When this option is ON, create the optimized document as Linearized (Optimized for Web Access). Default is OFF. - `DiscardDuplicateForms = 30`: When this option is ON, locate and remove duplicate copies of forms, using a single copy for all references to that form. Default is ON. - `DiscardDuplicateObjects = 31`: When this option is ON, locate and remove duplicate copies of objects, using a single copy for all references to that object. Default is ON. - `DiscardASCIIFilters = 32`: When this option is ON, remove the ASCIIHex and ASCII85 filters from any streams that use these as their final filters. These have historically been used to render data safe in a 7 bit data channel, or for debugging purposes Default is ON. - `DiscardComments = 33`: When this option is ON, remove all annotations which are commentary to the content (All "Markup" annotations). Default is OFF. - `DiscardAnnotations = 34`: When this option is ON, remove all annotations, of all types, from all pages. This may result in visible loss of information in the rendered pages. Default is OFF. - `DiscardJavaScriptActions = 35`: When this option is ON, remove all JavaScript actions in the document. Default is OFF. - `FlattenOptionalContent = 36`: When this option is ON, Optional Content in the document is Flattened. Default is OFF. - `DownConvert16To8BpcImages = 38`: When this option is ON, down-converts all 16 Bits Per Component images to 8 Bits Per Component. Default is ON. - `DiscardUnusedImages = 39`: When this option is ON, remove any Image XObjects which are included in the document, but never displayed in the document. Default is ON. - `DiscardUnusedFonts = 40`: When this option is ON, remove any Fonts which are included in the document, but never used in the document. Default is ON. --- # OptionalContentBaseState Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptionalContentBaseState **Namespace:** `Datalogics::PDFL` ## Values - `BaseStateOff = 0`: OptionalContentGroups affected by this OptionalContentConfig should be off by default - `BaseStateOn = 1`: OptionalContentGroups affected by this OptionalContentConfig should be on by default - `BaseStateUnchanged = 2`: OptionalContentGroups affected by this OptionalContentConfig should remain in the same state --- # OptionalContentConfig Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig ```csharp class OptionalContentConfig : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentBaseState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptionalContentBaseState.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### OptionalContentConfig ```csharp Datalogics.PDFL.OptionalContentConfig.OptionalContentConfig(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentConfig will belong to. Create a new OptionalContentConfig. ## Properties ### BaseState ```csharp OptionalContentBaseState Datalogics.PDFL.OptionalContentConfig.BaseState { get; set; } ``` ### Intent ```csharp System.Collections.Generic.IList Datalogics.PDFL.OptionalContentConfig.Intent { get; set; } ``` ### Name ```csharp string Datalogics.PDFL.OptionalContentConfig.Name { get; set; } ``` ### OffArray ```csharp System.Collections.Generic.IList Datalogics.PDFL.OptionalContentConfig.OffArray { get; set; } ``` ### OnArray ```csharp System.Collections.Generic.IList Datalogics.PDFL.OptionalContentConfig.OnArray { get; set; } ``` ### Order ```csharp OptionalContentOrderArray Datalogics.PDFL.OptionalContentConfig.Order { get; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.OptionalContentConfig.PDFDict { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.OptionalContentConfig.Dispose() ``` **Returns:** `void` --- # OptionalContentContext Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext ```csharp class OptionalContentContext : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentDrawingPolicy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptionalContentDrawingPolicy.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md) ## Constructors ### OptionalContentContext ```csharp Datalogics.PDFL.OptionalContentContext.OptionalContentContext(Document document) ``` *constructor* **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### DrawOptionalContent ```csharp OptionalContentDrawingPolicy Datalogics.PDFL.OptionalContentContext.DrawOptionalContent { get; set; } ``` ## Methods ### Clone ```csharp OptionalContentContext Datalogics.PDFL.OptionalContentContext.Clone() ``` **Returns:** [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md) A copy of the original optional content context. Makes a copy of the optional content context. ### Dispose ```csharp void Datalogics.PDFL.OptionalContentContext.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.OptionalContentContext.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GetOCGStates ```csharp System.Collections.Generic.IList< System.Boolean > Datalogics.PDFL.OptionalContentContext.GetOCGStates(System.Collections.Generic.IList< OptionalContentGroup > ocgs) ``` **Parameters** - `ocgs` ([`System.Collections.Generic.IList< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of optional-content groups whose states are obtained. **Returns:** `System.Collections.Generic.IList< System.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 ```csharp bool Datalogics.PDFL.OptionalContentContext.GetStateOfOCG(OptionalContentGroup ocg) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The optional content group whose state will be retrieved. **Returns:** `bool` 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. ### SetOCGStates ```csharp void Datalogics.PDFL.OptionalContentContext.SetOCGStates(System.Collections.Generic.IList< OptionalContentGroup > ocgs, System.Collections.Generic.IList< System.Boolean > newStates) ``` **Parameters** - `ocgs` ([`System.Collections.Generic.IList< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): A list of optional-content groups. - `newStates` (`System.Collections.Generic.IList< System.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 ```csharp void Datalogics.PDFL.OptionalContentContext.SetStateOfOCG(OptionalContentGroup ocg, bool newValue) ``` **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The optional content group whose state will be set. - `newValue` (`bool`): 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 ```csharp override string Datalogics.PDFL.OptionalContentContext.ToString() ``` **Returns:** `override 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. --- # OptionalContentDrawingPolicy Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptionalContentDrawingPolicy **Namespace:** `Datalogics::PDFL` ## Description The policy for drawing optional content within the document. ## Values - `VisibleOptionalContent = 0`: Draw optional content that is visible according to the current state of the OptionalContentGroups and OptionalContentMembershipDicts. - `AllOptionalContent = 1`: Draw all optional content, regardless of visibility state. - `NoOptionalContent = 2`: Do not draw any optional content, regardless of visibility state. --- # OptionalContentGroup Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup ```csharp class OptionalContentGroup : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md) ## Constructors ### OptionalContentGroup ```csharp Datalogics.PDFL.OptionalContentGroup.OptionalContentGroup(Document doc, string name) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Intent ```csharp System.Collections.Generic.IList Datalogics.PDFL.OptionalContentGroup.Intent { get; set; } ``` ### Name ```csharp string Datalogics.PDFL.OptionalContentGroup.Name { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.OptionalContentGroup.PDFDict { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.OptionalContentGroup.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.OptionalContentGroup.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.OptionalContentGroup.ToString() ``` **Returns:** `override string` A string describing this OptionalContentGroup. Returns a string representation of this OptionalContentGroup. The string includes the group's name and its intent list. --- # OptionalContentMembershipDict Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict ```csharp class OptionalContentMembershipDict : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`VisibilityPolicy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VisibilityPolicy.md) ## Constructors ### OptionalContentMembershipDict ```csharp Datalogics.PDFL.OptionalContentMembershipDict.OptionalContentMembershipDict(Document doc, System.Collections.Generic.IList< OptionalContentGroup > ocgs, VisibilityPolicy vp) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentMembershipDict will belong to. - `ocgs` ([`System.Collections.Generic.IList< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The list of OptionalContentGroups this MembershipDict refers to. - `vp` ([`VisibilityPolicy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VisibilityPolicy.md)): The VisibilityPolicy of this MembershipDict. Create a new OptionalContentMembershipDict. ### OptionalContentMembershipDict ```csharp Datalogics.PDFL.OptionalContentMembershipDict.OptionalContentMembershipDict(Document doc, System.Collections.Generic.IList< OptionalContentGroup > ocgs, VisibilityPolicy vp, PDFArray visibilityExpression) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document that the new OptionalContentMembershipDict will belong to. - `ocgs` ([`System.Collections.Generic.IList< OptionalContentGroup >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The list of OptionalContentGroups this MembershipDict refers to. - `vp` ([`VisibilityPolicy`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VisibilityPolicy.md)): The VisibilityPolicy of this MembershipDict. - `visibilityExpression` ([`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md)): The VisibilityExpression of this MembershipDict. Create a new OptionalContentMembershipDict. ## Properties ### OptionalContentGroups ```csharp System.Collections.Generic.IList Datalogics.PDFL.OptionalContentMembershipDict.OptionalContentGroups { get; } ``` ### VisibilityExpression ```csharp PDFArray Datalogics.PDFL.OptionalContentMembershipDict.VisibilityExpression { get; } ``` ### VisibilityPolicy ```csharp VisibilityPolicy Datalogics.PDFL.OptionalContentMembershipDict.VisibilityPolicy { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.OptionalContentMembershipDict.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.OptionalContentMembershipDict.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.OptionalContentMembershipDict.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray ```csharp class OptionalContentOrderArray : OptionalContentOrderNode ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) ## Constructors ### OptionalContentOrderArray ```csharp Datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The Document this OptionalContentOrderArray is being created in Create an OptionalContentOrderArray with no title. ### OptionalContentOrderArray ```csharp Datalogics.PDFL.OptionalContentOrderArray.OptionalContentOrderArray(Document doc, string title) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Length ```csharp int Datalogics.PDFL.OptionalContentOrderArray.Length { get; } ``` ### Title ```csharp string Datalogics.PDFL.OptionalContentOrderArray.Title { get; set; } ``` ## Methods ### Add ```csharp void Datalogics.PDFL.OptionalContentOrderArray.Add(OptionalContentOrderNode node) ``` **Parameters** - `node` ([`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md)): The OptionalContentOrderNode to append to the Array **Returns:** `void` Adds an OptionalContentOrderNode to the end of the Array. ### Dispose ```csharp void Datalogics.PDFL.OptionalContentOrderNode.Dispose() ``` **Returns:** `void` ### Get ```csharp OptionalContentOrderNode Datalogics.PDFL.OptionalContentOrderArray.Get(int index) ``` **Parameters** - `index` (`int`): The index at which to fetch an OptionalContentOrderNode. **Returns:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) An OptionalContentOrderNode, or null if there is nothing at that index. Returns the OptionalContentOrderNode at the given index. ### Insert ```csharp void 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/DotNet/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 ```csharp void 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/DotNet/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 ```csharp void 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. --- # OptionalContentOrderLeaf Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf ```csharp class OptionalContentOrderLeaf : OptionalContentOrderNode ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf.md) **Uses types:** [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderLeaf.md) ## Constructors ### OptionalContentOrderLeaf ```csharp Datalogics.PDFL.OptionalContentOrderLeaf.OptionalContentOrderLeaf(OptionalContentGroup ocg) ``` *constructor* **Parameters** - `ocg` ([`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md)): The OptionalContentGroup this object will refer to. Create an OptionalContentOrderLeaf that refers to the OptionalContentGroup. ## Properties ### OptionalContentGroup ```csharp OptionalContentGroup Datalogics.PDFL.OptionalContentOrderLeaf.OptionalContentGroup { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.OptionalContentOrderNode.Dispose() ``` **Returns:** `void` --- # OptionalContentOrderNode Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode ```csharp class OptionalContentOrderNode : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`OptionalContentOrderArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`OptionalContentOrderLeaf`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderArray.md), [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) **Uses types:** [`OptionalContentOrderNode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentOrderNode.md) ## Methods ### Dispose ```csharp void Datalogics.PDFL.OptionalContentOrderNode.Dispose() ``` **Returns:** `void` --- # OutputType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OutputType **Namespace:** `Datalogics::PDFL` ## Description Specifies what kind of file to emit. ## Values - `PostScript = 0`: Emit a PostScript file. - `EPSNoPreview = 1`: Emit an EPS file with no preview. --- # OverprintMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OverprintMode **Namespace:** `Datalogics::PDFL` ## Description A code specifying whether a color component value of 0 in a DeviceCMYK color space should erase that component or leave it unchanged when overprinting. ## Values - `EraseComponent = 0`: A color component value of 0 in a DeviceCMYK color space should erase the component. - `LeaveUnchanged = 1`: A color component value of 0 in a DeviceCMYK color space should leave it unchanged. --- # Page Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page ```csharp class Page : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ImageCollection.md), [`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OCREngine.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageImageParams.md), [`PageRotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageRotation.md), [`QREncodeParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md) ## Constructors ### Page ```csharp Datalogics.PDFL.Page.Page(Document doc, int afterPageNum, Rect mediaBox) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Page.Page(Document doc, int pageNum) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### ArtBox ```csharp Rect Datalogics.PDFL.Page.ArtBox { get; set; } ``` ### BBox ```csharp Rect Datalogics.PDFL.Page.BBox { get; } ``` ### BleedBox ```csharp Rect Datalogics.PDFL.Page.BleedBox { get; set; } ``` ### Content ```csharp Content Datalogics.PDFL.Page.Content { get; } ``` ### CropBox ```csharp Rect Datalogics.PDFL.Page.CropBox { get; set; } ``` ### MediaBox ```csharp Rect Datalogics.PDFL.Page.MediaBox { get; set; } ``` ### NumAnnotations ```csharp int Datalogics.PDFL.Page.NumAnnotations { get; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Page.PDFDict { get; } ``` ### PageNumber ```csharp int Datalogics.PDFL.Page.PageNumber { get; } ``` ### RenderWarnings ```csharp int Datalogics.PDFL.Page.RenderWarnings { get; } ``` ### Rotation ```csharp PageRotation Datalogics.PDFL.Page.Rotation { get; set; } ``` ### TrimBox ```csharp Rect Datalogics.PDFL.Page.TrimBox { get; set; } ``` ### UserUnit ```csharp float Datalogics.PDFL.Page.UserUnit { get; set; } ``` ## Methods ### AddAnnotation ```csharp void 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/DotNet/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 ```csharp Annotation 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/DotNet/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/DotNet/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 ```csharp bool Datalogics.PDFL.Page.AddQRBarcode(QREncodeParams params_) ``` **Parameters** - `params_` ([`QREncodeParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams.md)) **Returns:** `bool` 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 ```csharp void 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 ```csharp bool Datalogics.PDFL.Page.ColorConvertContent(ColorConvertParams params_) ``` **Parameters** - `params_` ([`ColorConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorConvertParams.md)) **Returns:** `bool` 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 ```csharp Annotation 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/DotNet/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/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Page.Dispose() ``` **Returns:** `void` ### DrawContents ```csharp System.Byte[] Datalogics.PDFL.Page.DrawContents(DrawParams drawParams) ``` **Parameters** - `drawParams` ([`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md)): Parameters for the drawing operation **Returns:** `System.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 ```csharp System.Collections.Generic.List< System.Drawing.Bitmap > Datalogics.PDFL.Page.DrawContents(DrawParams drawParams, System.Collections.Generic.IList< SeparationColorSpace > separations) ``` **Parameters** - `drawParams` ([`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md)): Parameters for the drawing operation. - `separations` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md)): List of colorants, where each SeparationColorSpace was constructed from an ink and a page. Their tint transforms and alternates will be ignored **Returns:** `System.Collections.Generic.List< System.Drawing.Bitmap >` List, that contains a bitmap of each ink Draw the contents of this page to a list of grayscale bitmaps ### DrawContents ```csharp void Datalogics.PDFL.Page.DrawContents(System.Drawing.Bitmap bitmap, DrawParams parms) ``` **Parameters** - `bitmap` (`System.Drawing.Bitmap`): the image into which to rasterize the page. - `parms` ([`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md)): Parameters for the drawing operation. **Returns:** `void` Draw the contents of this page to an image. ### DrawContents ```csharp void Datalogics.PDFL.Page.DrawContents(System.Drawing.Bitmap bitmap, Matrix matrix, Rect updateRect) ``` **Parameters** - `bitmap` (`System.Drawing.Bitmap`): the image into which to rasterize the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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. NOTE: This overload is deprecated, you should use the overload DrawContents(Bitmap, DrawParams). ### DrawContents ```csharp void Datalogics.PDFL.Page.DrawContents(System.Drawing.IDeviceContext dc, DrawParams parms) ``` **Parameters** - `dc` (`System.Drawing.IDeviceContext`): A device context onto which to draw the page. - `parms` ([`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md)): Parameters for the drawing operation. **Returns:** `void` Draw the contents of this page to a device context. ### DrawContents ```csharp void Datalogics.PDFL.Page.DrawContents(System.Drawing.IDeviceContext dc, Matrix matrix, Rect updateRect) ``` **Parameters** - `dc` (`System.Drawing.IDeviceContext`): A device context onto which to draw the page. - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 a device context. ### FlattenOptionalContent ```csharp bool Datalogics.PDFL.Page.FlattenOptionalContent() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Page.FlattenOptionalContent(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which content is checked for visibility. **Returns:** `bool` 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 ```csharp Annotation 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md) The indexed annotation object. Gets the annotIndex annotation on the page. ### GetBitmap ```csharp System.Drawing.Bitmap Datalogics.PDFL.Page.GetBitmap(Rect exportRect, PageImageParams pip) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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:** `System.Drawing.Bitmap` Export a region of a PDF page to a System.Drawing.Bitmap. 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. ### GetImage ```csharp Image Datalogics.PDFL.Page.GetImage(Rect exportRect) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Image Datalogics.PDFL.Page.GetImage(Rect exportRect, PageImageParams ImageParams) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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 ```csharp Image Datalogics.PDFL.Page.GetImage(Rect exportRect, PageImageParams ImageParams, System.Collections.Generic.IList< SeparationColorSpace > spaces) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp ImageCollection Datalogics.PDFL.Page.GetImageSeparations(Rect exportRect, PageImageParams ImageParams, System.Collections.Generic.IList< SeparationColorSpace > spaces, RenderProgressProc progressProc) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc.md)): A callback to report rendering progress. **Returns:** [`ImageCollection`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp ImageCollection Datalogics.PDFL.Page.GetImageSeparations(Rect exportRect, PageImageParams ImageParams, System.Collections.Generic.IList< SeparationColorSpace > spacesCollection) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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. ### GetOutputPreviewImage ```csharp Image Datalogics.PDFL.Page.GetOutputPreviewImage(Rect exportRect, PageImageParams ImageParams, System.Collections.Generic.IList< SeparationColorSpace > spaces) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Image Datalogics.PDFL.Page.GetOutputPreviewImage(Rect exportRect, PageImageParams ImageParams, System.Collections.Generic.IList< SeparationColorSpace > spaces, bool simulateOverprint) ``` **Parameters** - `exportRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` ([`System.Collections.Generic.IList< SeparationColorSpace >`](https://docs.datalogics.com/apdfl18/DotNet/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` (`bool`): 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/DotNet/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. ### HasTransparency ```csharp bool Datalogics.PDFL.Page.HasTransparency(bool includeAnnotAppearances) ``` **Parameters** - `includeAnnotAppearances` (`bool`): If true, annotation appearances are included in the check; if false, annotation appearances will be ignored. **Returns:** `bool` 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 ```csharp System.Collections.Generic.IList< Ink > Datalogics.PDFL.Page.ListInks() ``` **Returns:** [`System.Collections.Generic.IList< Ink >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp System.Collections.Generic.IList< Ink > Datalogics.PDFL.Page.ListInks(bool includeOPI) ``` **Parameters** - `includeOPI` (`bool`): If true, include inks contained in OPI dictionaries. **Returns:** [`System.Collections.Generic.IList< Ink >`](https://docs.datalogics.com/apdfl18/DotNet/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. ### MakeSeparations ```csharp void Datalogics.PDFL.Page.MakeSeparations(SeparationParams params_) ``` **Parameters** - `params_` ([`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md)) **Returns:** `void` Generate print color separations for a page. ### RecognizePageContents ```csharp void Datalogics.PDFL.Page.RecognizePageContents(Document doc, OCREngine engine) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the page being OCR'd belongs to - `engine` ([`OCREngine`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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. ### UpdateContent ```csharp void 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. --- # PageDeleteFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageDeleteFlags **Namespace:** `Datalogics::PDFL` ## Values - `Normal = 1`: Normal page deletion. - `DoNotParseStructureTree = 2`: Do not parse Structure Tree. For documents with a complicated Structure Tree, parsing can be exhorbitantly slow. Set this flag to bypass processing it. --- # PageImageParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageImageParams ```csharp class PageImageParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageImageParams.md) **Uses types:** [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DrawFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DrawFlags.md), [`PageImageParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageImageParams.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md), [`SmoothFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SmoothFlags.md) ## Constructors ### PageImageParams ```csharp 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 ```csharp Datalogics.PDFL.PageImageParams.PageImageParams(ColorSpace ColorSpace, SmoothFlags Smoothing, int PixelWidth, int PixelHeight, double HorizontalResolution, double VerticalResolution, DrawFlags PageDrawFlags) ``` *constructor* **Parameters** - `ColorSpace` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The desired color space for the image, DEVICERGB, DEVICECMYK or DEVICEGRAY only. - `Smoothing` ([`SmoothFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SmoothFlags.md)): 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` ([`DrawFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DrawFlags.md)): 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. ## Properties ### BlackPointCompensation ```csharp bool Datalogics.PDFL.PageImageParams.BlackPointCompensation { get; set; } ``` ### BypassCopyPerm ```csharp bool Datalogics.PDFL.PageImageParams.BypassCopyPerm { get; set; } ``` ### CalibrateDeviceSpacesWhenPrinting ```csharp bool Datalogics.PDFL.PageImageParams.CalibrateDeviceSpacesWhenPrinting { get; set; } ``` ### HorizontalResolution ```csharp double Datalogics.PDFL.PageImageParams.HorizontalResolution { get; set; } ``` ### ICCProfile ```csharp ColorProfile Datalogics.PDFL.PageImageParams.ICCProfile { get; set; } ``` ### ICCProfileCustomPath ```csharp string Datalogics.PDFL.PageImageParams.ICCProfileCustomPath { get; set; } ``` ### ImageColorSpace ```csharp ColorSpace Datalogics.PDFL.PageImageParams.ImageColorSpace { get; set; } ``` ### PageDrawFlags ```csharp DrawFlags Datalogics.PDFL.PageImageParams.PageDrawFlags { get; set; } ``` ### PixelHeight ```csharp int Datalogics.PDFL.PageImageParams.PixelHeight { get; set; } ``` ### PixelWidth ```csharp int Datalogics.PDFL.PageImageParams.PixelWidth { get; set; } ``` ### RenderIntent ```csharp RenderIntent Datalogics.PDFL.PageImageParams.RenderIntent { get; set; } ``` ### Smoothing ```csharp SmoothFlags Datalogics.PDFL.PageImageParams.Smoothing { get; set; } ``` ### ThinLineHeuristics ```csharp bool Datalogics.PDFL.PageImageParams.ThinLineHeuristics { get; set; } ``` ### UseDeviceNForImageSeparations ```csharp bool Datalogics.PDFL.PageImageParams.UseDeviceNForImageSeparations { get; set; } ``` ### VerticalResolution ```csharp double Datalogics.PDFL.PageImageParams.VerticalResolution { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PageImageParams.Dispose() ``` **Returns:** `void` --- # PageInsertFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageInsertFlags **Namespace:** `Datalogics::PDFL` ## Values - `None = 0`: Do not insert bookmarks, threads, or document data. - `Bookmarks = 1`: Insert bookmarks as well as pages. - `All = 4096`: Insert all Catalog and Info dictionary values as well as pages. The bookmark tree of the inserted document is merged into the bookmark tree of the target document by copying it as a new first-level subtree of that document's bookmark tree root, of which it becomes the last child. If the target document has no bookmark tree, it acquires one identical to the bookmark tree from the source document. - `Threads = 2`: Insert articles as well. - `DoNotMergeFonts = 8`: Do not merge duplicate fonts on merge: may result in larger files when saved, but can show performance benefits when inserting a page that uses a large number of fonts - `DoNotResolveInvalidStructureParentReferences = 16`: Do not resolve invalid Parent References in the Structure Tree. This is not necessary in most cases and can show performance benefits for a document with a complicated Structure Tree. - `DoNotRemovePageInheritance = 32`: Do not remove page inheritance. This can slow down the performance when document has very large page tree. --- # PageLabel Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageLabel ```csharp class PageLabel : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PageLabel`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageLabel.md) **Uses types:** [`NumberStyle`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/NumberStyle.md), [`PageLabel`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageLabel.md) ## Constructors ### PageLabel ```csharp Datalogics.PDFL.PageLabel.PageLabel(int start, NumberStyle ns) ``` *constructor* **Parameters** - `start` (`int`): Starting page index in the Document for this range - `ns` ([`NumberStyle`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/NumberStyle.md)): Numbering style for this range Convenience constructor creates a range with no prefix starting with number 1. ### PageLabel ```csharp 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/NumberStyle.md)): 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 ## Properties ### EndPageIndex ```csharp int Datalogics.PDFL.PageLabel.EndPageIndex { get; } ``` ### FirstNumberInRange ```csharp int Datalogics.PDFL.PageLabel.FirstNumberInRange { get; set; } ``` ### NumberStyle ```csharp NumberStyle Datalogics.PDFL.PageLabel.NumberStyle { get; set; } ``` ### Prefix ```csharp string Datalogics.PDFL.PageLabel.Prefix { get; set; } ``` ### StartPageIndex ```csharp int Datalogics.PDFL.PageLabel.StartPageIndex { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PageLabel.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.PageLabel.ToString() ``` **Returns:** `override 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. --- # PageMarkFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageMarkFlags **Namespace:** `Datalogics::PDFL` ## Description Bit flags indicating which page marks are emitted for color separations. ## Values - `ColorBars = 1`: Emit color bar marks for verifying color reproduction. - `RegistrationMarks = 2`: Emit registration marks for aligning color separations. - `CropMarks = 4`: Emit crop marks indicating where the page should be trimmed. - `BleedMarks = 8`: Emit bleed marks indicating the bleed area boundary. - `PageInfo = 16`: Emit page information such as the file name and date. - `TrimMarks = 32`: Emit trim marks indicating the finished page dimensions. - `SlurMarks = 64`: Emit slur marks for detecting imaging distortion. --- # PageMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageMode **Namespace:** `Datalogics::PDFL` ## Description An enumerated data type used to describe the page view mode of a Document. ## Values - `NoPreference = 0`: Leave the PageMode as is (default for a new Document) - `DocumentOnly = 1`: Display the Document without Bookmarks or Thumbnails (appears in the Document structure as "UseNone") - `Bookmarks = 3`: Display the Document with the Bookmarks panel open (appears in the Document structure as "UseOutlines") - `Thumbnails = 2`: Display the Document with the Thumbnails panel open - `Fullscreen = 4`: Display the Document in full-screen mode - `OptionalContent = 6`: Display the Document with the Layers panel open - `Attachments = 7`: Display the Document with its attachments --- # PageRange Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageRange ```csharp class PageRange : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Specifies a range of pages in a document (page numbers begin with 0). **Referenced by:** [`PageRange`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageRange.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkParams.md) **Uses types:** [`PageRange`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageRange.md), [`PageSpec`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSpec.md) ## Constructors ### PageRange ```csharp Datalogics.PDFL.PageRange.PageRange() ``` *constructor* Specifies a range of pages in a document (page numbers begin with 0). ### PageRange ```csharp Datalogics.PDFL.PageRange.PageRange(int argStartPage, int argEndPage, PageSpec argPageSpec) ``` *constructor* **Parameters** - `argStartPage` (`int`) - `argEndPage` (`int`) - `argPageSpec` ([`PageSpec`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSpec.md)) Specifies a range of pages in a document (page numbers begin with 0). ### PageRange ```csharp Datalogics.PDFL.PageRange.PageRange(int argStartPage, int argEndPage, PageSpec argPageSpec, int argPagePaperSource) ``` *constructor* **Parameters** - `argStartPage` (`int`) - `argEndPage` (`int`) - `argPageSpec` ([`PageSpec`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSpec.md)) - `argPagePaperSource` (`int`) Specifies a range of pages in a document (page numbers begin with 0). ## Properties ### EndPage ```csharp int Datalogics.PDFL.PageRange.EndPage { get; set; } ``` The ending page number. ### PagePaperSource ```csharp short Datalogics.PDFL.PageRange.PagePaperSource { get; set; } ``` 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. ### PageSpec ```csharp PageSpec Datalogics.PDFL.PageRange.PageSpec { get; set; } ``` ### StartPage ```csharp int Datalogics.PDFL.PageRange.StartPage { get; set; } ``` The starting page number. ## Methods ### Dispose ```csharp void Datalogics.PDFL.PageRange.Dispose() ``` **Returns:** `void` --- # PageRenderWarning Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageRenderWarning **Namespace:** `Datalogics::PDFL` ## Values - `NeedAppearancesFlagWarning = 0x01`: The NeedAppearances flag is on in the AcroForm dictionary and some content may not render - `AnnotRTSWarning = 0x02`: One or more Annotations contain Rich Text String Content and will not render if the NormalAppearance stream is not set - `AnnotMissingNormalAppearanceWarning = 0x04`: One or more Annotations of an unsupported type are missing its NormalAppearance stream and will not render - `LessImageDataThanExpectedWarning = 0x08`: An image on the page lacks sufficient data, if rendered the missing data will be filled in by white pixels. --- # PageRotation Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageRotation **Namespace:** `Datalogics::PDFL` ## Values - `Rotate0 = 0`: Rotate 0 degrees. - `Rotate90 = 90`: Rotate 90 degrees. - `Rotate180 = 180`: Rotate 180 degrees. - `Rotate270 = 270`: Rotate 270 degrees. --- # PageSegmentationMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSegmentationMode **Namespace:** `Datalogics::PDFL` ## Description Specify how the OCR engine will view the page, and how it detects text segments. ## Values - `OSDOnly = 0`: Orientation and script detection (OSD). - `AutomaticOSD = 1`: Automatic page segmentation with OSD. - `Automatic = 2`: Automatic without OSD. - `SingleColumn = 3`: Assume a single column of text. - `SingleBlockVertical = 4`: Assume a single block of vertically aligned text. - `SingleBlock = 5`: Assume a single block of text. - `SingleLine = 6`: Assume a single line of text. - `SingleWord = 7`: Assume a single word. - `CircleWord = 8`: Assume a single word in a circle. - `SingleChar = 9`: Assume a single char. - `SparseText = 10`: Find all text in no particular order. - `SparseTextOSD = 11`: Sparse text with OSD. - `RawLine = 12`: Treat as a raw line with no input processing. --- # PageSpec Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageSpec **Namespace:** `Datalogics::PDFL` ## Description Page range specifications ## Values - `AllPages = -3`: All pages - `OddPagesOnly = -4`: Odd pages only - `EvenPagesOnly = -5`: Even pages only --- # PageTilingMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageTilingMode **Namespace:** `Datalogics::PDFL` ## Description PageTilingMode ## Values - `None = 0`: Print all pages normally - `TileAllPages = 1`: Use tiling settings for all pages - `TileLargePages = 2`: Use tiling only for pages larger than size indicated in PDTileRec of tileInfo --- # PaperSource Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PaperSource ```csharp class PaperSource : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Defines a set of paper trays in a printer that can be used to select the paper source when printing. **Referenced by:** [`PaperSource`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PaperSource.md) **Uses types:** [`PaperSource`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PaperSource.md) ## Fields ### Auto ```csharp static const int Datalogics.PDFL.PaperSource.Auto ``` *static* Auto select based on paper size ### Cassette ```csharp static const int Datalogics.PDFL.PaperSource.Cassette ``` *static* Use paper from the cassette tray ### EnvMaual ```csharp static const int Datalogics.PDFL.PaperSource.EnvMaual ``` *static* Use paper from the envelope manual feed ### Envelope ```csharp static const int Datalogics.PDFL.PaperSource.Envelope ``` *static* Use paper from the envelope tray ### First ```csharp static const int Datalogics.PDFL.PaperSource.First ``` *static* Use paper from the upper tray ### FormSource ```csharp static const int Datalogics.PDFL.PaperSource.FormSource ``` *static* Use paper from the forms tray ### LargeCapacity ```csharp static const int Datalogics.PDFL.PaperSource.LargeCapacity ``` *static* Use paper from the large capacity tray ### LargeFMT ```csharp static const int Datalogics.PDFL.PaperSource.LargeFMT ``` *static* Use paper from the large forms tray ### Last ```csharp static const int Datalogics.PDFL.PaperSource.Last ``` *static* Use paper from the forms tray ### Lower ```csharp static const int Datalogics.PDFL.PaperSource.Lower ``` *static* Use paper from the lower tray ### Manual ```csharp static const int Datalogics.PDFL.PaperSource.Manual ``` *static* Use paper from the manual feed ### Middle ```csharp static const int Datalogics.PDFL.PaperSource.Middle ``` *static* Use paper from the middle tray ### OnlyOne ```csharp static const int Datalogics.PDFL.PaperSource.OnlyOne ``` *static* Use paper from the upper tray ### SmallFMT ```csharp static const int Datalogics.PDFL.PaperSource.SmallFMT ``` *static* Use paper from the small forms tray ### Tractor ```csharp static const int Datalogics.PDFL.PaperSource.Tractor ``` *static* Use paper from the tractor feed ### Upper ```csharp static const int Datalogics.PDFL.PaperSource.Upper ``` *static* Use paper from the upper tray ### UseSystemDefault ```csharp static const int Datalogics.PDFL.PaperSource.UseSystemDefault ``` *static* Use the default paper source ### User ```csharp static const int Datalogics.PDFL.PaperSource.User ``` *static* Use paper from device specific trays by setting PaperSource to a value larger than User ## Methods ### Dispose ```csharp void Datalogics.PDFL.PaperSource.Dispose() ``` **Returns:** `void` --- # Path Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path ```csharp class Path : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Path.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`PathPaintOpFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PathPaintOpFlags.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md), [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Segment.md) ## Constructors ### Path ```csharp Datalogics.PDFL.Path.Path() ``` *constructor* Create a path. ### Path ```csharp Datalogics.PDFL.Path.Path(GraphicState graphicState) ``` *constructor* **Parameters** - `graphicState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md)): the initial graphic state for the path Create a path with a given graphic state. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### GraphicState ```csharp GraphicState Datalogics.PDFL.Path.GraphicState { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### PaintOp ```csharp PathPaintOpFlags Datalogics.PDFL.Path.PaintOp { get; set; } ``` ### Segments ```csharp System.Collections.Generic.IList Datalogics.PDFL.Path.Segments { get; set; } ``` ## Methods ### AddCurve ```csharp void Datalogics.PDFL.Path.AddCurve(Point Point1, Point Point2, Point Point3) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): second Bezier control point - `Point3` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Path.AddCurveV(Point Point1, Point Point2) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Path.AddCurveY(Point Point1, Point Point2) ``` **Parameters** - `Point1` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): first Bezier control point - `Point2` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Path.AddLine(Point Point) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Path.AddRect(Point Point, double Width, double Height) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp new Path Datalogics.PDFL.Path.Clone() ``` **Returns:** `new Path` 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 ```csharp new Path Datalogics.PDFL.Path.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** `new Path` 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 ```csharp void Datalogics.PDFL.Path.ClosePath() ``` **Returns:** `void` Closes the current subpath. ### ColorConvert ```csharp Path Datalogics.PDFL.Path.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/APDFL18.0.5PlusP2e/class/Path.md) A new Path with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Path ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### MoveTo ```csharp void Datalogics.PDFL.Path.MoveTo(Point Point) ``` **Parameters** - `Point` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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 ]. --- # PathOperators Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PathOperators **Namespace:** `Datalogics::PDFL` ## Description Enumerated data type for path segment operators in PDEPath elements. Each value corresponds to a PDF path construction operator (moveto, lineto, curveto, etc.). ## Values - `Move = 0`: Designates the m (moveto) operator, which moves the current point. - `Line = 1`: Designates the l (lineto) operator, which appends a straight line segment from the current point. - `Curve = 2`: Designates the c (curveto) operator, which appends a bezier curve to the path. - `RectPath = 3`: Designates the re operator, which adds a rectangle to the current path. - `Close = 4`: Designates the h (closepath) operator, which closes the current sub-path. --- # PathPaintOpFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PathPaintOpFlags **Namespace:** `Datalogics::PDFL` ## Description Flags indicating the different paint operations for a Path. These flags control whether a path is stroked, filled, or both, and which fill rule is used. ## Values - `Neither = 0x00`: The path is neither stroked or filled. - `Stroke = 0x01`: Stroke the path, as with the S (stroke) operator. - `Fill = 0x02`: Fill the path, using the nonzero winding rule to determine the region to fill, as with the f (fill) operator. - `EoFill = 0x04`: Fill the path, using the even/odd rule to determine the region to fill, as with the f* (eofill) operator. --- # Pattern Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern ```csharp class Pattern : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md) **Uses types:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md) ## Properties ### PDFObject ```csharp PDFObject Datalogics.PDFL.Pattern.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Pattern.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.Pattern.ToString() ``` **Returns:** `override string` A string describing this Pattern. Convert a pattern to a string representation. --- # PDDocFormsType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDDocFormsType **Namespace:** `Datalogics::PDFL` ## Values - `None = 1`: Document contains no Forms. - `DynamicXFA = 2`: Document contains Dynamic XFA Forms. - `StaticXFA = 3`: Document contains Static XFA Forms. - `AcroForms = 4`: Document contains AcroForms. --- # PDETextFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDETextFlags **Namespace:** `Datalogics::PDFL` ## Description Flags that control how text is accessed or measured within a PDEText object. ## Values - `KPDETextRun = 0x0001`: Text run. - `KPDETextChar = 0x0002`: Character (text run with only one character). - `KPDETextPageSpace = 0x0004`: Obtain the advance width in page space. - `KPDETextGetBounds = 0x0008`: Fill in the left and right bounds of the text run's bounding box. --- # PDFAConvertParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertParams ```csharp class PDFAConvertParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md) **Uses types:** [`PDFAConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertParams.md) ## Constructors ### PDFAConvertParams ```csharp 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 ```csharp Datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(bool RemoveAllAnnotations, bool IgnoreFontErrors, bool AbortIfXFAIsPresent) ``` *constructor* **Parameters** - `RemoveAllAnnotations` (`bool`): Remove all annotations whether legal or illegal. - `IgnoreFontErrors` (`bool`): Rasterize a page when fonts cannot be embedded. - `AbortIfXFAIsPresent` (`bool`): Abort when XFA is present for PDF/A-1. Parameters for converting to PDF/A. ### PDFAConvertParams ```csharp Datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(bool removeAllAnnotations, bool ignoreFontErrors, bool abortIfXFAIsPresent, bool noValidationErrors, ushort rasterizationResolution) ``` *constructor* **Parameters** - `removeAllAnnotations` (`bool`): Remove all annotations whether legal or illegal. - `ignoreFontErrors` (`bool`): Rasterize a page when fonts cannot be embedded. - `abortIfXFAIsPresent` (`bool`): Abort when XFA is present for PDF/A-1. - `noValidationErrors` (`bool`): Ignore validation errors. - `rasterizationResolution` (`ushort`): Rasterization resolution. Parameters for converting to PDF/A. ### PDFAConvertParams ```csharp Datalogics.PDFL.PDFAConvertParams.PDFAConvertParams(bool removeAllAnnotations, bool ignoreFontErrors, bool abortIfXFAIsPresent, bool noValidationErrors, ushort rasterizationResolution, bool validateImplementationLimitsOfDocument) ``` *constructor* **Parameters** - `removeAllAnnotations` (`bool`): Remove all annotations whether legal or illegal. - `ignoreFontErrors` (`bool`): Rasterize a page when fonts cannot be embedded. - `abortIfXFAIsPresent` (`bool`): Abort when XFA is present for PDF/A-1. - `noValidationErrors` (`bool`): Ignore validation errors. - `rasterizationResolution` (`ushort`): Rasterization resolution. - `validateImplementationLimitsOfDocument` (`bool`): Validate PDF Implementation Limits of the Document. Parameters for converting to PDF/A. ## Properties ### AbortIfXFAIsPresent ```csharp bool Datalogics.PDFL.PDFAConvertParams.AbortIfXFAIsPresent { get; set; } ``` ### IgnoreFontErrors ```csharp bool Datalogics.PDFL.PDFAConvertParams.IgnoreFontErrors { get; set; } ``` ### NoValidationErrors ```csharp bool Datalogics.PDFL.PDFAConvertParams.NoValidationErrors { get; set; } ``` ### ProfileDesc ```csharp string Datalogics.PDFL.PDFAConvertParams.ProfileDesc { get; set; } ``` ### RasterizationResolution ```csharp ushort Datalogics.PDFL.PDFAConvertParams.RasterizationResolution { get; set; } ``` ### RemoveAllAnnotations ```csharp bool Datalogics.PDFL.PDFAConvertParams.RemoveAllAnnotations { get; set; } ``` ### ValidateImplementationLimitsOfDocument ```csharp bool Datalogics.PDFL.PDFAConvertParams.ValidateImplementationLimitsOfDocument { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PDFAConvertParams.Dispose() ``` **Returns:** `void` --- # PDFAConvertResult Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFAConvertResult ```csharp class PDFAConvertResult ``` **Namespace:** `Datalogics::PDFL` ## Description 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md) ## Constructors ### PDFAConvertResult ```csharp Datalogics.PDFL.PDFAConvertResult.PDFAConvertResult(Document doc, SaveFlags flags) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)) - `flags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)) ## Properties ### PDFADocument ```csharp Document Datalogics.PDFL.PDFAConvertResult.PDFADocument { get; set; } ``` Return the PDF/A compliant version of the document. ### PDFASaveFlags ```csharp SaveFlags Datalogics.PDFL.PDFAConvertResult.PDFASaveFlags { get; set; } ``` 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. --- # PDFAConvertType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFAConvertType **Namespace:** `Datalogics::PDFL` ## Description Specifies the PDF/A conformance level and color space for conversion. Each value corresponds to a specific PDF/A standard (1a, 1b, 2a, 2b, 2u, 3a, 3b, 3u, 4, 4e, 4f) combined with a target color space (RGB or CMYK). ## Values - `RGB1a = 0`: Convert to PDF/A-1a RGB - `CMYK1a = 1`: Convert to PDF/A-1a CMYK - `RGB1b = 2`: Convert to PDF/A-1b RGB - `CMYK1b = 3`: Convert to PDF/A-1b CMYK - `RGB2a = 4`: Convert to PDF/A-2a RGB - `CMYK2a = 5`: Convert to PDF/A-2a CMYK - `RGB2b = 6`: Convert to PDF/A-2b RGB - `CMYK2b = 7`: Convert to PDF/A-2b CMYK - `RGB2u = 8`: Convert to PDF/A-2u RGB - `CMYK2u = 9`: Convert to PDF/A-2u CMYK - `RGB3a = 10`: Convert to PDF/A-3a RGB - `CMYK3a = 11`: Convert to PDF/A-3a CMYK - `RGB3b = 12`: Convert to PDF/A-3b RGB - `CMYK3b = 13`: Convert to PDF/A-3b CMYK - `RGB3u = 14`: Convert to PDF/A-3u RGB - `CMYK3u = 15`: Convert to PDF/A-3u CMYK - `RGB4 = 16`: Convert to PDF/A-4 RGB - `CMYK4 = 17`: Convert to PDF/A-4 CMYK - `RGB4e = 18`: Convert to PDF/A-4e RGB - `CMYK4e = 19`: Convert to PDF/A-4e CMYK - `RGB4f = 20`: Convert to PDF/A-4f RGB - `CMYK4f = 21`: Convert to PDF/A-4f CMYK --- # PDFArray Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray ```csharp class PDFArray : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFArray ```csharp Datalogics.PDFL.PDFArray.PDFArray(Document doc, bool indirect) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFArray - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFArray ```csharp Datalogics.PDFL.PDFArray.PDFArray(PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### Length ```csharp int Datalogics.PDFL.PDFArray.Length { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ## Methods ### Add ```csharp void Datalogics.PDFL.PDFArray.Add(PDFObject object_) ``` **Parameters** - `object_` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `void` Adds an object to the end of the array ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### Get ```csharp PDFObject Datalogics.PDFL.PDFArray.Get(int index) ``` **Parameters** - `index` (`int`) **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) Returns the object at the given index. ### Insert ```csharp void Datalogics.PDFL.PDFArray.Insert(int index, PDFObject object_) ``` **Parameters** - `index` (`int`) - `object_` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.PDFArray.Put(int index, PDFObject obj) ``` **Parameters** - `index` (`int`) - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.PDFArray.Remove(PDFObject object_) ``` **Parameters** - `object_` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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 ```csharp override string Datalogics.PDFL.PDFArray.ToString() ``` **Returns:** `override string` --- # PDFBoolean Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean ```csharp class PDFBoolean : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFBoolean ```csharp Datalogics.PDFL.PDFBoolean.PDFBoolean(bool value, Document doc, bool indirect) ``` *constructor* **Parameters** - `value` (`bool`): Boolean value of this PDFBoolean - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFBoolean - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFBoolean ```csharp Datalogics.PDFL.PDFBoolean.PDFBoolean(bool value, PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `value` (`bool`): Boolean value of this PDFBoolean - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### Value ```csharp bool Datalogics.PDFL.PDFBoolean.Value { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFBoolean.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PDFDict ```csharp class PDFDict : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`Bookmark`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ExtendedGraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ExtendedGraphicState.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LaunchAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LaunchAction.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md), [`OptionalContentConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentConfig.md), [`OptionalContentGroup`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentGroup.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`URIAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/URIAction.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFDict ```csharp Datalogics.PDFL.PDFDict.PDFDict(Document doc, bool indirect) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFDict - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFDict ```csharp Datalogics.PDFL.PDFDict.PDFDict(PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### Keys ```csharp System.Collections.Generic.IList Datalogics.PDFL.PDFDict.Keys { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### XMPMetadata ```csharp string Datalogics.PDFL.PDFDict.XMPMetadata { get; set; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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 ```csharp bool Datalogics.PDFL.PDFDict.Contains(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** `bool` true if the given key exists Tests whether the given key exists in the dictionary ### Contains ```csharp bool Datalogics.PDFL.PDFDict.Contains(string key) ``` **Parameters** - `key` (`string`): A string representing the name for the key **Returns:** `bool` true if the given key exists Tests whether the given key exists in the dictionary ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### Get ```csharp PDFObject Datalogics.PDFL.PDFDict.Get(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) A PDFObject matching the key Returns the object matching the given key. ### Get ```csharp PDFObject Datalogics.PDFL.PDFDict.Get(string key) ``` **Parameters** - `key` (`string`): A string representing the name for the key **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md) A PDFObject matching the key Returns the object matching the given key string. ### Put ```csharp void Datalogics.PDFL.PDFDict.Put(PDFName key, PDFObject obj) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void 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/DotNet/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 ```csharp void Datalogics.PDFL.PDFDict.Remove(PDFName key) ``` **Parameters** - `key` ([`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md)): A PDFName for the key **Returns:** `void` Removes a key/object pair from the dictionary. ### Remove ```csharp void 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. ### ToString ```csharp override string Datalogics.PDFL.PDFDict.ToString() ``` **Returns:** `override string` A string describing this PDFDict and its properties. Returns a string representation of this PDFDict. --- # PDFInteger Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger ```csharp class PDFInteger : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFInteger ```csharp Datalogics.PDFL.PDFInteger.PDFInteger(int value, Document doc, bool indirect) ``` *constructor* **Parameters** - `value` (`int`): Integer value of this PDFInteger - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFInteger - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFInteger ```csharp Datalogics.PDFL.PDFInteger.PDFInteger(int value, PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `value` (`int`): Integer value of this PDFInteger - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### LongValue ```csharp long Datalogics.PDFL.PDFInteger.LongValue { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### Value ```csharp int Datalogics.PDFL.PDFInteger.Value { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFInteger.ToString() ``` **Returns:** `override string` A string describing this PDFInteger and its properties, including its value. Returns a string representation of this PDFInteger. --- # PDFlattenerColorCompSet Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFlattenerColorCompSet **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Color images. ## Values - `KPDFlattenerJpegCompression = 0`: JPEG compression for flattened color images. - `KPDFlattenerZipCompression = 1`: ZIP (Flate) compression for flattened color images. - `KPDFlattenerJpeg2000Compression = 2`: JPEG2000 compression for flattened color images. --- # PDFlattenerGrayscaleCompSet Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFlattenerGrayscaleCompSet **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Grayscale images. ## Values - `KPDFlattenerGrayJpegCompression = 0`: JPEG compression for flattened grayscale images. - `KPDFlattenerGrayZipCompression = 1`: ZIP (Flate) compression for flattened grayscale images. - `KPDFlattenerGrayJpeg2000Compression = 2`: JPEG2000 compression for flattened grayscale images. --- # PDFlattenerMonochromeCompSet Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFlattenerMonochromeCompSet **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the compression scheme for the Flattened Monochrome images. ## Values - `KPDFlattenerMonoCCITTGroup3Compression = 0`: CCITT Group 3 (fax) compression for flattened monochrome images. - `KPDFlattenerMonoCCITTGroup4Compression = 1`: CCITT Group 4 (fax) compression for flattened monochrome images. - `KPDFlattenerMonoZipCompression = 2`: ZIP (Flate) compression for flattened monochrome images. - `KPDFlattenerMonoRunLengthCompression = 3`: Run-length encoding compression for flattened monochrome images. --- # PDFlattenerQualitySetting Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFlattenerQualitySetting **Namespace:** `Datalogics::PDFL` ## Description Enumeration for setting the Quality setting for the JPEG or JPEG2000 images. ## Values - `KPDFlattenerMinimum = 0`: Minimum quality setting, smallest file size. - `KPDFlattenerLow = 1`: Low quality setting. - `KPDFlattenerMedium = 2`: Medium quality setting, balancing file size and image quality. - `KPDFlattenerHigh = 3`: High quality setting. - `KPDFlattenerMaximum = 4`: Maximum quality setting, largest file size. - `KPDFlattenerJpeg2000Lossless = 5`: Lossless compression; valid only for the JPEG2000 compression scheme. --- # PDFName Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName ```csharp class PDFName : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFName ```csharp Datalogics.PDFL.PDFName.PDFName(string value, Document doc, bool indirect) ``` *constructor* **Parameters** - `value` (`string`): String value representing this PDFName - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFName - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFName ```csharp Datalogics.PDFL.PDFName.PDFName(string value, PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `value` (`string`): String value representing this PDFName - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### Value ```csharp string Datalogics.PDFL.PDFName.Value { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFName.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PDFObject ```csharp class PDFObject : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CalGrayColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalGrayColorSpace.md), [`CalRGBColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CalRGBColorSpace.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`DeviceNColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DeviceNColorSpace.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`IndexedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/IndexedColorSpace.md), [`LabColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LabColorSpace.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`NamedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NamedColorSpace.md), [`NumberTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NumberTree.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md), [`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFObject.ToString() ``` **Returns:** `override 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. --- # PDFObjectComparison Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison **Namespace:** `Datalogics::PDFL` ## Description Comparisons between two PDFObjects. Represents the result of comparing two PDFObject instances for ordering purposes. ## Values - `Less = 0`: The first object is ordered before the second object. - `Equal = 1`: The two objects are equal. - `Greater = 2`: The first object is ordered after the second object. --- # PDFObjectEnumProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc ```csharp class PDFObjectEnumProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`NameTree`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFBoolean`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFBoolean.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFInteger`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFInteger.md), [`PDFName`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFName.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md) **Uses types:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md) ## Constructors ### PDFObjectEnumProc ```csharp 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 ```csharp virtual bool Datalogics.PDFL.PDFObjectEnumProc.Call(PDFObject pdfObject, PDFObject pdfObjectValue) ``` **Parameters** - `pdfObject` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)) - `pdfObjectValue` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)) **Returns:** `bool` ### Dispose ```csharp void Datalogics.PDFL.PDFObjectEnumProc.Dispose() ``` **Returns:** `void` --- # PDFOptimizationCompressQuality Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFOptimizationCompressQuality **Namespace:** `Datalogics::PDFL` ## Description Specifies the quality level for lossy image compression during PDF optimization. Higher quality values produce larger files with better visual fidelity. ## Values - `PDFOptimizerCompressQualityUnset = 0`: Quality has not been set; the optimizer will use its default. - `PDFOptimizerCompressMinimum = 1`: Minimum quality, resulting in the smallest file size. - `PDFOptimizerCompressLowQuality = 2`: Low quality compression. - `PDFOptimizerCompressMediumQuality = 3`: Medium quality compression, balancing size and fidelity. - `PDFOptimizerCompressHighQuality = 4`: High quality compression. - `PDFOptimizerCompressMaximumQuality = 5`: Maximum quality compression, resulting in the largest file size among lossy options. - `PDFOptimizerCompressLossless = 6`: Lossless compression, preserving the original image data exactly. --- # PDFOptimizer Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer ```csharp class PDFOptimizer : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Implementation of the PDF Optimizer function. Use the PDFOptimizer object to accumulate options for the Optimization, and to Optimize documents. **Referenced by:** [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer.md) **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md), [`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md), [`CompressQuality`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressQuality.md), [`CompressionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionType.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ObjectCompressionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ObjectCompressionType.md), [`OptimizerOption`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptimizerOption.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md) ## Constructors ### PDFOptimizer ```csharp Datalogics.PDFL.PDFOptimizer.PDFOptimizer() ``` *constructor* Construct a CPDFOptimizer, with default Options. ## Properties ### MajorVersion ```csharp short Datalogics.PDFL.PDFOptimizer.MajorVersion { get; set; } ``` ### MinorVersion ```csharp short Datalogics.PDFL.PDFOptimizer.MinorVersion { get; set; } ``` ### ObjectCompression ```csharp ObjectCompressionType Datalogics.PDFL.PDFOptimizer.ObjectCompression { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PDFOptimizer.Dispose() ``` **Returns:** `void` ### GetCompressionQuality ```csharp CompressQuality Datalogics.PDFL.PDFOptimizer.GetCompressionQuality(CompressImageType type) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): The image color type (Color, Gray, or BW) to query. **Returns:** [`CompressQuality`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressQuality.md) The compression quality level for the specified color model. Get the value of the Compression Quality for a given color model. ### GetMaxResolution ```csharp int Datalogics.PDFL.PDFOptimizer.GetMaxResolution(CompressImageType type) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): 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. ### GetOption ```csharp bool Datalogics.PDFL.PDFOptimizer.GetOption(OptimizerOption option) ``` **Parameters** - `option` ([`OptimizerOption`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptimizerOption.md)): The optimization option to query. **Returns:** `bool` true if the option is enabled, false if it is disabled. Get the value of a single Optimizer Option. ### GetRecompressionType ```csharp CompressionType Datalogics.PDFL.PDFOptimizer.GetRecompressionType(CompressImageType type) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): The image color type (Color, Gray, or BW) to query. **Returns:** [`CompressionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionType.md) 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 ```csharp int Datalogics.PDFL.PDFOptimizer.GetResampleToResolution(CompressImageType type) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): 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 ```csharp void Datalogics.PDFL.PDFOptimizer.Optimize(Document doc, System.IO.Stream stream) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)) - `stream` (`System.IO.Stream`) **Returns:** `void` ### Optimize ```csharp void Datalogics.PDFL.PDFOptimizer.Optimize(Document doc, System.IO.Stream stream, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)) - `stream` (`System.IO.Stream`) - `progressMonitor` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)) - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md)) **Returns:** `void` ### Optimize ```csharp void Datalogics.PDFL.PDFOptimizer.Optimize(Document document, string newPath) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.PDFOptimizer.Optimize(Document document, string newPath, ProgressMonitor progressMonitor, CancelProc cancelProc) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md)): An optional progress monitor callback, or NULL. - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.PDFOptimizer.SetCompressionQuality(CompressImageType type, CompressQuality value) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): The image color type (Color, Gray, or BW) to set. - `value` ([`CompressQuality`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressQuality.md)): 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. ### SetMaxResolution ```csharp void Datalogics.PDFL.PDFOptimizer.SetMaxResolution(CompressImageType type, int value) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): 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. ### SetOption ```csharp void Datalogics.PDFL.PDFOptimizer.SetOption(OptimizerOption option, bool value) ``` **Parameters** - `option` ([`OptimizerOption`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OptimizerOption.md)): The optimization option to set. - `value` (`bool`): true to enable the option, false to disable it. **Returns:** `void` Set the value of a single Optimizer option. ### SetRecompressionType ```csharp void Datalogics.PDFL.PDFOptimizer.SetRecompressionType(CompressImageType type, CompressionType value) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): The image color type (Color, Gray, or BW) to set. - `value` ([`CompressionType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressionType.md)): 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 ```csharp void Datalogics.PDFL.PDFOptimizer.SetResampleToResolution(CompressImageType type, int value) ``` **Parameters** - `type` ([`CompressImageType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CompressImageType.md)): 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. --- # PDFOptimizerCompressImageType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFOptimizerCompressImageType **Namespace:** `Datalogics::PDFL` ## Description Specifies the category of images to target during PDF optimization compression. ## Values - `PDFOptimizerColor = 1`: Target color images for compression. - `PDFOptimizerGray = 2`: Target grayscale images for compression. - `PDFOptimizerMonochrome = 3`: Target monochrome (black and white) images for compression. --- # PDFOptimizerCompressionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFOptimizerCompressionType **Namespace:** `Datalogics::PDFL` ## Description Specifies the compression algorithm to use when recompressing images during PDF optimization. ## Values - `PDFOptimizerRecompressNone = 0`: Do not recompress. Used only when the original image is not compressed. - `PDFOptimizerRecompressSame = 1`: Recompress using the same compression as the original image. - `PDFOptimizerRecompressFlate = 2`: Recompress the image using Flate (zip/deflate) compression. - `PDFOptimizerRecompressJpeg = 3`: Recompress the image using JPEG compression. - `PDFOptimizerRecompressJP2k = 4`: Recompress the image using JPEG 2000 compression. - `PDFOptimizerRecompressJBig = 5`: Recompress the image using JBIG2 compression. - `PDFOptimizerRecompressCCITTG4 = 6`: Recompress the image using CCITT Group 4 compression. - `PDFOptimizerRecompressCCITTG3 = 7`: Recompress the image using CCITT Group 3 compression. - `PDFOptimizerRecompressFlateJpeg = 8`: Recompress using Flate for lossless portions and JPEG for lossy portions. --- # PDFOptimizerObjectCompressionType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFOptimizerObjectCompressionType **Namespace:** `Datalogics::PDFL` ## Description Specifies the object-level stream compression strategy during PDF optimization. ## Values - `PDFOptimizerObjectCompressionAll = 0`: Compress all objects into object streams. - `PDFOptimizerObjectCompressionNone = 1`: Do not use object stream compression for any objects. - `PDFOptimizerObjectCompressionStructure = 2`: Compress only document structure objects into object streams. - `PDFOptimizerObjectCompressionLeaveUnchanged = 3`: Leave the existing object compression unchanged. --- # PDFOptimizerOption Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFOptimizerOption **Namespace:** `Datalogics::PDFL` ## Values - `PDFOptimizerDownsampleColor = 1` - `PDFOptimizerRecompressColor = 2` - `PDFOptimizerDownsampleGray = 3` - `PDFOptimizerRecompressGray = 4` - `PDFOptimizerDownsampleBW = 5` - `PDFOptimizerRecompressBW = 6` - `PDFOptimizerDownsampleRecompressOnlyIfSmaller = 7` - `PDFOptimizerDiscardAlternateImages = 8` - `PDFOptimizerSubsetAllEmbeddedFonts = 9` - `PDFOptimizerRemoveAllEmbeddedFonts = 10` - `PDFOptimizerRemoveAllBase14Fonts = 11` - `PDFOptimizerMergeDuplicateFonts = 12` - `PDFOptimizerDiscardBookmarks = 13` - `PDFOptimizerDiscardAcroforms = 14` - `PDFOptimizerDiscardOutputIntent = 15` - `PDFOptimizerDiscardThumbnails = 16` - `PDFOptimizerDiscardPageLabels = 17` - `PDFOptimizerDiscardNameTrees = 18` - `PDFOptimizerDiscardStructureTrees = 19` - `PDFOptimizerDiscardFileAttachments = 20` - `PDFOptimizerDiscardXMPPadding = 21` - `PDFOptimizerDiscardUnusedForms = 22` - `PDFOptimizerDiscardPieceData = 23` - `PDFOptimizerCompressStreams = 24` - `PDFOptimizerReplaceLZW = 25` - `PDFOptimizerDiscardMetadata = 26` - `PDFOptimizerDiscardDocumentInfo = 27` - `PDFOptimizerOptimizeContentStreams = 28` - `PDFOptimizerLinearize = 29` - `PDFOptimizerDiscardDuplicateForms = 30` - `PDFOptimizerDiscardDuplicateObjects = 31` - `PDFOptimizerDiscardASCIIFilters = 32` - `PDFOptimizerDiscardComments = 33` - `PDFOptimizerDiscardAnnotations = 34` - `PDFOptimizerDiscardJavaScriptActions = 35` - `PDFOptimizerFlattenOptionalContent = 36` - `PDFOptimizerResubsetSubsetFonts = 37` - `PDFOptimizerDownConvert16To8BpcImages = 38` - `PDFOptimizerDiscardUnusedImages = 39` - `PDFOptimizerDiscardUnusedFonts = 40` - `PDFOptimizerLastOption = 41` --- # PDFProcessorPDFAConversionOption Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFProcessorPDFAConversionOption **Namespace:** `Datalogics::PDFL` ## Description Specifies which PDF/A standard and color space to use when converting a document to PDF/A. ## Values - `KPDFProcessorConvertToPDFA1aRGB = 0`: Convert to PDF/A-1a with an RGB output color profile. - `KPDFProcessorConvertToPDFA1aCMYK = 1`: Convert to PDF/A-1a with a CMYK output color profile. - `KPDFProcessorConvertToPDFA1bRGB = 2`: Convert to PDF/A-1b with an RGB output color profile. - `KPDFProcessorConvertToPDFA1bCMYK = 3`: Convert to PDF/A-1b with a CMYK output color profile. - `KPDFProcessorConvertToPDFA2aRGB = 4`: Convert to PDF/A-2a with an RGB output color profile. - `KPDFProcessorConvertToPDFA2aCMYK = 5`: Convert to PDF/A-2a with a CMYK output color profile. - `KPDFProcessorConvertToPDFA2bRGB = 6`: Convert to PDF/A-2b with an RGB output color profile. - `KPDFProcessorConvertToPDFA2bCMYK = 7`: Convert to PDF/A-2b with a CMYK output color profile. - `KPDFProcessorConvertToPDFA2uRGB = 8`: Convert to PDF/A-2u with an RGB output color profile. - `KPDFProcessorConvertToPDFA2uCMYK = 9`: Convert to PDF/A-2u with a CMYK output color profile. - `KPDFProcessorConvertToPDFA3aRGB = 10`: Convert to PDF/A-3a with an RGB output color profile. - `KPDFProcessorConvertToPDFA3aCMYK = 11`: Convert to PDF/A-3a with a CMYK output color profile. - `KPDFProcessorConvertToPDFA3bRGB = 12`: Convert to PDF/A-3b with an RGB output color profile. - `KPDFProcessorConvertToPDFA3bCMYK = 13`: Convert to PDF/A-3b with a CMYK output color profile. - `KPDFProcessorConvertToPDFA3uRGB = 14`: Convert to PDF/A-3u with an RGB output color profile. - `KPDFProcessorConvertToPDFA3uCMYK = 15`: Convert to PDF/A-3u with a CMYK output color profile. - `KPDFProcessorConvertToPDFA4RGB = 16`: Convert to PDF/A-4 with an RGB output color profile. - `KPDFProcessorConvertToPDFA4CMYK = 17`: Convert to PDF/A-4 with a CMYK output color profile. - `KPDFProcessorConvertToPDFA4eRGB = 18`: Convert to PDF/A-4e with an RGB output color profile. - `KPDFProcessorConvertToPDFA4eCMYK = 19`: Convert to PDF/A-4e with a CMYK output color profile. - `KPDFProcessorConvertToPDFA4fRGB = 20`: Convert to PDF/A-4f with an RGB output color profile. - `KPDFProcessorConvertToPDFA4fCMYK = 21`: Convert to PDF/A-4f with a CMYK output color profile. --- # PDFProcessorPDFXConversionOption Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFProcessorPDFXConversionOption **Namespace:** `Datalogics::PDFL` ## Description Specifies which PDF/X standard to use when converting a document to PDF/X. ## Values - `KPDFProcessorConvertToPDFX1a2001 = 0`: Convert to PDF/X-1a:2001 standard. - `KPDFProcessorConvertToPDFX32003 = 1`: Convert to PDF/X-3:2003 standard. - `KPDFProcessorConvertToPDFX42010 = 2`: Convert to PDF/X-4:2010 standard. - `KPDFProcessorConvertToPDFX62020 = 3`: Convert to PDF/X-6:2020 standard. --- # PDFReal Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal ```csharp class PDFReal : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFReal`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFReal.md) ## Constructors ### PDFReal ```csharp Datalogics.PDFL.PDFReal.PDFReal(double value, Document doc, bool indirect) ``` *constructor* **Parameters** - `value` (`double`): Double value of this PDFReal - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFReal - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ### PDFReal ```csharp Datalogics.PDFL.PDFReal.PDFReal(double value, PDFObject docFromObj, bool indirect) ``` *constructor* **Parameters** - `value` (`double`): Double value of this PDFReal - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject General constructor ## Properties ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### Value ```csharp double Datalogics.PDFL.PDFReal.Value { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFReal.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PDFStream ```csharp class PDFStream : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`ICCBasedColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ICCBasedColorSpace.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PDFStreamOpenMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFStreamOpenMode.md) ## Constructors ### PDFStream ```csharp Datalogics.PDFL.PDFStream.PDFStream(System.IO.Stream stream, Document doc, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): System.IO.Stream which will provide data for this PDFStream - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFStream - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md)): PDFDict describing properties of this stream, including the encoding - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md)): PDFArray describing parameters for encoding this stream General constructor ### PDFStream ```csharp Datalogics.PDFL.PDFStream.PDFStream(System.IO.Stream stream, PDFObject docFromObj, PDFDict encoding_dict, PDFArray encoding_params) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): System.IO.Stream which will provide data for this PDFStream - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFArray will be created in the same document as this object. - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md)): PDFDict describing properties of this stream, including the encoding - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md)): PDFArray describing parameters for encoding this stream General constructor ## Properties ### Dict ```csharp PDFDict Datalogics.PDFL.PDFStream.Dict { get; } ``` ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### FilteredStream ```csharp System.IO.Stream Datalogics.PDFL.PDFStream.FilteredStream { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### Length ```csharp int Datalogics.PDFL.PDFStream.Length { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### StreamPos ```csharp int Datalogics.PDFL.PDFStream.StreamPos { get; } ``` ### UnfilteredStream ```csharp System.IO.Stream Datalogics.PDFL.PDFStream.UnfilteredStream { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GetFilteredStream ```csharp System.IO.Stream Datalogics.PDFL.PDFStream.GetFilteredStream() ``` **Returns:** `System.IO.Stream` The stream data of this object, decoded according to the filter data in its dictionary. ### GetStream ```csharp System.IO.Stream Datalogics.PDFL.PDFStream.GetStream(PDFStreamOpenMode mode) ``` **Parameters** - `mode` ([`PDFStreamOpenMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFStreamOpenMode.md)) **Returns:** `System.IO.Stream` The stream data of this object, processed according to the mode ### GetUnfilteredStream ```csharp System.IO.Stream Datalogics.PDFL.PDFStream.GetUnfilteredStream() ``` **Returns:** `System.IO.Stream` The unfiltered data of this stream object. ### SetData ```csharp void Datalogics.PDFL.PDFStream.SetData(System.IO.Stream stream, PDFDict encoding_dict, PDFArray encoding_params) ``` **Parameters** - `stream` (`System.IO.Stream`) - `encoding_dict` ([`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md)) - `encoding_params` ([`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md)) **Returns:** `void` Replace the data in this PDFStream ### ToString ```csharp override string Datalogics.PDFL.PDFStream.ToString() ``` **Returns:** `override string` A string describing this PDFStream, including its indirect/direct status and ID. Returns a string representation of this PDFStream. --- # PDFStreamOpenMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFStreamOpenMode **Namespace:** `Datalogics::PDFL` ## Values - `Raw = 0`: Return the encrypted and encoded (i.e. unfiltered) stream - `Unfiltered = 1`: Return the decrypted but still encoded (i.e. unfiltered) stream - `Filtered = 2`: Return the decrypted and decoded (i.e. filtered) stream --- # PDFString Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString ```csharp class PDFString : PDFObject ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/NameTree.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md), [`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObjectEnumProc.md), [`PDFString`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFString.md) ## Constructors ### PDFString ```csharp Datalogics.PDFL.PDFString.PDFString(string value, Document doc, bool indirect, bool storedAsHex) ``` *constructor* **Parameters** - `value` (`string`): String stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): 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 ```csharp Datalogics.PDFL.PDFString.PDFString(string value, Document doc, bool indirect, bool storedAsHex, bool storedAsUTF16) ``` *constructor* **Parameters** - `value` (`string`): String stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): flag indicating this PDFString should be stored as hex values - `storedAsUTF16` (`bool`): 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 ```csharp Datalogics.PDFL.PDFString.PDFString(string value, PDFObject docFromObj, bool indirect, bool storedAsHex) ``` *constructor* **Parameters** - `value` (`string`): String stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): 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 ```csharp Datalogics.PDFL.PDFString.PDFString(string value, PDFObject docFromObj, bool indirect, bool storedAsHex, bool storedAsUTF16) ``` *constructor* **Parameters** - `value` (`string`): String stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): flag indicating this PDFString should be stored as hex values - `storedAsUTF16` (`bool`): 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 ```csharp Datalogics.PDFL.PDFString.PDFString(System.Byte[] value, Document doc, bool indirect, bool storedAsHex) ``` *constructor* **Parameters** - `value` (`System.Byte[]`): Array of bytes stored in this PDFString - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): Document object containing this PDFString - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): flag indicating this PDFString should be stored as hex values General constructor ### PDFString ```csharp Datalogics.PDFL.PDFString.PDFString(System.Byte[] value, PDFObject docFromObj, bool indirect, bool storedAsHex) ``` *constructor* **Parameters** - `value` (`System.Byte[]`): Array of bytes stored in this PDFString - `docFromObj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The new PDFString will be created in the same document as this object. - `indirect` (`bool`): flag marking this as an indirect PDFObject - `storedAsHex` (`bool`): flag indicating this PDFString should be stored as hex values General constructor ## Properties ### Bytes ```csharp System.Byte [] Datalogics.PDFL.PDFString.Bytes { get; } ``` ### Document ```csharp Document Datalogics.PDFL.PDFObject.Document { get; } ``` ### Generation ```csharp int Datalogics.PDFL.PDFObject.Generation { get; } ``` ### ID ```csharp int Datalogics.PDFL.PDFObject.ID { get; } ``` ### Indirect ```csharp bool Datalogics.PDFL.PDFObject.Indirect { get; } ``` ### PDFHashValue ```csharp int Datalogics.PDFL.PDFObject.PDFHashValue { get; } ``` ### StoredAsHex ```csharp bool Datalogics.PDFL.PDFString.StoredAsHex { get; } ``` ### Value ```csharp string Datalogics.PDFL.PDFString.Value { get; } ``` ## Methods ### Clone ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone() ``` **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(Document doc, bool indirect) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The target document in which to create the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObject Datalogics.PDFL.PDFObject.Clone(PDFObject obj, bool indirect) ``` **Parameters** - `obj` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): The reference object whose document will be used for the copy. - `indirect` (`bool`): If true, the copy will be an indirect object; if false, it will be direct. **Returns:** [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp PDFObjectComparison Datalogics.PDFL.PDFObject.CompareTo(PDFObject rhs) ``` **Parameters** - `rhs` ([`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md)): the other PDFObject to compare. **Returns:** [`PDFObjectComparison`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFObjectComparison.md) 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. ### Destroy ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PDFObject.Dispose() ``` **Returns:** `void` ### EnumPDFObjects ```csharp bool Datalogics.PDFL.PDFObject.EnumPDFObjects(PDFObjectEnumProc enumProc) ``` **Parameters** - `enumProc` ([`PDFObjectEnumProc`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp override bool Datalogics.PDFL.PDFObject.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.PDFString.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertParams ```csharp class PDFXConvertParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md) **Uses types:** [`PDFXConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertParams.md) ## Constructors ### PDFXConvertParams ```csharp Datalogics.PDFL.PDFXConvertParams.PDFXConvertParams() ``` *constructor* Parameters for converting to PDF/X. ### PDFXConvertParams ```csharp Datalogics.PDFL.PDFXConvertParams.PDFXConvertParams(bool RemoveAllAnnotations, bool AbortIfXFAIsPresent) ``` *constructor* **Parameters** - `RemoveAllAnnotations` (`bool`): Remove all annotations whether legal or illegal. - `AbortIfXFAIsPresent` (`bool`): Abort when XFA is present. Parameters for converting to PDF/X. ## Properties ### AbortIfXFAIsPresent ```csharp bool Datalogics.PDFL.PDFXConvertParams.AbortIfXFAIsPresent { get; set; } ``` ### ProfileDesc ```csharp string Datalogics.PDFL.PDFXConvertParams.ProfileDesc { get; set; } ``` ### RemoveAllAnnotations ```csharp bool Datalogics.PDFL.PDFXConvertParams.RemoveAllAnnotations { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PDFXConvertParams.Dispose() ``` **Returns:** `void` --- # PDFXConvertResult Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFXConvertResult ```csharp class PDFXConvertResult ``` **Namespace:** `Datalogics::PDFL` ## Description 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md) ## Constructors ### PDFXConvertResult ```csharp Datalogics.PDFL.PDFXConvertResult.PDFXConvertResult(Document doc, SaveFlags flags) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)) - `flags` ([`SaveFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags.md)) ## Properties ### PDFXDocument ```csharp Document Datalogics.PDFL.PDFXConvertResult.PDFXDocument { get; set; } ``` Return the PDF/X compliant version of the document. ### PDFXSaveFlags ```csharp SaveFlags Datalogics.PDFL.PDFXConvertResult.PDFXSaveFlags { get; set; } ``` 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. --- # PDFXConvertType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PDFXConvertType **Namespace:** `Datalogics::PDFL` ## Description Specifies the PDF/X standard version to convert a document to. ## Values - `X1a = 0`: Convert to PDF/X-1a 2001 - `X3 = 1`: Convert to PDF/X-3 2003 - `X4 = 2`: Convert to PDF/X-4 2010 - `X6 = 3`: Convert to PDF/X-6 2020 --- # Performance Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Performance **Namespace:** `Datalogics::PDFL` ## Description Specify the performance of the OCR engine in an abstract way. In Tesseract, for instance, this changes the OCREngineMode. ## Values - `Default = 0`: Use the engine's default performance mode. - `Faster = 1`: Favor speed over accuracy. - `MoreAccuracy = 2`: Favor accuracy over speed. - `BestAccuracy = 3`: Use the most accurate mode available, at the cost of speed. --- # PermissionFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionFlags **Namespace:** `Datalogics::PDFL` ## Values - `None = 0`: The document has no security data. - `Open = 0x01`: The user can open and decrypt the document. - `Secure = 0x02`: The user can change the document's security settings. - `Print = 0x04`: The user can print the document. Page Setup access is unaffected by this permission, since that affects PDF Viewer's preferences - not the document's. In the Document Security dialog, this corresponds to the Printing entry. - `Edit = 0x08`: The user can edit the document more than adding or modifying text notes (see also EditNotes). In the Document Security dialog, this corresponds to the Changing the Document entry. - `Copy = 0x10`: The user can copy information from the document to the clipboard. In the document restrictions, this corresponds to the Content Copying or Extraction entry. - `EditNotes = 0x20`: The user can add, modify, and delete text notes (see also Edit). In the document restrictions, this corresponds to the Authoring Comments and Form Fields entry. - `SaveAs = 0x40`: The user can perform a Save As.... If both Edit and EditNotes are disallowed, Save will be disabled but Save As... will be enabled. The Save As... menu item is not necessarily disabled even if the user is not permitted to perform a Save As.... - `Ext = 0x80`: Extended permission for document operations beyond the base set. - `FillandSign = 0x100`: Overrides other Permissions bits. It allows the user to fill in or sign existing form or signature fields. - `Accessible = 0x200`: Overrides Copy to enable the Accessibility API. If a document is saved in Rev2 format (Acrobat 4.0 compatible), only the Copy bit is checked to determine the Accessibility API state. - `DocAssembly = 0x400`: Overrides various Edit bits and allows the following operations: page insert/delete/rotate and create bookmark and thumbnail. - `HighPrint = 0x800`: This bit is a supplement to Print. If it is clear (disabled) only low quality printing (Print As Image) is allowed. On UNIX platforms where Print As Image doesn't exist, printing is disabled. - `Owner = 0x8000`: The user is permitted to perform all operations, regardless of the permissions specified by the document. Unless this permission is set, the document's permissions will be reset to those in the document after a full save. - `FormSubmit = 0x10000`: This should be set if the user can submit forms outside of the browser. This bit is a supplement to FillandSign. - `FormSpawnTempl = 0x20000`: This should be set if the user can spawn template pages. This bit will allow page template spawning even if Edit and EditNotes are clear. - `All = -1`: All permissions granted, combining all individual permission flags. - `Settable = 60`: The OR of all operations that can be set by the user in the security restrictions (Print + Edit + Copy + EditNotes). - `User = -4`: All permissions. --- # PermissionRequestOperation Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PermissionRequestOperation **Namespace:** `Datalogics::PDFL` ## Values - `AllOperations = 1`: Check all operations. - `Create = 2`: Generic. - `Delete = 3`: Delete. - `Modify = 4`: Modify. - `Copy = 5`: Copy. - `Accessible = 6`: For accessibility use. - `Select = 7`: For document or page, selecting (not copying) text or graphics. - `Open = 8`: For document open. - `Secure = 9`: For the document: changing security settings. - `PrintHigh = 10`: For the document: regular printing. - `PrintLow = 11`: For the document: low quality printing. - `FillIn = 12`: Form fill-in, or sign the existing field. - `Rotate = 13`: Rotate. - `Crop = 14`: Crop. - `Summarize = 15`: For summarizing notes. - `Insert = 16`: Insert. - `Replace = 17`: For the page. - `Reorder = 18`: For the page. - `FullSave = 19`: For the document. - `Import = 20`: For the notes and image. - `Export = 21`: For the notes. ExportPS should check print. - `AnyOperation = 22`: Used for checking to see if any operation is allowed. - `UnknownOperation = 23`: Used for error checking. - `SubmitStandalone = 24`: Submit forms outside of the browser. - `SpawnTemplate = 25`: Allow the form to spawn template pages. - `Online = 26`: This should be always the last item For annotations and forms: enabling online functionality. - `SummaryView = 27`: For annotations: enabling a summary view of annotations in a PDF Viewer. - `BarcodePlaintext = 28`: For forms: enables form appearance to be rendered as a plain text barcode. --- # Point Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point ```csharp class Point : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CurveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveTo.md), [`CurveToV`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToV.md), [`CurveToY`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToY.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LineTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineTo.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`MoveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/MoveTo.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`RectSegment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RectSegment.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md) ## Constructors ### Point ```csharp Datalogics.PDFL.Point.Point() ``` *constructor* Create a new point at the origin (0.0, 0.0). ### Point ```csharp 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. ## Properties ### H ```csharp double Datalogics.PDFL.Point.H { get; set; } ``` The horizontal coordinate of the point. ### V ```csharp double Datalogics.PDFL.Point.V { get; set; } ``` The vertical coordinate of the point. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Point.Dispose() ``` **Returns:** `void` ### DistanceTransform ```csharp Point Datalogics.PDFL.Point.DistanceTransform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp override bool Datalogics.PDFL.Point.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Point.ToString() ``` **Returns:** `override string` A string in the format "( h,v )". Return a string representation of the Point. ### Transform ```csharp Point Datalogics.PDFL.Point.Transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. --- # PolygonAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation ```csharp class PolygonAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PolygonAnnotation ```csharp Datalogics.PDFL.PolygonAnnotation.PolygonAnnotation(Page page, Rect initialRect, System.Collections.Generic.IList< Point > vertices) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the PolygonAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.PolygonAnnotation.PolygonAnnotation(Page page, Rect initialRect, System.Collections.Generic.IList< Point > vertices, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.PolygonAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.PolygonAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.PolygonAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ### Vertices ```csharp System.Collections.Generic.IList Datalogics.PDFL.PolygonAnnotation.Vertices { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.PolygonAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation ```csharp class PolyLineAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`LineEndingStyle`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/LineEndingStyle.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PolyLineAnnotation ```csharp Datalogics.PDFL.PolyLineAnnotation.PolyLineAnnotation(Page page, Rect initialRect, System.Collections.Generic.IList< Point > vertices) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the PolyLineAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.PolyLineAnnotation.PolyLineAnnotation(Page page, Rect initialRect, System.Collections.Generic.IList< Point > vertices, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): A rectangle specifying the annotation's bounds, specified in user space coordinates. - `vertices` ([`System.Collections.Generic.IList< Point >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.PolyLineAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.PolyLineAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.PolyLineAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### EndPointEndingStyle ```csharp LineEndingStyle Datalogics.PDFL.PolyLineAnnotation.EndPointEndingStyle { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### StartPointEndingStyle ```csharp LineEndingStyle Datalogics.PDFL.PolyLineAnnotation.StartPointEndingStyle { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ### Vertices ```csharp System.Collections.Generic.IList Datalogics.PDFL.PolyLineAnnotation.Vertices { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.PolyLineAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/PostScript ```csharp class PostScript : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PostScript ```csharp Datalogics.PDFL.PostScript.PostScript(System.IO.Stream stream) ``` *constructor* **Parameters** - `stream` (`System.IO.Stream`): System.IO.Stream stream that contains PostScript code General constructor ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### Stream ```csharp PDFStream Datalogics.PDFL.PostScript.Stream { get; } ``` ## Methods ### Clone ```csharp Element Datalogics.PDFL.Element.Clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction ```csharp class PostScriptCalculatorFunction : Function ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md) ## Description A function represented as a stream containing code written in a small subset of the PostScript language. **Referenced by:** [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md) **Uses types:** [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`PDFStream`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFStream.md), [`PostScriptCalculatorFunction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScriptCalculatorFunction.md) ## Constructors ### PostScriptCalculatorFunction ```csharp Datalogics.PDFL.PostScriptCalculatorFunction.PostScriptCalculatorFunction(System.Collections.Generic.IList< System.Double > domain, System.Collections.Generic.IList< System.Double > range, string code) ``` *constructor* **Parameters** - `domain` (`System.Collections.Generic.IList< System.Double >`): an array of 2 * m numbers, where m is the number of input values - `range` (`System.Collections.Generic.IList< System.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. ## Properties ### Code ```csharp string Datalogics.PDFL.PostScriptCalculatorFunction.Code { get; } ``` ### Default ```csharp static Function Datalogics.PDFL.Function.Default { get; } ``` *static* A Function representing the Default named function. ### Domain ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Domain { get; set; } ``` ### Identity ```csharp static Function Datalogics.PDFL.Function.Identity { get; } ``` *static* A Function representing the Identity named function, which returns its input values unchanged. ### NInputs ```csharp int Datalogics.PDFL.Function.NInputs { get; } ``` ### NOutputs ```csharp int Datalogics.PDFL.Function.NOutputs { get; } ``` ### Range ```csharp System.Collections.Generic.IList Datalogics.PDFL.Function.Range { get; set; } ``` ### Stream ```csharp PDFStream Datalogics.PDFL.PostScriptCalculatorFunction.Stream { get; } ``` ## Methods ### Apply ```csharp virtual System.Collections.Generic.IList< System.Double > Datalogics.PDFL.Function.Apply(System.Collections.Generic.IList< System.Double > args) ``` **Parameters** - `args` (`System.Collections.Generic.IList< System.Double >`): input values for the function. The number of input values must agree with the number of inputs the function takes. **Returns:** `System.Collections.Generic.IList< System.Double >` a list of the result values from the function Apply the function to supplied input values ### Dispose ```csharp void Datalogics.PDFL.Function.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.PostScriptCalculatorFunction.ToString() ``` **Returns:** `override 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. ### operator!= ```csharp static bool Datalogics.PDFL.Function.operator!=(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are not equal; otherwise, false. Tests two Function objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.Function.operator==(Function a, Function b) ``` *static* **Parameters** - `a` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The first Function to compare. - `b` ([`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md)): The second Function to compare. **Returns:** `bool` true if the two Functions are equal; otherwise, false. Tests two Function objects for equality. --- # PrintCancelProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintCancelProc ```csharp class PrintCancelProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintCancelProc.md) **Uses types:** [`PrintCancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintCancelProc.md) ## Constructors ### PrintCancelProc ```csharp 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 ```csharp virtual bool Datalogics.PDFL.PrintCancelProc.Call() ``` **Returns:** `bool` ### Dispose ```csharp void Datalogics.PDFL.PrintCancelProc.Dispose() ``` **Returns:** `void` --- # PrintParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams ```csharp class PrintParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Print settings, primarily used for PostScript printers or output. **Referenced by:** [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md) **Uses types:** [`Duplex`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Duplex.md), [`FarEastFont`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FarEastFont.md), [`Inclusion`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/Inclusion.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OutputType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/OutputType.md), [`PageMarkFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageMarkFlags.md), [`PageRange`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageRange.md), [`PageTilingMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageTilingMode.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`PrintWhat`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintWhat.md), [`PrintWhatAnnotFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintWhatAnnotFlags.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### PrintParams ```csharp Datalogics.PDFL.PrintParams.PrintParams() ``` *constructor* ## Properties ### ApplyOCGPrintOverrides ```csharp bool Datalogics.PDFL.PrintParams.ApplyOCGPrintOverrides { get; set; } ``` ### BinaryOK ```csharp bool Datalogics.PDFL.PrintParams.BinaryOK { get; set; } ``` ### BitmapResolution ```csharp uint Datalogics.PDFL.PrintParams.BitmapResolution { get; set; } ``` ### BoundingBox ```csharp Rect Datalogics.PDFL.PrintParams.BoundingBox { get; set; } ``` ### BrokenCRDs ```csharp bool Datalogics.PDFL.PrintParams.BrokenCRDs { get; set; } ``` ### CenterCropBox ```csharp bool Datalogics.PDFL.PrintParams.CenterCropBox { get; set; } ``` ### DisableFlattening ```csharp bool Datalogics.PDFL.PrintParams.DisableFlattening { get; set; } ``` ### DoOPP ```csharp bool Datalogics.PDFL.PrintParams.DoOPP { get; set; } ``` ### DoProofing ```csharp bool Datalogics.PDFL.PrintParams.DoProofing { get; set; } ``` ### DoTiling ```csharp PageTilingMode Datalogics.PDFL.PrintParams.DoTiling { get; set; } ``` ### Duplex ```csharp Duplex Datalogics.PDFL.PrintParams.Duplex { get; set; } ``` ### EmitBG ```csharp bool Datalogics.PDFL.PrintParams.EmitBG { get; set; } ``` ### EmitColorSeps ```csharp bool Datalogics.PDFL.PrintParams.EmitColorSeps { get; set; } ``` ### EmitDeviceExtGState ```csharp bool Datalogics.PDFL.PrintParams.EmitDeviceExtGState { get; set; } ``` ### EmitFlatness ```csharp bool Datalogics.PDFL.PrintParams.EmitFlatness { get; set; } ``` ### EmitHalftones ```csharp bool Datalogics.PDFL.PrintParams.EmitHalftones { get; set; } ``` ### EmitInRipSeps ```csharp bool Datalogics.PDFL.PrintParams.EmitInRipSeps { get; set; } ``` ### EmitPS ```csharp bool Datalogics.PDFL.PrintParams.EmitPS { get; set; } ``` ### EmitPageClip ```csharp bool Datalogics.PDFL.PrintParams.EmitPageClip { get; set; } ``` ### EmitPageRotation ```csharp bool Datalogics.PDFL.PrintParams.EmitPageRotation { get; set; } ``` ### EmitRawData ```csharp bool Datalogics.PDFL.PrintParams.EmitRawData { get; set; } ``` ### EmitSeparableImagesOnly ```csharp bool Datalogics.PDFL.PrintParams.EmitSeparableImagesOnly { get; set; } ``` ### EmitTTFontsFirst ```csharp bool Datalogics.PDFL.PrintParams.EmitTTFontsFirst { get; set; } ``` ### EmitTransfer ```csharp bool Datalogics.PDFL.PrintParams.EmitTransfer { get; set; } ``` ### EmitUCR ```csharp bool Datalogics.PDFL.PrintParams.EmitUCR { get; set; } ``` ### ExpandToFit ```csharp bool Datalogics.PDFL.PrintParams.ExpandToFit { get; set; } ``` ### FarEastFontOpt ```csharp FarEastFont Datalogics.PDFL.PrintParams.FarEastFontOpt { get; set; } ``` ### FlattenInfoExternalDPI ```csharp float Datalogics.PDFL.PrintParams.FlattenInfoExternalDPI { get; set; } ``` ### GradientResolution ```csharp uint Datalogics.PDFL.PrintParams.GradientResolution { get; set; } ``` ### HostBasedCM ```csharp bool Datalogics.PDFL.PrintParams.HostBasedCM { get; set; } ``` ### IncBaseFonts ```csharp Inclusion Datalogics.PDFL.PrintParams.IncBaseFonts { get; set; } ``` ### IncCIDFonts ```csharp Inclusion Datalogics.PDFL.PrintParams.IncCIDFonts { get; set; } ``` ### IncEmbeddedFonts ```csharp Inclusion Datalogics.PDFL.PrintParams.IncEmbeddedFonts { get; set; } ``` ### IncOtherResources ```csharp Inclusion Datalogics.PDFL.PrintParams.IncOtherResources { get; set; } ``` ### IncProcsets ```csharp Inclusion Datalogics.PDFL.PrintParams.IncProcsets { get; set; } ``` ### IncTrueTypeFonts ```csharp Inclusion Datalogics.PDFL.PrintParams.IncTrueTypeFonts { get; set; } ``` ### IncType1Fonts ```csharp Inclusion Datalogics.PDFL.PrintParams.IncType1Fonts { get; set; } ``` ### InkBlack ```csharp bool Datalogics.PDFL.PrintParams.InkBlack { get; set; } ``` ### LastHeight ```csharp int Datalogics.PDFL.PrintParams.LastHeight { get; set; } ``` ### LastWidth ```csharp int Datalogics.PDFL.PrintParams.LastWidth { get; set; } ``` ### LineWidth ```csharp float Datalogics.PDFL.PrintParams.LineWidth { get; set; } ``` ### MacQDPrinter ```csharp bool Datalogics.PDFL.PrintParams.MacQDPrinter { get; set; } ``` ### MarkStyle ```csharp int Datalogics.PDFL.PrintParams.MarkStyle { get; set; } ``` ### Mirrorprint ```csharp int Datalogics.PDFL.PrintParams.Mirrorprint { get; set; } ``` ### Negative ```csharp bool Datalogics.PDFL.PrintParams.Negative { get; set; } ``` ### NumCollatedCopies ```csharp uint Datalogics.PDFL.PrintParams.NumCollatedCopies { get; set; } ``` ### OptimizeForSpeed ```csharp bool Datalogics.PDFL.PrintParams.OptimizeForSpeed { get; set; } ``` ### OptionalContentContext ```csharp OptionalContentContext Datalogics.PDFL.PrintParams.OptionalContentContext { get; set; } ``` ### OutputType ```csharp OutputType Datalogics.PDFL.PrintParams.OutputType { get; set; } ``` ### PageRanges ```csharp System.Collections.Generic.IList Datalogics.PDFL.PrintParams.PageRanges { get; set; } ``` ### PaperWhite ```csharp bool Datalogics.PDFL.PrintParams.PaperWhite { get; set; } ``` ### PrintWhat ```csharp PrintWhat Datalogics.PDFL.PrintParams.PrintWhat { get; set; } ``` ### PrintWhatAnnot ```csharp PrintWhatAnnotFlags Datalogics.PDFL.PrintParams.PrintWhatAnnot { get; set; } ``` ### PsLevel ```csharp int Datalogics.PDFL.PrintParams.PsLevel { get; set; } ``` ### Reverse ```csharp bool Datalogics.PDFL.PrintParams.Reverse { get; set; } ``` ### Rotate ```csharp bool Datalogics.PDFL.PrintParams.Rotate { get; set; } ``` ### RotateAndCenter ```csharp bool Datalogics.PDFL.PrintParams.RotateAndCenter { get; set; } ``` ### SaveVM ```csharp bool Datalogics.PDFL.PrintParams.SaveVM { get; set; } ``` ### Scale ```csharp float Datalogics.PDFL.PrintParams.Scale { get; set; } ``` ### SetPageSize ```csharp bool Datalogics.PDFL.PrintParams.SetPageSize { get; set; } ``` ### ShrinkToFit ```csharp bool Datalogics.PDFL.PrintParams.ShrinkToFit { get; set; } ``` ### SuppressCJKSubstitution ```csharp bool Datalogics.PDFL.PrintParams.SuppressCJKSubstitution { get; set; } ``` ### SuppressCSA ```csharp bool Datalogics.PDFL.PrintParams.SuppressCSA { get; set; } ``` ### SuppressOPPWhenNoSpots ```csharp int Datalogics.PDFL.PrintParams.SuppressOPPWhenNoSpots { get; set; } ``` ### TTasCIDT2 ```csharp bool Datalogics.PDFL.PrintParams.TTasCIDT2 { get; set; } ``` ### TTasT42 ```csharp bool Datalogics.PDFL.PrintParams.TTasT42 { get; set; } ``` ### TransparencyQuality ```csharp uint Datalogics.PDFL.PrintParams.TransparencyQuality { get; set; } ``` ### TrapType ```csharp int Datalogics.PDFL.PrintParams.TrapType { get; set; } ``` ### UseExecForm ```csharp bool Datalogics.PDFL.PrintParams.UseExecForm { get; set; } ``` ### UseFontAliasNames ```csharp bool Datalogics.PDFL.PrintParams.UseFontAliasNames { get; set; } ``` ### UseFullResolutionJP2KData ```csharp bool Datalogics.PDFL.PrintParams.UseFullResolutionJP2KData { get; set; } ``` ### UseMaxVM ```csharp bool Datalogics.PDFL.PrintParams.UseMaxVM { get; set; } ``` ### UseSubFileDecode ```csharp bool Datalogics.PDFL.PrintParams.UseSubFileDecode { get; set; } ``` ### WesternMarksStyle ```csharp bool Datalogics.PDFL.PrintParams.WesternMarksStyle { get; set; } ``` ### WhichMarks ```csharp PageMarkFlags Datalogics.PDFL.PrintParams.WhichMarks { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.PrintParams.Dispose() ``` **Returns:** `void` --- # PrintProgressProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintProgressProc ```csharp class PrintProgressProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PrintProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintProgressProc.md) **Uses types:** [`PrintProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintProgressProc.md), [`PrintProgressStage`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintProgressStage.md) ## Constructors ### PrintProgressProc ```csharp 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 ```csharp virtual void 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintProgressStage.md)) **Returns:** `void` ### Dispose ```csharp void Datalogics.PDFL.PrintProgressProc.Dispose() ``` **Returns:** `void` --- # PrintProgressStage Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintProgressStage **Namespace:** `Datalogics::PDFL` ## Values - `PrintProg_CompilingDocumentResources = 1`: Compiling (Document Level) Resources - `PrintProg_CompilingPageResources = 2`: Compiling (Page Level) Resources - `PrintProg_StreamingDocumentFont = 3`: Streaming (Document Level) Font - `PrintProg_StreamingDocumentResource = 4`: Streaming (Document Level) Resource - `PrintProg_StreamingPageFont = 5`: Streaming (Page Level) Font - `PrintProg_StreamingPageResource = 6`: Streaming (Page Level) Resource - `PrintProg_StreamingPageContent = 7`: Streaming (Page Level) Content - `PrintProg_StreamingPageEpilogue = 8`: Page Trailer - `PrintProg_StreamingDocumentEpilogue = 9`: Document Trailer - `PrintProg_StreamingDocumentProcset = 10`: Streaming (Document Level) Procset - `PrintProg_StreamingPageSeparation = 11`: Streaming (Page Level) Separation(s) - `PrintProg_StreamingPageImage = 12`: Streaming (Page Level) Image - `PrintProg_StreamingPageImageOPI = 13`: Streaming (Page Level) OPI Image - `PrintProg_StreamingPageCSA = 14`: Streaming (Page Level) Color Space Array - `PrintProg_StreamingPageCRD = 15`: Streaming (Page Level) Color Rendering Dictionary - `PrintProg_StreamingPageGradient = 16`: Streaming (Page Level) Gradient - `PrintProg_OnHostTrapBeginPage = 17`: Begin Trapping - `PrintProg_SetOnHostTrapProgressPercent = 18`: Trapping - `PrintProg_StreamingPageImageProgressPercent = 19`: Streaming (Page Level) Image - `PrintProg_BeginStreamingTraps = 20`: Streaming (Page Level) Traps - `PrintProg_SetStreamingTrapPercent = 21`: Streaming (Page Level) Traps - `PrintFlat_EnterInFlattener = 100`: Begin Flattening - `PrintFlat_FindObjectsInvolvedInTransparency = 101`: Searching for Transparency - `PrintFlat_TextHeuristics = 102`: Calculating Text Interactions - `PrintFlat_IdentifyingComplexityRegion = 103`: Identifying Region - `PrintFlat_ComputingComplexityRegionClippath = 104`: Identifying Clip Path - `PrintFlat_EnterInPlanarMap = 105`: Planar Mapping - `PrintFlat_FlattenAtomicRegions = 106`: Atomic Regions - `PrintFlat_RasterizingComplexityRegion = 107`: Rasterizing - `PrintPage = 200`: WillPrintPage or DidPrintPage --- # PrintUserParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams ```csharp class PrintUserParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`FarEastFont`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/FarEastFont.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`PrintUserParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintUserParams.md) ## Constructors ### PrintUserParams ```csharp 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. ## Properties ### BinaryOK ```csharp int Datalogics.PDFL.PrintUserParams.BinaryOK { get; set; } ``` ### Collate ```csharp bool Datalogics.PDFL.PrintUserParams.Collate { get; set; } ``` ### Command ```csharp string Datalogics.PDFL.PrintUserParams.Command { get; set; } ``` ### DeviceName ```csharp string Datalogics.PDFL.PrintUserParams.DeviceName { get; set; } ``` ### DoOPP ```csharp int Datalogics.PDFL.PrintUserParams.DoOPP { get; set; } ``` ### DriverName ```csharp string Datalogics.PDFL.PrintUserParams.DriverName { get; set; } ``` ### EmitHalftones ```csharp int Datalogics.PDFL.PrintUserParams.EmitHalftones { get; set; } ``` ### EmitToFile ```csharp bool Datalogics.PDFL.PrintUserParams.EmitToFile { get; set; } ``` ### EmitToPrinter ```csharp bool Datalogics.PDFL.PrintUserParams.EmitToPrinter { get; set; } ``` ### EndPage ```csharp int Datalogics.PDFL.PrintUserParams.EndPage { get; set; } ``` ### FarEastFontOpt ```csharp FarEastFont Datalogics.PDFL.PrintUserParams.FarEastFontOpt { get; set; } ``` ### InFileName ```csharp string Datalogics.PDFL.PrintUserParams.InFileName { get; set; } ``` ### NCopies ```csharp int Datalogics.PDFL.PrintUserParams.NCopies { get; set; } ``` ### OutFileName ```csharp string Datalogics.PDFL.PrintUserParams.OutFileName { get; set; } ``` ### PaperHeight ```csharp ushort Datalogics.PDFL.PrintUserParams.PaperHeight { get; set; } ``` ### PaperSource ```csharp int Datalogics.PDFL.PrintUserParams.PaperSource { get; set; } ``` ### PaperWidth ```csharp ushort Datalogics.PDFL.PrintUserParams.PaperWidth { get; set; } ``` ### PortName ```csharp string Datalogics.PDFL.PrintUserParams.PortName { get; set; } ``` ### PrintAnnots ```csharp int Datalogics.PDFL.PrintUserParams.PrintAnnots { get; set; } ``` ### PrintParams ```csharp PrintParams Datalogics.PDFL.PrintUserParams.PrintParams { get; } ``` ### PsLevel ```csharp int Datalogics.PDFL.PrintUserParams.PsLevel { get; set; } ``` ### Reverse ```csharp int Datalogics.PDFL.PrintUserParams.Reverse { get; set; } ``` ### ShrinkToFit ```csharp bool Datalogics.PDFL.PrintUserParams.ShrinkToFit { get; set; } ``` ### StartPage ```csharp int Datalogics.PDFL.PrintUserParams.StartPage { get; set; } ``` ### StartResult ```csharp int Datalogics.PDFL.PrintUserParams.StartResult { get; set; } ``` ### TransQuality ```csharp int Datalogics.PDFL.PrintUserParams.TransQuality { get; set; } ``` ### UseCustomPaperSize ```csharp bool Datalogics.PDFL.PrintUserParams.UseCustomPaperSize { get; set; } ``` ## Fields ### UseCropBox ```csharp static const ushort Datalogics.PDFL.PrintUserParams.UseCropBox ``` *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. ### UseMediaBox ```csharp static const ushort Datalogics.PDFL.PrintUserParams.UseMediaBox ``` *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 ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.PrintUserParams.Dispose() ``` **Returns:** `void` ### EnumeratePaperSources ```csharp System.Collections.Generic.IList< System.String > Datalogics.PDFL.PrintUserParams.EnumeratePaperSources() ``` **Returns:** `System.Collections.Generic.IList< System.String >` Set of the tray/bin names. Enumerates available tray/bin names for the specified printer. ### PaperSourceIdByName ```csharp int 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 ```csharp bool Datalogics.PDFL.PrintUserParams.PosePrintDialog(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): a Document which will be used to set the maximum page range in the dialog box. **Returns:** `bool` 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(). ### UpdateFromPrinterSettings ```csharp void Datalogics.PDFL.PrintUserParams.UpdateFromPrinterSettings(System.Drawing.Printing.PrinterSettings settings) ``` **Parameters** - `settings` (`System.Drawing.Printing.PrinterSettings`): Printer settings **Returns:** `void` Update the PrintUserParams from System.Drawing.Printing.PrinterSettings. The following items are updated: startPage endPage driverName deviceName portName nCopies paperWidth paperHeight DEVMODE Use this if you pose the print settings dialog box in your own code. ### UseDefaultPrinter ```csharp void Datalogics.PDFL.PrintUserParams.UseDefaultPrinter(Document doc) ``` **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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(). --- # PrintWhat Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintWhat **Namespace:** `Datalogics::PDFL` ## Description What portions of the document to print ## Values - `Document = 0`: Print only the document. - `DocumentAndComments = 1`: Print the document and associated annotations - `DocumentAndStamps = 2`: Print the document and stamp annotations. - `FormFieldsOnly = 3`: Print only the data within form fields. --- # PrintWhatAnnotFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PrintWhatAnnotFlags **Namespace:** `Datalogics::PDFL` ## Description Which annotations to print ## Values - `NoExtras = 1`: Do not print any extra annotations. - `TrapAnnots = 2`: Print trap annotations. - `PrinterMarks = 4`: Print printer mark annotations. --- # ProgressMonitor Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor ```csharp class ProgressMonitor : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFOptimizer`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFOptimizer.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md) **Uses types:** [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md) ## Constructors ### ProgressMonitor ```csharp Datalogics.PDFL.ProgressMonitor.ProgressMonitor() ``` *constructor* Creates a new ProgressMonitor with duration and current value initialized to zero. ## Methods ### BeginOperation ```csharp virtual void 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. ### Dispose ```csharp void Datalogics.PDFL.ProgressMonitor.Dispose() ``` **Returns:** `void` ### EndOperation ```csharp virtual void 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. ### GetCurrentValue ```csharp virtual int 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 ```csharp virtual int 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 ```csharp virtual void 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 ```csharp virtual void 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 ```csharp virtual void 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/DotNet/APDFL18.0.5PlusP2e/class/QRColor ```csharp class QRColor : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Used to control how the QR color is created. **Referenced by:** [`QRColor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QRColor.md), [`QREncodeParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams.md) **Uses types:** [`QRColor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QRColor.md) ## Constructors ### QRColor ```csharp Datalogics.PDFL.QRColor.QRColor() ``` *constructor* Create a new QRColor object. ## Properties ### Blue ```csharp int Datalogics.PDFL.QRColor.Blue { get; set; } ``` ### Green ```csharp int Datalogics.PDFL.QRColor.Green { get; set; } ``` ### Red ```csharp int Datalogics.PDFL.QRColor.Red { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.QRColor.Dispose() ``` **Returns:** `void` --- # QREncodeParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams ```csharp class QREncodeParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Used to control how the QR code is created. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`QREncodeParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams.md) **Uses types:** [`QRColor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QRColor.md), [`QREncodeParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QREncodeParams.md), [`QRErrorCorrectionLevel`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/QRErrorCorrectionLevel.md) ## Constructors ### QREncodeParams ```csharp Datalogics.PDFL.QREncodeParams.QREncodeParams(string text, double x, double y, double width, double height, QRErrorCorrectionLevel errorLevel, uint 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/QRErrorCorrectionLevel.md)): The error correction level for the QR code. - `quietZoneSize` (`uint`): The size of the quiet zone (margin) around the QR code, in modules. - `codeColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/QRColor.md)): The color of the QR code modules (the dark elements). - `backgroundColor` ([`QRColor`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### BackgroundColor ```csharp QRColor Datalogics.PDFL.QREncodeParams.BackgroundColor { get; set; } ``` ### CodeColor ```csharp QRColor Datalogics.PDFL.QREncodeParams.CodeColor { get; set; } ``` ### ErrorCorrectionLevel ```csharp QRErrorCorrectionLevel Datalogics.PDFL.QREncodeParams.ErrorCorrectionLevel { get; set; } ``` ### Height ```csharp double Datalogics.PDFL.QREncodeParams.Height { get; set; } ``` ### QuietZoneSize ```csharp uint Datalogics.PDFL.QREncodeParams.QuietZoneSize { get; set; } ``` ### TextToEncode ```csharp string Datalogics.PDFL.QREncodeParams.TextToEncode { get; set; } ``` ### Width ```csharp double Datalogics.PDFL.QREncodeParams.Width { get; set; } ``` ### X ```csharp double Datalogics.PDFL.QREncodeParams.X { get; set; } ``` ### Y ```csharp double Datalogics.PDFL.QREncodeParams.Y { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.QREncodeParams.Dispose() ``` **Returns:** `void` --- # QRErrorCorrectionLevel Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/QRErrorCorrectionLevel **Namespace:** `Datalogics::PDFL` ## Description The Error Correction Level of the QR Code ## Values - `Low = 0`: Can tolerate 7% of bad codewords. - `Medium = 1`: Can tolerate 15% of bad codewords. - `Quartile = 2`: Can tolerate 25% of bad codewords. - `High = 3`: Can tolerate 30% of bad codewords. --- # Quad Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad ```csharp class Quad : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinderQuadInfo.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Quad ```csharp Datalogics.PDFL.Quad.Quad() ``` *constructor* Creates a Quad with all points at the origin. ### Quad ```csharp Datalogics.PDFL.Quad.Quad(Point nTopLeft, Point nTopRight, Point nBottomLeft, Point nBottomRight) ``` *constructor* **Parameters** - `nTopLeft` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The top left corner of the Quad. - `nTopRight` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The top right corner of the Quad. - `nBottomLeft` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The bottom left corner of the Quad. - `nBottomRight` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md)): The bottom right corner of the Quad. Creates a Quad from a set of 4 points. ## Properties ### BottomLeft ```csharp Point Datalogics.PDFL.Quad.BottomLeft { get; } ``` Bottom left corner of the Quad. ### BottomRight ```csharp Point Datalogics.PDFL.Quad.BottomRight { get; } ``` Bottom right corner of the Quad. ### TopLeft ```csharp Point Datalogics.PDFL.Quad.TopLeft { get; } ``` Top left corner of the Quad. ### TopRight ```csharp Point Datalogics.PDFL.Quad.TopRight { get; } ``` Top right corner of the Quad. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Quad.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Quad.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToRect ```csharp Rect Datalogics.PDFL.Quad.ToRect() ``` **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp override string Datalogics.PDFL.Quad.ToString() ``` **Returns:** `override 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 ```csharp Quad Datalogics.PDFL.Quad.Transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): The transformation matrix to apply to each point of the Quad. **Returns:** [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/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. --- # Rect Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect ```csharp class Rect : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md), [`CircleAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CircleAnnotation.md), [`Container`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Container.md), [`Content`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Content.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`DrawParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`FreeTextAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FreeTextAnnotation.md), [`Group`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Group.md), [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`Image`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Image.md), [`InkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/InkAnnotation.md), [`LineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineAnnotation.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Path`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`PolyLineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolyLineAnnotation.md), [`PolygonAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PolygonAnnotation.md), [`PostScript`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PostScript.md), [`PrintParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PrintParams.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) ## Constructors ### Rect ```csharp Datalogics.PDFL.Rect.Rect() ``` *constructor* Create a rectangle with all values zero. ### Rect ```csharp 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 ```csharp Datalogics.PDFL.Rect.Rect(System.Drawing.Rectangle r) ``` *constructor* **Parameters** - `r` (`System.Drawing.Rectangle`): The rectangle to convert Construct a Rect from a System.Drawing.Rectangle Note that the coordinate systems are inverted for PDFL. Smaller X/Y values are assigned to the lower left coordinate. ### Rect ```csharp Datalogics.PDFL.Rect.Rect(System.Drawing.RectangleF r) ``` *constructor* **Parameters** - `r` (`System.Drawing.RectangleF`): The rectangle to convert Construct a Rect from a System.Drawing.RectangleF Note that the coordinate systems are inverted for PDFL. Smaller X/Y values are assigned to the lower left coordinate. ## Properties ### Bottom ```csharp double Datalogics.PDFL.Rect.Bottom { get; set; } ``` ### Height ```csharp double Datalogics.PDFL.Rect.Height { get; } ``` ### LLx ```csharp double Datalogics.PDFL.Rect.LLx { get; set; } ``` the X coordinate of the lower left corner of the rectangle ### LLy ```csharp double Datalogics.PDFL.Rect.LLy { get; set; } ``` the Y coordinate of the lower left corner of the rectangle ### Left ```csharp double Datalogics.PDFL.Rect.Left { get; set; } ``` ### Right ```csharp double Datalogics.PDFL.Rect.Right { get; set; } ``` ### RoundedHeight ```csharp int Datalogics.PDFL.Rect.RoundedHeight { get; } ``` ### RoundedWidth ```csharp int Datalogics.PDFL.Rect.RoundedWidth { get; } ``` ### Top ```csharp double Datalogics.PDFL.Rect.Top { get; set; } ``` ### URx ```csharp double Datalogics.PDFL.Rect.URx { get; set; } ``` the X coordinate of the upper right corner of the rectangle ### URy ```csharp double Datalogics.PDFL.Rect.URy { get; set; } ``` the Y coordinate of the upper right corner of the rectangle ### Width ```csharp double Datalogics.PDFL.Rect.Width { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Rect.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Rect.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### InRect ```csharp bool Datalogics.PDFL.Rect.InRect(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): The rectangle to test containment against. **Returns:** `bool` true if this rectangle is entirely inside r2, false otherwise. Check if this rectangle is inside the parameter rectangle. ### Intersect ```csharp Rect Datalogics.PDFL.Rect.Intersect(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): The other rectangle to intersect with. **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp bool Datalogics.PDFL.Rect.IsEmpty() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Rect.Overlaps(Rect r2) ``` **Parameters** - `r2` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): The other rectangle to test for overlap. **Returns:** `bool` true if the two rectangles overlap, false otherwise. Check if two rectangles overlap. ### ToString ```csharp override string Datalogics.PDFL.Rect.ToString() ``` **Returns:** `override string` A string describing the rectangle coordinates in the form "[ LLx=..., LLy=..., URx=..., URy=... ]". Convert the Rect to a human-readable string representation. ### Transform ```csharp Rect Datalogics.PDFL.Rect.Transform(Matrix arg0) ``` **Parameters** - `arg0` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)) **Returns:** [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md) A new Rect with the transformed coordinates. Transform the coordinates of the rectangle by the given Matrix Object. ### operator Rect ```csharp static implicit Datalogics.PDFL.Rect.operator Rect(System.Drawing.Rectangle r) ``` *static* **Parameters** - `r` (`System.Drawing.Rectangle`): The rectangle to convert **Returns:** `implicit` Convert a System.Drawing.Rectangle to a Rect Note that the coordinate systems are inverted for PDFL. Smaller X/Y values are assigned to the lower left coordinate. ### operator Rect ```csharp static implicit Datalogics.PDFL.Rect.operator Rect(System.Drawing.RectangleF r) ``` *static* **Parameters** - `r` (`System.Drawing.RectangleF`): The rectangle to convert **Returns:** `implicit` Convert a System.Drawing.RectangleF to a Rect Note that the coordinate systems are inverted for PDFL. Smaller X/Y values are assigned to the lower left coordinate. --- # RectSegment Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RectSegment ```csharp class RectSegment : Segment ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`RectSegment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RectSegment.md) **Uses types:** [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`RectSegment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RectSegment.md) ## Constructors ### RectSegment ```csharp 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 ```csharp Datalogics.PDFL.RectSegment.RectSegment(Point point, double width, double height) ``` *constructor* **Parameters** - `point` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### Height ```csharp double Datalogics.PDFL.RectSegment.Height { get; set; } ``` The height of the rectangle. ### Point ```csharp Point Datalogics.PDFL.RectSegment.Point { get; set; } ``` The lower left corner of the rectangle. ### Width ```csharp double Datalogics.PDFL.RectSegment.Width { get; set; } ``` The width of the rectangle. ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.RectSegment.ToString() ``` **Returns:** `override string` --- # Redaction Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction ```csharp class Redaction : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`HorizontalAlignment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HorizontalAlignment.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`Redaction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Redaction.md) ## Constructors ### Redaction ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, string fontName) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, string fontName, double textSize) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, string fontName, double textSize, bool repeat) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, string fontName, double textSize, bool repeat, bool scaleToFit) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, double textSize) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, double textSize, bool repeat) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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` (`bool`): 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 ```csharp Datalogics.PDFL.Redaction.Redaction(Page page, System.Collections.Generic.IList< Quad > regions, Font font, Color internalColor, bool fillRedacted, bool drawBorder, Color borderColor, bool fillNormal, Color fillColor, double fillOpacity, string overlayText, Color textColor, double textSize, bool repeat, bool scaleToFit) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page where this redaction mark is found. - `regions` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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/DotNet/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` (`bool`): 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/DotNet/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/DotNet/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` (`bool`): 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` (`bool`): 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. ## Properties ### Align ```csharp HorizontalAlignment Datalogics.PDFL.Redaction.Align { get; set; } ``` ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderColor ```csharp Color Datalogics.PDFL.Redaction.BorderColor { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### DrawBorder ```csharp bool Datalogics.PDFL.Redaction.DrawBorder { get; set; } ``` ### FillColor ```csharp Color Datalogics.PDFL.Redaction.FillColor { get; } ``` ### FillNormal ```csharp bool Datalogics.PDFL.Redaction.FillNormal { get; set; } ``` ### FillOpacity ```csharp double Datalogics.PDFL.Redaction.FillOpacity { get; } ``` ### FillRedacted ```csharp bool Datalogics.PDFL.Redaction.FillRedacted { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### FontFace ```csharp string Datalogics.PDFL.Redaction.FontFace { get; set; } ``` ### FontSize ```csharp double Datalogics.PDFL.Redaction.FontSize { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### InternalColor ```csharp Color Datalogics.PDFL.Redaction.InternalColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Note ```csharp string Datalogics.PDFL.Redaction.Note { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### OverlayFont ```csharp Font Datalogics.PDFL.Redaction.OverlayFont { get; set; } ``` ### OverlayText ```csharp string Datalogics.PDFL.Redaction.OverlayText { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### PageNo ```csharp int Datalogics.PDFL.Redaction.PageNo { get; set; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.Redaction.Quads { get; set; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Repeat ```csharp bool Datalogics.PDFL.Redaction.Repeat { get; set; } ``` ### ScaleToFit ```csharp bool Datalogics.PDFL.Redaction.ScaleToFit { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### TextColor ```csharp Color Datalogics.PDFL.Redaction.TextColor { get; set; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp virtual Form Datalogics.PDFL.Annotation.GenerateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### SetFillColor ```csharp void Datalogics.PDFL.Redaction.SetFillColor(Color col, double opacity) ``` **Parameters** - `col` ([`Color`](https://docs.datalogics.com/apdfl18/DotNet/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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination ```csharp class RemoteDestination : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md) ## Constructors ### RemoteDestination ```csharp Datalogics.PDFL.RemoteDestination.RemoteDestination(Document doc, int pageNum, string fitType, Rect r, double zoom) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): Target Rectangle - `zoom` (`double`): Zoom level Construct a RemoteDestination. ## Properties ### DestRect ```csharp Rect Datalogics.PDFL.RemoteDestination.DestRect { get; set; } ``` ### FitType ```csharp string Datalogics.PDFL.RemoteDestination.FitType { get; set; } ``` ### NullValue ```csharp static double Datalogics.PDFL.RemoteDestination.NullValue { get; } ``` *static* ### PDFObject ```csharp PDFObject Datalogics.PDFL.RemoteDestination.PDFObject { get; } ``` ### PageNumber ```csharp int Datalogics.PDFL.RemoteDestination.PageNumber { get; set; } ``` ### Zoom ```csharp double Datalogics.PDFL.RemoteDestination.Zoom { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.RemoteDestination.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.RemoteDestination.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.RemoteDestination.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction ```csharp class RemoteGoToAction : Action ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteDestination.md), [`RemoteGoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RemoteGoToAction.md) ## Constructors ### RemoteGoToAction ```csharp Datalogics.PDFL.RemoteGoToAction.RemoteGoToAction(FileSpecification fileSpec, RemoteDestination remoteDest) ``` *constructor* **Parameters** - `fileSpec` ([`FileSpecification`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/FileSpecification.md)): A FileSpecification containing the path to the remote document. - `remoteDest` ([`RemoteDestination`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### FileSpecification ```csharp FileSpecification Datalogics.PDFL.RemoteGoToAction.FileSpecification { get; set; } ``` ### NewWindow ```csharp bool Datalogics.PDFL.RemoteGoToAction.NewWindow { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Action.PDFDict { get; } ``` ### RemoteDestination ```csharp RemoteDestination Datalogics.PDFL.RemoteGoToAction.RemoteDestination { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Action.Subtype { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Action.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Action.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Action.ToString() ``` **Returns:** `override string` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # RenderIntent Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent **Namespace:** `Datalogics::PDFL` ## Values - `Perceptual = 0`: Tries to preserve the visual relationship between colors in a way that is perceived as natural to the human eye, although the color values themselves may change. This is the same as the Image intent in Adobe PageMaker and Illustrator. This option is suitable for photographic, continuous tone images. - `RelColorimetric = 1`: The same as absolute colorimetric, except that it compares the white point of the source color space to that of the destination color space and shifts all other colors accordingly, rather than comparing individual colors. - `Saturation = 2`: Tries to create vivid color at the expense of accurate color. It scales the source gamut to the destination gamut, but preserves relative saturation instead of hue, so that when scaling to a smaller gamut, hues may shift. This is the same as the Graphics intent in Adobe PageMaker and Illustrator. This option is suitable for business graphics and charts, where the exact relationship between colors is not as important as having bright saturated colors. - `AbsColorimetric = 3`: Tries to maintain color accuracy at the expense of preserving relationships between colors. It leaves colors that fall inside the destination gamut unchanged. When translating to a smaller gamut, two colors that are distinct in the source space may be mapped to the same color in the destination space. This type of rendering can be more accurate than if the colorAC_RelColorimetric, profile of the image contains correct white point (extreme highlight) information. - `UseProfileIntent = 4`: Use the source profile's rendering intent. - `UseGStateIntent = 5`: Use the source intent for the destination intent --- # RenderProgressProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc ```csharp class RenderProgressProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DrawParams.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc.md) **Uses types:** [`RenderProgressProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RenderProgressProc.md), [`RenderProgressStage`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderProgressStage.md) ## Constructors ### RenderProgressProc ```csharp 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 ```csharp virtual void Datalogics.PDFL.RenderProgressProc.Call(float stagePercent, string info, RenderProgressStage stage) ``` **Parameters** - `stagePercent` (`float`) - `info` (`string`) - `stage` ([`RenderProgressStage`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderProgressStage.md)) **Returns:** `void` ### Dispose ```csharp void Datalogics.PDFL.RenderProgressProc.Dispose() ``` **Returns:** `void` --- # RenderProgressStage Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderProgressStage **Namespace:** `Datalogics::PDFL` ## Description Identifies the current stage of a rendering or flattening operation. These values are passed to RenderProgressProc to indicate which phase of rendering or transparency flattening is currently in progress. ## Values - `RenderProg_Unknown = 0`: Stage 0 (barber pole) - `RenderProg_Stage1 = 1`: Stage 1 - `RenderProg_Stage2 = 2`: Stage 2 - `RenderProg_Stage3 = 3`: Stage 3 - `RenderProg_Stage4 = 4`: Stage 4 - `RenderProg_Stage5 = 5`: Stage 5 - `RenderProg_Stage6 = 6`: Stage 6 - `RenderProg_Stage7 = 7`: Stage 7 - `RenderProg_Stage8 = 8`: Stage 8 - `RenderProg_Stage9 = 9`: Stage 9 - `RenderFlat_EnterInFlattener = 100`: Begin Flattening - `RenderFlat_FindObjectsInvolvedInTransparency = 101`: Searching for Transparency - `RenderFlat_TextHeuristics = 102`: Calculating Text Interactions - `RenderFlat_IdentifyingComplexityRegion = 103`: Identifying Region - `RenderFlat_ComputingComplexityRegionClippath = 104`: Identifying Clip Path - `RenderFlat_EnterInPlanarMap = 105`: Planar Mapping - `RenderFlat_FlattenAtomicRegions = 106`: Atomic Regions - `RenderFlat_RasterizingComplexityRegion = 107`: Rasterizing --- # ReportProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ReportProc ```csharp class ReportProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ReportProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ReportProc.md) **Uses types:** [`ReportProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ReportProc.md), [`ReportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ReportType.md) ## Constructors ### ReportProc ```csharp 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 ```csharp virtual void Datalogics.PDFL.ReportProc.Call(ReportType reportType, string message, string replacementText) ``` **Parameters** - `reportType` ([`ReportType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ReportType.md)) - `message` (`string`) - `replacementText` (`string`) **Returns:** `void` ### Dispose ```csharp void Datalogics.PDFL.ReportProc.Dispose() ``` **Returns:** `void` --- # ReportType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ReportType **Namespace:** `Datalogics::PDFL` ## Description Type codes used for error reporting. ## Values - `Note = 0`: A note. - `Warning = 1`: A warning. - `Error = 2`: An error. --- # ResourceType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ResourceType **Namespace:** `Datalogics::PDFL` ## Values - `ExtGState = 0`: Graphic State Parameter dictionary. - `ColorSpace = 1`: The name of a device-dependent Color Space or an array describing a Color Space. - `Pattern = 2`: Pattern object - `Shading = 4`: Shading dictionary - `XObject = 5`: External object - `Font = 6`: Font dictionary - `ProcSet = 7`: Predefined procedure set names. - `Properties = 8`: Property list dictionary for marked-content. --- # RolledBackDocument Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RolledBackDocument ```csharp class RolledBackDocument : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RolledBackDocument.md) **Uses types:** [`RolledBackDocument`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/RolledBackDocument.md) ## Methods ### CloseDocument ```csharp void 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. ### Dispose ```csharp void Datalogics.PDFL.RolledBackDocument.Dispose() ``` **Returns:** `void` ### Save ```csharp void 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. --- # SaveFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SaveFlags **Namespace:** `Datalogics::PDFL` ## Values - `Incremental = 0`: Incremental save only write objects that have changed after the end of the document rather than disturbing unchanged items. Use with Copy to create a new file which incorporates a copy of the input file before making changes. This flag can be useful when making changes to signed documents, as it preserves the validity of any existing signatures. - `Full = 1`: Save the entire document. - `Copy = 2`: Saves a copy of the document. Used with Incremental to create a new file from a binary copy of the input document. - `Linearized = 4`: Save in a format that is suitable for remote (network) access, Linearized is sometimes referred to as Web Optimized because of its goal of minimizing the perception of poor performance due to the number of pages in a document. This inherently uses OptimizeFonts, for documents with a large number of fonts, font optimization can have poor performance, see SaveLinearizedNoOptimizeFonts as an alternative. - `CollectGarbage = 32`: Collect Garbage by removing unreferenced objects. Only valid with Full. - `KeepModDate = 128`: Do not update the Modification Date - `CloseAfterSave = 16384`: Close document after save. Use this flag for saving to the stream only. Note that using this flag to save a document to any destination other than stream causes an exception. - `XMPPacketReadOnlyNoPadding = 32768`: Save XMP data as read-only without padding - `Uncompressed = 65536`: Do not use object stream compression. Only valid with Full. - `Compressed = 131072`: Use object compression wherever possible. Only valid with Full. - `CompressStructureOnly = 262144`: Use object compression only for Logical Structure items. Only valid with Full. - `RemoveASCIIFilters = 524288`: Remove the ASCII85 filter from all streams where its in use. Only valid with Full. - `AddFlate = 1048576`: Encode any uncompressed stream witht the Flate filter. Only valid with Full. - `ReplaceLZW = 2097152`: Replace any LZW encoded stream with Flate. Only valid with Full. - `OptimizeXObjects = 4194304`: Merge identical XObjects. - `OptimizeContentStreams = 8388608`: Optimize Content Streams operators where possible. - `OptimizeFonts = 16777216`: Merge Font Descriptors and encoding where possible. For documents with a large number of fonts, font optimization can have poor performance, this should only be set if necessary. - `OptimizeMarkedJBIG2Dictionaries = 33554432`: Delete symbols specific to JBIG2 Dictionaries that couldn't be removed previously. - `Ensure7bitASCII = 67108864`: Deprecated. - `AutoSave = 134217728`: Deprecated. - `DoNotCreateToUnicodeWidths = 512`: Don't create /ToUnicode and /Widths entries for Fonts to improve performance. - `SaveOriginalMetadata = 1073741824`: Save original /Metadata stream of input as /Metadata stream of output document. - `SaveLinearizedNoOptimizeFonts = 512`: Save the document as Linearized the same as Linearized but OptimizeFonts is disabled. For documents with a large number of fonts, font optimization can have poor performance and is often unnecessary. --- # SchemaFieldSubtype Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SchemaFieldSubtype **Namespace:** `Datalogics::PDFL` ## Description The data type of a collection schema field. ## Values - `Text = 0`: Text string value. - `Date = 1`: Date value. - `Number = 2`: Numeric value. - `FieldData = 3`: Raw field data. - `Description = 4`: Descriptive text. - `ModificationDate = 5`: Date the field was last modified. - `CreationDate = 6`: Date the field was created. - `FieldDataSize = 7`: Size of the field data in bytes. --- # Segment Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Segment ```csharp class Segment : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` **Derived classes:** [`ClosePath`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ClosePath.md), [`CurveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveTo.md), [`CurveToV`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToV.md), [`CurveToY`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CurveToY.md), [`LineTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LineTo.md), [`MoveTo`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/MoveTo.md), [`RectSegment`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Path.md), [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Segment.md) **Uses types:** [`Segment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Segment.md) ## Methods ### Dispose ```csharp void Datalogics.PDFL.Segment.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.Segment.ToString() ``` **Returns:** `override string` --- # SeparationColorSpace Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace ```csharp class SeparationColorSpace : ColorSpace ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) **Uses types:** [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Function`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Function.md), [`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationColorSpace.md) ## Constructors ### SeparationColorSpace ```csharp Datalogics.PDFL.SeparationColorSpace.SeparationColorSpace(Page page, Ink ink) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): Page, that contains an ink - `ink` ([`Ink`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp 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/DotNet/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/DotNet/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. ## Properties ### Alternate ```csharp ColorSpace Datalogics.PDFL.SeparationColorSpace.Alternate { get; } ``` ### DeviceCMYK ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceCMYK { get; } ``` *static* The DeviceCMYK color space, representing cyan, magenta, yellow, and black components. ### DeviceGray ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceGray { get; } ``` *static* The DeviceGray color space, representing a single grayscale component. ### DeviceRGB ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGB { get; } ``` *static* The DeviceRGB color space, representing red, green, and blue components. ### DeviceRGBA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.DeviceRGBA { get; } ``` *static* The DeviceRGBA color space, representing red, green, blue, and alpha components. ### Function ```csharp Function Datalogics.PDFL.SeparationColorSpace.Function { get; } ``` ### Lab ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.Lab { get; } ``` *static* The CIE-based L*a*b* color space. ### LabA ```csharp static ColorSpace Datalogics.PDFL.ColorSpace.LabA { get; } ``` *static* The CIE-based L*a*b* color space with an alpha component. ### Name ```csharp string Datalogics.PDFL.ColorSpace.Name { get; } ``` ### NumComponents ```csharp int Datalogics.PDFL.ColorSpace.NumComponents { get; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.ColorSpace.PDFObject { get; } ``` ### SeparationName ```csharp string Datalogics.PDFL.SeparationColorSpace.SeparationName { get; } ``` ### SeparationNameArray ```csharp System.Byte [] Datalogics.PDFL.SeparationColorSpace.SeparationNameArray { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.ColorSpace.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ColorSpace.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ColorSpace.ToString() ``` **Returns:** `override string` A string describing this ColorSpace. Convert a ColorSpace to a string representation. ### operator!= ```csharp static bool Datalogics.PDFL.ColorSpace.operator!=(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are not equal; false otherwise. Test two ColorSpace objects for inequality. ### operator== ```csharp static bool Datalogics.PDFL.ColorSpace.operator==(ColorSpace a, ColorSpace b) ``` *static* **Parameters** - `a` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The first ColorSpace to compare. - `b` ([`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md)): The second ColorSpace to compare. **Returns:** `bool` true if the two ColorSpace objects are equal; false otherwise. Test two ColorSpace objects for equality. --- # SeparationFontOptions Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SeparationFontOptions **Namespace:** `Datalogics::PDFL` ## Values - `DontEmbedFonts = 0`: Embed no fonts. - `EmitAllEmbeddedFonts = 1`: Emit all embedded fonts. - `EmitAllFonts = 2`: Emit all fonts. --- # SeparationParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams ```csharp class SeparationParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Holds parameters for making color separations. Used with PostScript. **Referenced by:** [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md) **Uses types:** [`MirrorOptions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/MirrorOptions.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`PageMarkFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/PageMarkFlags.md), [`SeparationFontOptions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SeparationFontOptions.md), [`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate.md) ## Constructors ### SeparationParams ```csharp Datalogics.PDFL.SeparationParams.SeparationParams(System.Collections.Generic.IList< SeparationPlate > plates) ``` *constructor* **Parameters** - `plates` ([`System.Collections.Generic.IList< SeparationPlate >`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate.md)): The plates to use for making separations. Set up default parameters for making separations. ## Properties ### ApplyOCGPrintOverrides ```csharp bool Datalogics.PDFL.SeparationParams.ApplyOCGPrintOverrides { get; set; } ``` ### BinaryChannelAvailable ```csharp bool Datalogics.PDFL.SeparationParams.BinaryChannelAvailable { get; set; } ``` ### ConvertToProcessUsingOPP ```csharp bool Datalogics.PDFL.SeparationParams.ConvertToProcessUsingOPP { get; set; } ``` ### ConvertTrueTypeToType42 ```csharp bool Datalogics.PDFL.SeparationParams.ConvertTrueTypeToType42 { get; set; } ``` ### DestinationProfileString ```csharp string Datalogics.PDFL.SeparationParams.DestinationProfileString { get; set; } ``` ### EmitAnnotations ```csharp bool Datalogics.PDFL.SeparationParams.EmitAnnotations { get; set; } ``` ### EmitFontOption ```csharp SeparationFontOptions Datalogics.PDFL.SeparationParams.EmitFontOption { get; set; } ``` ### EmitHalftones ```csharp bool Datalogics.PDFL.SeparationParams.EmitHalftones { get; set; } ``` ### EmitSeparableImagesOnly ```csharp bool Datalogics.PDFL.SeparationParams.EmitSeparableImagesOnly { get; set; } ``` ### EmitTransferFunctions ```csharp bool Datalogics.PDFL.SeparationParams.EmitTransferFunctions { get; set; } ``` ### InvertPlates ```csharp bool Datalogics.PDFL.SeparationParams.InvertPlates { get; set; } ``` ### MirrorPrint ```csharp MirrorOptions Datalogics.PDFL.SeparationParams.MirrorPrint { get; set; } ``` ### OCContext ```csharp OptionalContentContext Datalogics.PDFL.SeparationParams.OCContext { get; set; } ``` ### PageMarksToEmit ```csharp PageMarkFlags Datalogics.PDFL.SeparationParams.PageMarksToEmit { get; set; } ``` ### Plates ```csharp System.Collections.Generic.IList Datalogics.PDFL.SeparationParams.Plates { get; set; } ``` ### PostScriptLevel ```csharp int Datalogics.PDFL.SeparationParams.PostScriptLevel { get; set; } ``` ### PrinterHasFarEastFonts ```csharp bool Datalogics.PDFL.SeparationParams.PrinterHasFarEastFonts { get; set; } ``` ### SuppressCJKSubstitution ```csharp bool Datalogics.PDFL.SeparationParams.SuppressCJKSubstitution { get; set; } ``` ### TransparencyLevel ```csharp int Datalogics.PDFL.SeparationParams.TransparencyLevel { get; set; } ``` ### UseCMYKWorkingColorSpace ```csharp bool Datalogics.PDFL.SeparationParams.UseCMYKWorkingColorSpace { get; set; } ``` ### UseWesternStylePageMarks ```csharp bool Datalogics.PDFL.SeparationParams.UseWesternStylePageMarks { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.SeparationParams.Dispose() ``` **Returns:** `void` --- # SeparationPlate Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate ```csharp class SeparationPlate : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Represents a plate for making print separations. Used with PostScript. **Referenced by:** [`SeparationParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationParams.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate.md) **Uses types:** [`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md), [`InkTypes`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/InkTypes.md), [`SeparationPlate`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SeparationPlate.md), [`SeparationPreviewOptions`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SeparationPreviewOptions.md) ## Constructors ### SeparationPlate ```csharp Datalogics.PDFL.SeparationPlate.SeparationPlate(Ink colorant, System.IO.Stream epsOutput) ``` *constructor* **Parameters** - `colorant` ([`Ink`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Ink.md)): A colorant to use for this SeparationPlate. - `epsOutput` (`System.IO.Stream`): A System.IO.Stream which will receive the EPS output for this SeparationPlate. General constructor ## Properties ### Alias ```csharp string Datalogics.PDFL.SeparationPlate.Alias { get; set; } ``` ### Angle ```csharp double Datalogics.PDFL.SeparationPlate.Angle { get; set; } ``` ### ColorantName ```csharp string Datalogics.PDFL.SeparationPlate.ColorantName { get; set; } ``` ### Density ```csharp double Datalogics.PDFL.SeparationPlate.Density { get; set; } ``` ### EPSOutput ```csharp System.IO.Stream Datalogics.PDFL.SeparationPlate.EPSOutput { get; set; } ``` The System.IO.Stream that will receive EPS output for this SeparationPlate. ### Frequency ```csharp double Datalogics.PDFL.SeparationPlate.Frequency { get; set; } ``` ### InkType ```csharp InkTypes Datalogics.PDFL.SeparationPlate.InkType { get; set; } ``` ### PreviewOption ```csharp SeparationPreviewOptions Datalogics.PDFL.SeparationPlate.PreviewOption { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.SeparationPlate.Dispose() ``` **Returns:** `void` --- # SeparationPreviewOptions Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SeparationPreviewOptions **Namespace:** `Datalogics::PDFL` ## Description Specifies how a colorant is handled during a separation preview. ## Values - `EmitColorant = 0`: Emit a plate for this colorant in a separation preview. - `DontEmitColorant = 1`: Don't emit a plate for this colorant for a separation preview. - `ConvertToProcess = 2`: Convert this colorant to a process color for a separation preview. --- # Shading Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading ```csharp class Shading : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`Shading`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Shading.md) ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### ColorSpace ```csharp ColorSpace Datalogics.PDFL.Shading.ColorSpace { get; } ``` ### GraphicState ```csharp GraphicState Datalogics.PDFL.Shading.GraphicState { get; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ## Methods ### Clone ```csharp Element Datalogics.PDFL.Element.Clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern ```csharp class ShadingPattern : Pattern ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Pattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Pattern.md) **Derived classes:** [`AxialShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/AxialShadingPattern.md) ## Description A shading pattern consists of a smoothly varying gradient between two colors. **Referenced by:** [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`ColorSpace`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ColorSpace.md), [`PDFObject`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFObject.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`ShadingPattern`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ShadingPattern.md) ## Properties ### AntiAlias ```csharp bool Datalogics.PDFL.ShadingPattern.AntiAlias { get; set; } ``` ### BackgroundColor ```csharp Color Datalogics.PDFL.ShadingPattern.BackgroundColor { get; set; } ``` ### BoundingBox ```csharp Rect Datalogics.PDFL.ShadingPattern.BoundingBox { get; set; } ``` ### ColorSpace ```csharp ColorSpace Datalogics.PDFL.ShadingPattern.ColorSpace { get; set; } ``` ### PDFObject ```csharp PDFObject Datalogics.PDFL.Pattern.PDFObject { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Pattern.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.ShadingPattern.ToString() ``` **Returns:** `override string` A string describing the shading pattern. Converts the shading pattern to a string representation. --- # SignatureFieldID Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SignatureFieldID **Namespace:** `Datalogics::PDFL` ## Description Digital signature field options ## Values - `SearchForFirstUnsignedField = 0`: Search for the first available signature field, i.e., a field that does not contain a signature. No new signature field is created if none found. Exception raised if not found. - `FieldCosObject = 1`: Cos object of an existing signature field that does not contain a signature. No new signature field is created if not found. Exception raised if not found. - `FullyQualifiedFieldName = 2`: Fully qualified field name of a valid T entry in an existing field dictionary that is expected to contain the digital signature. Refer PDF specification ISO 32000-2:2020, Section 12.7.4.2 for additional information. No new signature field is created if not found. Exception raised if not found. - `CreateFieldWithQualifiedName = 3`: Creates a new signature field to be signed using the T-entry fully qualified field name provided. The signature field created will contain neither parent nor child entries, i.e., the partial field name is the same as the fully qualified field name, per PDF specification ISO 32000-2:2020 Section 12.7.4.2. Field name provided shall not be separated by a period (.) character. Appearance of the generated signature field is determined by widget annotation attributes specified by signatureBoxInfo. If signatureBoxInfo is undefined, the annotation is not drawn, resulting in the creation of an invisible signature field on the first page. --- # SignatureType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SignatureType **Namespace:** `Datalogics::PDFL` ## Description Enumeration to specify fields to display as part of signature appearance. ## Values - `CMS = 0`: Digital signature based on the Cryptographic Message Syntax (CMS) standard. CMS-based digital signatures contain embedded timestamps, per the RFC3161 specification. - `RFC3161 = 1`: Trusted timestamp based on the Time-Stamp Protocol (RFC3161). - `PADES = 2`: PAdES baseline (B-T) digital signature based on the ETSI EN 319 142-1 European Standard. --- # SignDoc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc ```csharp class SignDoc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Implementation of the PDF SignDoc function. Use the SignDoc object to digitally sign a document **Referenced by:** [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md) **Uses types:** [`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/CancelProc.md), [`CredentialDataFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialDataFmt.md), [`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md), [`DigestCategory`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DigestCategory.md), [`DisplayTraits`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DisplayTraits.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ProgressMonitor.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`SignDoc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SignDoc.md), [`SignatureFieldID`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SignatureFieldID.md), [`SignatureType`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SignatureType.md) ## Constructors ### SignDoc ```csharp Datalogics.PDFL.SignDoc.SignDoc() ``` *constructor* Creates an empty SignDoc object and initializes memory for its parameters. ## Properties ### CredentialDataFormat ```csharp CredentialDataFmt Datalogics.PDFL.SignDoc.CredentialDataFormat { get; set; } ``` ### DigestCategory ```csharp DigestCategory Datalogics.PDFL.SignDoc.DigestCategory { get; set; } ``` ### DocSignType ```csharp SignatureType Datalogics.PDFL.SignDoc.DocSignType { get; set; } ``` ### FieldID ```csharp SignatureFieldID Datalogics.PDFL.SignDoc.FieldID { get; set; } ``` ### FieldName ```csharp string Datalogics.PDFL.SignDoc.FieldName { get; set; } ``` ### OutputPath ```csharp string Datalogics.PDFL.SignDoc.OutputPath { get; set; } ``` ### SignatureBoxPageNumber ```csharp uint Datalogics.PDFL.SignDoc.SignatureBoxPageNumber { get; set; } ``` ### SignatureBoxRectangle ```csharp Rect Datalogics.PDFL.SignDoc.SignatureBoxRectangle { get; set; } ``` ## Methods ### AddDigitalSignature ```csharp void Datalogics.PDFL.SignDoc.AddDigitalSignature(Document document) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp int 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 ```csharp void 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 ```csharp void Datalogics.PDFL.SignDoc.AddSigPolicyQualifierUserNotice(string displayText, string org, System.Collections.Generic.IList< System.Int64 > noticeNos) ``` **Parameters** - `displayText` (`string`): Text to display to the user when the signature is verified. - `org` (`string`): Organization that prepared the notice. - `noticeNos` (`System.Collections.Generic.IList< System.Int64 >`): 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 ```csharp void Datalogics.PDFL.SignDoc.CreateCancelProc(CancelProc cancelProc) ``` **Parameters** - `cancelProc` ([`CancelProc`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.SignDoc.CreateProgressMonitor(ProgressMonitor progMon) ``` **Parameters** - `progMon` ([`ProgressMonitor`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.SignDoc.Dispose() ``` **Returns:** `void` ### SetFieldObject ```csharp void 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 ```csharp void Datalogics.PDFL.SignDoc.SetNonPfxPassPhrase(string passPhrase, uint passphraseSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `passPhrase` (`string`): Passphrase used to encrypt Non-PFX private key. Should be set to NULL if unencrypted. - `passphraseSize` (`uint`): Passphrase size in bytes. Shall be set to 0 if private key is unencrypted or passphrase is stored on disk. - `storageFmt` ([`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md)): 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 ```csharp void Datalogics.PDFL.SignDoc.SetNonPfxPrivateKey(string privateKey, uint keySize, CredentialStorageFmt storageFmt) ``` **Parameters** - `privateKey` (`string`): Private key. - `keySize` (`uint`): Size of private key in bytes. Shall be set to 0 if key is stored on disk. - `storageFmt` ([`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md)): Storage format for private key. **Returns:** `void` Set the private key for Non-PFX credentials.. ### SetNonPfxSignerCert ```csharp void Datalogics.PDFL.SignDoc.SetNonPfxSignerCert(string signerCert, uint certSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `signerCert` (`string`): Signer certificate - `certSize` (`uint`): Size of signer certificate in bytes. Shall be set to 0 if certificate is stored on disk. - `storageFmt` ([`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md)): Storage format for the signer certificate. **Returns:** `void` Set the signer certificate for Non-PFX credentials. ### SetPfxCredentials ```csharp void Datalogics.PDFL.SignDoc.SetPfxCredentials(string credentials, CredentialStorageFmt storageFmt) ``` **Parameters** - `credentials` (`string`): Credentials in PFX/PKCS#12 file format. - `storageFmt` ([`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md)): Storage format for the signer certificate. (Only OnDisk is allowed for this option) **Returns:** `void` Set PFX/PKCS#12 credentials. ### SetPfxPassPhrase ```csharp void Datalogics.PDFL.SignDoc.SetPfxPassPhrase(string passphrase, uint passphraseSize, CredentialStorageFmt storageFmt) ``` **Parameters** - `passphrase` (`string`): Passphrase used to encrypt PFX/PKCS#12 credentials. Shall be set to NULL if credentials are unencrypted. - `passphraseSize` (`uint`): Passphrase size in bytes. Shall be set to 0 if PFX credentials are unencrypted or passphrase is stored on disk. - `storageFmt` ([`CredentialStorageFmt`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/CredentialStorageFmt.md)): 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. ### SetSignerInfo ```csharp void 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`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/DisplayTraits.md)): Fields to display as part of signature appearance. **Returns:** `void` Set Signer Info. --- # SmoothFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/SmoothFlags **Namespace:** `Datalogics::PDFL` ## Values - `None = 0`: Do not smooth any drawn elements - `Text = 1`: Draw smooth text. This will cause text to be antialiased when drawn. Recommended for lower-resolution applications such as on-screen viewing at low zoom levels. Equivalent to the Smooth Text: for Monitor option in PDF Viewer rendering preferences. - `LineArt = 2`: Draw smooth line art. This will cause paths (vector line art elements) to be antialiased. Recommended for lower-resolution applications such as on-screen viewing at low zoom levels. - `Image = 4`: Draw smooth image. This will cause raster images to be resampled to match the target imaging resolution using an averaged subsampling algorithm, and will cause images to be antialiased when drawn. Recommended for general PDF viewing applications. - `ImageBicubicResampleAndAntiAlias = 8`: Enhanced image smoothing controls: Draw smooth image and resample using bicubic resampling. This will cause raster images to be resampled to match the target imaging resolution using a bicubic subsampling algorithm, and will cause images to be antialiased when drawn. Recommended for general imaging applications. Rendering with this option takes longer than with the Image smoothing option, but generates higher quality output. - `ImageBicubicResample = 16`: Resample images using bicubic resampling, but do not antialias images. This will cause raster images to be resampled to match the target imaging resolution using a bicubic subsampling algorithm. Recommended for conversion of PDF pages to high-resolution (>= 300dpi) images. Rendering with this option takes longer than with the ImageLinearResample smoothing option, but generates higher quality output. - `ImageLinearResample = 32`: Resample images using linear average subsampling, but do not antialias images. This will cause raster images to be resampled to match the target imaging resolution using a linear average subsampling algorithm. Recommended for conversion of PDF pages to high-resolution (>= 300dpi) images. Rendering with this option is faster than with the ImageBicubicResample smoothing option, but generates lower quality output. - `ImageAntiAliasOnly = 64`: Antialias (smooth) images at low resolutions, but do not resample images when they do not match the target imaging resolution. This is not recommended for most callers. - `TextAntiAliasEnableDDR = 128`: Enhanced text antialiasing controls: Antialias (smooth) text using the DDR sub-pixel antialiasing algorithm. Equivalent to the Smooth Text: for Laptop/LCD Screen option in PDF Viewer rendering preferences. Recommended for zoom factors of 150% or more. - `TextAntiAliasEnablePreview = 256`: Enable special text "preview" rendering and antialiasing for better visual results when generating images at lower resolutions intended for on-screen viewing. This prevents text from looking badly kerned or looking to have poor inter-character spacing. We recommend this for use for viewing applications at zoom levels of 150% or less, though you will want to experiment and decide for yourself. Do not use this for non-viewing applications. Do not scale up or down the rendered image that is generated from drawing a page using this flag - it will look very blurry and unfocused. --- # SquareAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation ```csharp class SquareAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`SquareAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/SquareAnnotation.md) ## Constructors ### SquareAnnotation ```csharp Datalogics.PDFL.SquareAnnotation.SquareAnnotation(Page page, Rect initialRect) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the SquareAnnotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.SquareAnnotation.SquareAnnotation(Page page, Rect initialRect, int addAfter) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the annotation is added. - `initialRect` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### BorderStyle ```csharp string Datalogics.PDFL.SquareAnnotation.BorderStyle { get; set; } ``` ### BorderStyleDashPattern ```csharp System.Collections.Generic.IList Datalogics.PDFL.SquareAnnotation.BorderStyleDashPattern { get; set; } ``` ### BorderStyleWidth ```csharp double Datalogics.PDFL.SquareAnnotation.BorderStyleWidth { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.SquareAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # Style Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Style ```csharp class Style : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Provides access to data about fonts, font sizes, and colors used in a word. **Referenced by:** [`Style`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Style.md), [`StyleTransition`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/StyleTransition.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Style`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Style.md) ## Properties ### Color ```csharp Color Datalogics.PDFL.Style.Color { get; } ``` ### FontName ```csharp string Datalogics.PDFL.Style.FontName { get; } ``` ### FontSize ```csharp double Datalogics.PDFL.Style.FontSize { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Style.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.Style.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/StyleTransition ```csharp class StyleTransition : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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:** [`StyleTransition`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/StyleTransition.md), [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md) **Uses types:** [`Style`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Style.md), [`StyleTransition`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/StyleTransition.md) ## Properties ### CharIndex ```csharp int Datalogics.PDFL.StyleTransition.CharIndex { get; } ``` The index of the character in the word at which this transition begins. ### Style ```csharp Style Datalogics.PDFL.StyleTransition.Style { get; } ``` The Style that begins at this transition. ## Methods ### Dispose ```csharp void Datalogics.PDFL.StyleTransition.Dispose() ``` **Returns:** `void` ### ToString ```csharp override string Datalogics.PDFL.StyleTransition.ToString() ``` **Returns:** `override string` Returns a string representation of the StyleTransition. --- # TempStoreType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TempStoreType **Namespace:** `Datalogics::PDFL` ## Description Enumeration for selecting the temporary storage type used by the library. Controls whether temporary files are stored on disk or in memory. ## Values - `Disk = 1`: Library doesn't use in-memory file system - `Memory = 2`: Library use in-memory file system with unlimited memory amount by default --- # Text Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text ```csharp class Text : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Text.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md), [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Point`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Point.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md), [`Text`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextFlags.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md), [`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md) ## Constructors ### Text ```csharp Datalogics.PDFL.Text.Text() ``` *constructor* Create a new, empty Text object. ## Properties ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### NumberOfCharacters ```csharp int Datalogics.PDFL.Text.NumberOfCharacters { get; } ``` ### NumberOfRuns ```csharp int Datalogics.PDFL.Text.NumberOfRuns { get; } ``` ## Methods ### AddGlyphs ```csharp void Datalogics.PDFL.Text.AddGlyphs(System.Collections.Generic.List< System.Char > glyphIDs, System.Collections.Generic.List< System.Char > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, TextFlags flags) ``` **Parameters** - `glyphIDs` (`System.Collections.Generic.List< System.Char >`): Glyphs IDs in the specified font for adding to the page's content - `uniText` (`System.Collections.Generic.List< System.Char >`): Unicode codes for the specified glyph IDs - `font` ([`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md)): Font for wich GlyphIDs were specified - `gState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md)): The GraphicsState for Text element - `state` ([`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md)): TextState flags - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): matrix for the Text element - `flags` ([`TextFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextFlags.md)): TextFlags that specifies what kind of text to add **Returns:** `void` Adds Unicode text to a Text object ### AddGlyphs ```csharp void Datalogics.PDFL.Text.AddGlyphs(System.Collections.Generic.List< System.Char > glyphIDs, System.Collections.Generic.List< System.Char > uniText, Font font, GraphicState gState, TextState state, Matrix matrix, TextFlags flags, int index) ``` **Parameters** - `glyphIDs` (`System.Collections.Generic.List< System.Char >`): Glyphs IDs in the specified font to add to the page's content - `uniText` (`System.Collections.Generic.List< System.Char >`): Unicode codes for the specified glyph IDs - `font` ([`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md)): Font for wich GlyphIDs were specified - `gState` ([`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md)): The GraphicsState for Text element - `state` ([`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md)): TextState flags - `matrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md)): matrix for the Text element - `flags` ([`TextFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextFlags.md)): 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 ```csharp void Datalogics.PDFL.Text.AddRun(TextRun run) ``` **Parameters** - `run` ([`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md)): The TextRun to append. **Returns:** `void` Adds a TextRun to the end of this text element. ### AddRun ```csharp void Datalogics.PDFL.Text.AddRun(TextRun run, int index) ``` **Parameters** - `run` ([`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Text.ChangeMatrixForTextRun(Matrix newMatrix, int textRunIndex) ``` **Parameters** - `newMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp void Datalogics.PDFL.Text.ChangeTextMatrixForTextRun(Matrix newMatrix, int textRunIndex) ``` **Parameters** - `newMatrix` ([`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp new Text Datalogics.PDFL.Text.Clone() ``` **Returns:** `new Text` 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 ```csharp new Text Datalogics.PDFL.Text.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** `new Text` 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 ```csharp Text Datalogics.PDFL.Text.ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed) ``` **Parameters** - `document` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): The document the element belongs to. - `prof` ([`ColorProfile`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ColorProfile.md)): The ICC ColorProfile to be applied. - `intent` ([`RenderIntent`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/RenderIntent.md)): The ICC Rendering Intent for the ColorProfile - `embed` (`bool`): 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/DotNet/APDFL18.0.5PlusP2e/class/Text.md) A new Text object with the applied ICC ColorProfile. Applies the specified ICC ColorProfile to the Text object ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### FindTextRunIndexForCharacter ```csharp int 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 ```csharp Point 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/DotNet/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 ```csharp Point 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/DotNet/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. ### GetBoundingBoxForCharacter ```csharp Rect 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/DotNet/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. ### GetRun ```csharp TextRun 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/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) The TextRun at the specified index. Obtains the TextRun at the specified index. ### GetTextMatrixForCharacter ```csharp Matrix 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/DotNet/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 ```csharp Matrix 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/DotNet/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 ```csharp bool Datalogics.PDFL.Text.PointIntersectsCharacter(Point p, int index) ``` **Parameters** - `p` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp bool Datalogics.PDFL.Text.PointIntersectsTextRun(Point p, int index) ``` **Parameters** - `p` ([`Point`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp bool Datalogics.PDFL.Text.RectIntersectsCharacter(Rect r, int index) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp bool Datalogics.PDFL.Text.RectIntersectsTextRun(Rect r, int index) ``` **Parameters** - `r` ([`Rect`](https://docs.datalogics.com/apdfl18/DotNet/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:** `bool` 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 ```csharp void 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 ```csharp void 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 ```csharp void 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 ]. ### SplitTextRunAtCharacter ```csharp void 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 ```csharp void 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 ]. --- # TextFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextFlags **Namespace:** `Datalogics::PDFL` ## Description Flags that control how text operations address text within a Text object. ## Values - `TextRun = 1`: Operate on a text run (a contiguous sequence of characters sharing the same attributes). - `TextChar = 2`: Operate on an individual character within the text. - `TextPageSpace = 4`: Return results in page space coordinates rather than text space coordinates. - `TextGetBounds = 8`: Return the bounding box of the text. --- # TextMarkupAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation ```csharp class TextMarkupAnnotation : Annotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md) **Derived classes:** [`HighlightAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/HighlightAnnotation.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextMarkupAnnotation.md) ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.TextMarkupAnnotation.Quads { get; set; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp virtual Form Datalogics.PDFL.Annotation.GenerateAppearance() ``` **Returns:** [`Form`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp string Datalogics.PDFL.TextMarkupAnnotation.GetAnnotatedText(bool splitLines) ``` **Parameters** - `splitLines` (`bool`): 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override string` A string describing this annotation, including its type and rectangle. Returns a string representation of this annotation. --- # TextRenderMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextRenderMode **Namespace:** `Datalogics::PDFL` ## Description Text rendering mode determines whether text shown will have glyph outlines stroked, filled, used as a clipping path boundary, or feature some combination of those three values. Text may also be hidden (invisible). Fill sets the color inside an object. Stroke sets the color of the line drawn around that object. With a PDF file, clipping paths define closed shapes, lines, and boundaries for clip art or graphics, and they define filled areas within graphics. A clipping path can be used to edit a graphic design by removing part of the art, so that only the shapes outlined by the path appear. You could use a clipping path to remove the background in a photo or superimpose text on an image. ## Values - `Fill = 0`: Fill the text glyphs. - `Stroke = 1`: Stroke the outlines of the text glyphs. - `FillThenStroke = 2`: Fill the text glyphs, then stroke their outlines. - `Invisible = 3`: Invisible text: neither filled nor stroked. - `FillAndAddToClipPath = 4`: Fill the text glyphs and add them to the clipping path. - `StrokeAndAddToClipPath = 5`: Stroke the outlines of the text glyphs and add them to the clipping path. - `FillThenStrokeAndAddToClipPath = 6`: Fill the text glyphs, then stroke their outlines, and add them to the clipping path. - `InvisibleAddToClipPath = 7`: Invisible text: neither filled nor stroked, but added to the clipping path. --- # TextRun Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun ```csharp class TextRun : Element ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md) **Uses types:** [`Clip`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Clip.md), [`Element`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Element.md), [`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md), [`Matrix`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Matrix.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md), [`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md) ## Constructors ### TextRun ```csharp 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/DotNet/APDFL18.0.5PlusP2e/class/Font.md)): The font to use for rendering the text. - `gstate` ([`GraphicState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GraphicState.md)): The graphic state (colors, line width, etc.) for this text run. - `tstate` ([`TextState`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/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. ## Properties ### Advance ```csharp double Datalogics.PDFL.TextRun.Advance { get; } ``` ### BoundingBox ```csharp Rect Datalogics.PDFL.Element.BoundingBox { get; } ``` ### Clip ```csharp Clip Datalogics.PDFL.Element.Clip { get; set; } ``` ### Font ```csharp Font Datalogics.PDFL.TextRun.Font { get; set; } ``` ### GraphicState ```csharp GraphicState Datalogics.PDFL.TextRun.GraphicState { get; set; } ``` ### Matrix ```csharp Matrix Datalogics.PDFL.Element.Matrix { get; set; } ``` ### RawText ```csharp System.Byte [] Datalogics.PDFL.TextRun.RawText { get; } ``` ### Text ```csharp string Datalogics.PDFL.TextRun.Text { get; set; } ``` ### TextState ```csharp TextState Datalogics.PDFL.TextRun.TextState { get; } ``` ## Methods ### Clone ```csharp Element Datalogics.PDFL.Element.Clone() ``` **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Element Datalogics.PDFL.Element.Clone(ElementCloneFlags cloneFlags) ``` **Parameters** - `cloneFlags` ([`ElementCloneFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/ElementCloneFlags.md)): Flags that modify the cloning operation. **Returns:** [`Element`](https://docs.datalogics.com/apdfl18/DotNet/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. ### Dispose ```csharp void Datalogics.PDFL.Element.Dispose() ``` **Returns:** `void` ### Rotate ```csharp void 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 ```csharp void 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 ]. ### Translate ```csharp void 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/DotNet/APDFL18.0.5PlusP2e/class/TextState ```csharp class TextState : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Text.md), [`TextRun`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextRun.md), [`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md) **Uses types:** [`TextRenderMode`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TextRenderMode.md), [`TextState`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/TextState.md) ## Constructors ### TextState ```csharp Datalogics.PDFL.TextState.TextState() ``` *constructor* Create a default text state ## Properties ### CharacterSpacing ```csharp double Datalogics.PDFL.TextState.CharacterSpacing { get; set; } ``` ### FontSize ```csharp double Datalogics.PDFL.TextState.FontSize { get; set; } ``` ### HScale ```csharp double Datalogics.PDFL.TextState.HScale { get; set; } ``` ### RenderMode ```csharp TextRenderMode Datalogics.PDFL.TextState.RenderMode { get; set; } ``` ### TextRise ```csharp double Datalogics.PDFL.TextState.TextRise { get; set; } ``` ### WordSpacing ```csharp double Datalogics.PDFL.TextState.WordSpacing { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.TextState.Dispose() ``` **Returns:** `void` --- # TIFFByteOrder Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/TIFFByteOrder **Namespace:** `Datalogics::PDFL` ## Description TIFF Byte Order values describing the byte order used within a file. ## Values - `BigEndian = 0`: Use Big Endian order (Motorola). - `LittleEndian = 1`: Use Little Endian order (Intel). - `Host = 2`: Use the host machine's Endian order. --- # UnderlineAnnotation Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation ```csharp class UnderlineAnnotation : TextMarkupAnnotation ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`TextMarkupAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) **Uses types:** [`Annotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Annotation.md), [`AnnotationFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/AnnotationFlags.md), [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Form`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Form.md), [`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md), [`OptionalContentMembershipDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentMembershipDict.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md), [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`UnderlineAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/UnderlineAnnotation.md) ## Constructors ### UnderlineAnnotation ```csharp Datalogics.PDFL.UnderlineAnnotation.UnderlineAnnotation(Page page, int addAfter, System.Collections.Generic.IList< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/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` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp Datalogics.PDFL.UnderlineAnnotation.UnderlineAnnotation(Page page, System.Collections.Generic.IList< Quad > quadList) ``` *constructor* **Parameters** - `page` ([`Page`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Page.md)): The page to which the UnderlineAnnotation is added. - `quadList` ([`System.Collections.Generic.IList< Quad >`](https://docs.datalogics.com/apdfl18/DotNet/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. ## Properties ### AnnotationFeatureLevel ```csharp double Datalogics.PDFL.Annotation.AnnotationFeatureLevel { get; set; } ``` ### Color ```csharp Color Datalogics.PDFL.Annotation.Color { get; set; } ``` ### Contents ```csharp string Datalogics.PDFL.Annotation.Contents { get; set; } ``` ### Flags ```csharp AnnotationFlags Datalogics.PDFL.Annotation.Flags { get; set; } ``` ### InteriorColor ```csharp Color Datalogics.PDFL.Annotation.InteriorColor { get; set; } ``` ### NormalAppearance ```csharp Form Datalogics.PDFL.Annotation.NormalAppearance { get; set; } ``` ### Opacity ```csharp double Datalogics.PDFL.Annotation.Opacity { get; set; } ``` ### OptionalContentMembershipDict ```csharp OptionalContentMembershipDict Datalogics.PDFL.Annotation.OptionalContentMembershipDict { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Annotation.PDFDict { get; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.TextMarkupAnnotation.Quads { get; set; } ``` ### Rect ```csharp Rect Datalogics.PDFL.Annotation.Rect { get; set; } ``` ### Subtype ```csharp string Datalogics.PDFL.Annotation.Subtype { get; } ``` ### Title ```csharp string Datalogics.PDFL.Annotation.Title { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Annotation.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Annotation.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### GenerateAppearance ```csharp override Form Datalogics.PDFL.UnderlineAnnotation.GenerateAppearance() ``` **Returns:** `override Form` 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 ```csharp string Datalogics.PDFL.TextMarkupAnnotation.GetAnnotatedText(bool splitLines) ``` **Parameters** - `splitLines` (`bool`): 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. ### HasRichTextData ```csharp bool Datalogics.PDFL.Annotation.HasRichTextData() ``` **Returns:** `bool` 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 ```csharp bool Datalogics.PDFL.Annotation.IsCurrentlyVisible(OptionalContentContext occ) ``` **Parameters** - `occ` ([`OptionalContentContext`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/OptionalContentContext.md)): The optional content context in which to check visibility. **Returns:** `bool` 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. ### ToString ```csharp override string Datalogics.PDFL.Annotation.ToString() ``` **Returns:** `override 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/DotNet/APDFL18.0.5PlusP2e/class/URIAction ```csharp class URIAction : Action ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/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. **Referenced by:** [`URIAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/URIAction.md) **Uses types:** [`Action`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Action.md), [`PDFDict`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFDict.md), [`URIAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/URIAction.md) ## Constructors ### URIAction ```csharp Datalogics.PDFL.URIAction.URIAction(string URIstring, bool useMap) ``` *constructor* **Parameters** - `URIstring` (`string`): String for the URI - `useMap` (`bool`): Send mouse position with the URI General constructor ## Properties ### IsMap ```csharp bool Datalogics.PDFL.URIAction.IsMap { get; set; } ``` ### PDFDict ```csharp PDFDict Datalogics.PDFL.Action.PDFDict { get; } ``` ### Subtype ```csharp string Datalogics.PDFL.Action.Subtype { get; } ``` ### URI ```csharp string Datalogics.PDFL.URIAction.URI { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Action.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.Action.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.Action.ToString() ``` **Returns:** `override string` A string describing this Action. Returns a string representation of this Action. The string includes the action's subtype. --- # VerticalAlignment Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VerticalAlignment **Namespace:** `Datalogics::PDFL` ## Description Specification of vertical alignment options. ## Values - `Top = 0`: Align content to the top edge. - `Center = 1`: Center content vertically. - `Bottom = 2`: Align content to the bottom edge. --- # ViewDestination Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination ```csharp class ViewDestination : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Bookmark.md), [`GoToAction`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/GoToAction.md), [`LinkAnnotation`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/LinkAnnotation.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`PDFArray`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PDFArray.md), [`Rect`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Rect.md), [`ViewDestination`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/ViewDestination.md) ## Constructors ### ViewDestination ```csharp Datalogics.PDFL.ViewDestination.ViewDestination(Document doc, int pageNum, string fitType, Rect r, double zoom) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/Rect.md)): Target rectangle - `zoom` (`double`): Zoom level General purpose constructor: construct with all elements ## Properties ### DestRect ```csharp Rect Datalogics.PDFL.ViewDestination.DestRect { get; set; } ``` ### FitType ```csharp string Datalogics.PDFL.ViewDestination.FitType { get; set; } ``` ### PDFArray ```csharp PDFArray Datalogics.PDFL.ViewDestination.PDFArray { get; } ``` ### PageNumber ```csharp int Datalogics.PDFL.ViewDestination.PageNumber { get; set; } ``` ### Zoom ```csharp double Datalogics.PDFL.ViewDestination.Zoom { get; set; } ``` ## Fields ### CViewDestination_NullValue ```csharp static const double Datalogics.PDFL.ViewDestination.CViewDestination_NullValue ``` *static* Constant used for "null" values in destination rectangles or zoom. ### NULL_VALUE ```csharp static const double Datalogics.PDFL.ViewDestination.NULL_VALUE ``` *static* ### NullValue ```csharp static const double Datalogics.PDFL.ViewDestination.NullValue ``` *static* ## Methods ### Dispose ```csharp void Datalogics.PDFL.ViewDestination.Dispose() ``` **Returns:** `void` ### Equals ```csharp override bool Datalogics.PDFL.ViewDestination.Equals(object obj) ``` **Parameters** - `obj` (`object`) **Returns:** `override bool` ### ToString ```csharp override string Datalogics.PDFL.ViewDestination.ToString() ``` **Returns:** `override 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. --- # VisibilityPolicy Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VisibilityPolicy **Namespace:** `Datalogics::PDFL` ## Values - `AllOn = 0`: Display if all OptionalContentGroups in this OptionalContentMembershipDict are ON - `AnyOn = 1`: Display if at least one OptionalContentGroup in this OptionalContentMembershipDict is ON - `AnyOff = 2`: Display if at least one OptionalContentGroup in this OptionalContentMembershipDict is OFF - `AllOff = 3`: Display if all OptionalContentGroups in this OptionalContentMembershipDict are OFF --- # WatermarkDrawOption Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WatermarkDrawOption **Namespace:** `Datalogics::PDFL` ## Description Specifies how a watermark should be drawn in a PDF document. Controls whether the watermark is rendered as an annotation or as a form XObject within the page content stream. The "Try" variants attempt the specified method but may fall back if it is not possible. ## Values - `TryAnnotation = 0`: Try to draw the watermark as an annotation; may fall back to another method. - `TryFormXObject = 1`: Try to draw the watermark as a form XObject; may fall back to another method. - `Annotation = 2`: Draw the watermark strictly as an annotation. - `FormXObject = 3`: Draw the watermark strictly as a form XObject in the page content stream. --- # WatermarkParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkParams ```csharp class WatermarkParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Watermark settings control the appearance of a watermark in a PDF. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkParams.md) **Uses types:** [`HorizontalAlignment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HorizontalAlignment.md), [`PageRange`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/PageRange.md), [`VerticalAlignment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/VerticalAlignment.md), [`WatermarkDrawOption`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WatermarkDrawOption.md), [`WatermarkParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkParams.md) ## Constructors ### WatermarkParams ```csharp 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. ## Properties ### FixedPrint ```csharp bool Datalogics.PDFL.WatermarkParams.FixedPrint { get; set; } ``` ### HorizAlign ```csharp HorizontalAlignment Datalogics.PDFL.WatermarkParams.HorizAlign { get; set; } ``` ### HorizValue ```csharp float Datalogics.PDFL.WatermarkParams.HorizValue { get; set; } ``` ### Opacity ```csharp float Datalogics.PDFL.WatermarkParams.Opacity { get; set; } ``` ### PercentageVals ```csharp bool Datalogics.PDFL.WatermarkParams.PercentageVals { get; set; } ``` ### Rotation ```csharp float Datalogics.PDFL.WatermarkParams.Rotation { get; set; } ``` ### Scale ```csharp float Datalogics.PDFL.WatermarkParams.Scale { get; set; } ``` ### ShowOnPrint ```csharp bool Datalogics.PDFL.WatermarkParams.ShowOnPrint { get; set; } ``` ### ShowOnScreen ```csharp bool Datalogics.PDFL.WatermarkParams.ShowOnScreen { get; set; } ``` ### TargetRange ```csharp PageRange Datalogics.PDFL.WatermarkParams.TargetRange { get; } ``` ### VertAlign ```csharp VerticalAlignment Datalogics.PDFL.WatermarkParams.VertAlign { get; set; } ``` ### VertValue ```csharp float Datalogics.PDFL.WatermarkParams.VertValue { get; set; } ``` ### WatermarkDrawOption ```csharp WatermarkDrawOption Datalogics.PDFL.WatermarkParams.WatermarkDrawOption { get; set; } ``` ### ZOrderTop ```csharp bool Datalogics.PDFL.WatermarkParams.ZOrderTop { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.WatermarkParams.Dispose() ``` **Returns:** `void` --- # WatermarkTextParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams ```csharp class WatermarkTextParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description Watermark settings to control the appearance of text in a text-based watermark. **Referenced by:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) **Uses types:** [`Color`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Color.md), [`Font`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Font.md), [`HorizontalAlignment`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/HorizontalAlignment.md), [`WatermarkTextParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WatermarkTextParams.md) ## Constructors ### WatermarkTextParams ```csharp 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. ## Properties ### Color ```csharp Color Datalogics.PDFL.WatermarkTextParams.Color { get; set; } ``` ### Font ```csharp Font Datalogics.PDFL.WatermarkTextParams.Font { get; set; } ``` ### FontSize ```csharp float Datalogics.PDFL.WatermarkTextParams.FontSize { get; set; } ``` ### Text ```csharp string Datalogics.PDFL.WatermarkTextParams.Text { get; set; } ``` ### TextAlign ```csharp HorizontalAlignment Datalogics.PDFL.WatermarkTextParams.TextAlign { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.WatermarkTextParams.Dispose() ``` **Returns:** `void` --- # Word Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word ```csharp class Word : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description A word in a PDF file. Each word contains a sequence of characters in one or more styles (see Style). **Referenced by:** [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md) **Uses types:** [`Quad`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Quad.md), [`StyleTransition`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/StyleTransition.md), [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md), [`WordAttributeFlags`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WordAttributeFlags.md) ## Properties ### Attributes ```csharp WordAttributeFlags Datalogics.PDFL.Word.Attributes { get; } ``` ### CharQuads ```csharp System.Collections.Generic.IList Datalogics.PDFL.Word.CharQuads { get; } ``` ### IsLastWordInRegion ```csharp bool Datalogics.PDFL.Word.IsLastWordInRegion { get; } ``` ### Quads ```csharp System.Collections.Generic.IList Datalogics.PDFL.Word.Quads { get; } ``` ### StyleTransitions ```csharp System.Collections.Generic.IList Datalogics.PDFL.Word.StyleTransitions { get; } ``` ### Text ```csharp string Datalogics.PDFL.Word.Text { get; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.Word.Dispose() ``` **Returns:** `void` --- # WordAttributeFlags Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WordAttributeFlags **Namespace:** `Datalogics::PDFL` ## Description Flags returned by Word.GetAttributes. ## Values - `HasNonalphanum = 1`: The word contains a character outside the range of A-Z, a-Z, 0-9. - `HasLetter = 2`: The word contains a character between A-Z or a-z. - `HasUppercase = 4`: The word contains a character between A-Z. - `HasDigit = 8`: One or more characters in the word are digits. - `HasPunctuation = 16`: One or more characters in the word are punctuation marks. Other flag bits can be checked to test whether the punctuation was at the beginning of the word, the end of the word, or elsewhere in the word. - `HasHyphen = 32`: There is a hyphen in the word. - `HasSoftHyphen = 64`: There is a soft hyphen in the word. - `HasLigature = 128`: The word contains a ligature. - `HasLeadingPunctuation = 256`: The first character in the word is a punctuation mark. - `HasTrailingPunctuation = 512`: The last character in the word is a punctuation mark. - `HasUnmappedCharacters = 1024`: One or more characters in the word cannot be represented in the output font encoding. - `AdjacentToSpace = 2048`: The character following the end of the word is a space (either an explicit space character encoded in a string, or one that appears implicitly because the drawing point was moved). - `Rotated = 4096`: The writing direction of the word is not in a multiple of 90 degrees, or the bounding box of the text is skewed. This flag indicates that the quads of the word should be used to specify the highlight area correctly. - `VerticalFlow = 8192`: The writing direction of the word is either 90 or 180 degrees. This flag ignores the page rotation parameter of the page dictionary. Therefore, if the page is rotated 90 degrees, this flag will be set on each word that appears horizonally on the screen. - `WordBreak = 16384`: The word is followed by a word break character (such as a space). - `LastWordOnLine = 32768`: The word is at the end of the current text line (for example, the word is followed by a line break). In tagged PDF documents, this flag is set according to the tags in the document. To determine visual line breaks in tagged PDF, use IsLastWordInRegion instead. - `FrontTab = 65536`: Insert a tab character before this word - `EncodingWarning = 131072`: Unreliable encoding conversion happened in this word. Check the encoding flags of each character for detail. - `ReverseDirection = 262144`: The writing direction is right-left or top-down - `WordIsUnicode = 524288`: The text is in Unicode format. - `ExtCharOffsets = 1048576`: The word has extended character offset information. --- # WordFinder Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder ```csharp class WordFinder : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## Description A class used to extract words from a document. **Referenced by:** [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md) **Uses types:** [`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md), [`WordFinderVersion`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WordFinderVersion.md), [`WordProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md) ## Constructors ### WordFinder ```csharp Datalogics.PDFL.WordFinder.WordFinder(Document doc, WordFinderVersion algVersion, WordFinderConfig wbConfig) ``` *constructor* **Parameters** - `doc` ([`Document`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Document.md)): document in which to find words - `algVersion` ([`WordFinderVersion`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WordFinderVersion.md)): algorithm version to use - `wbConfig` ([`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md)): configuration for this word finder Create a word finder ## Methods ### Dispose ```csharp void Datalogics.PDFL.WordFinder.Dispose() ``` **Returns:** `void` ### EnumWords ```csharp bool 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/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md)): A user-supplied callback to call once for each word found. Enumeration halts if wordProc returns false. **Returns:** `bool` 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. ### GetVisibleWordList ```csharp System.Collections.Generic.IList< Word > Datalogics.PDFL.WordFinder.GetVisibleWordList(int pageNum) ``` **Parameters** - `pageNum` (`int`): the page number for which to get the list of words. **Returns:** [`System.Collections.Generic.IList< Word >`](https://docs.datalogics.com/apdfl18/DotNet/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 ```csharp System.Collections.Generic.IList< Word > Datalogics.PDFL.WordFinder.GetWordList(int pageNum) ``` **Parameters** - `pageNum` (`int`): the page number for which to get the list of words. **Returns:** [`System.Collections.Generic.IList< Word >`](https://docs.datalogics.com/apdfl18/DotNet/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/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig ```csharp class WordFinderConfig : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/DocTextFinder.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md) **Uses types:** [`WordFinderConfig`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinderConfig.md) ## Constructors ### WordFinderConfig ```csharp 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. ## Properties ### DisableCharReordering ```csharp bool Datalogics.PDFL.WordFinderConfig.DisableCharReordering { get; set; } ``` 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. ### DisableTaggedPDF ```csharp bool Datalogics.PDFL.WordFinderConfig.DisableTaggedPDF { get; set; } ``` 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. ### IgnoreCharGaps ```csharp bool Datalogics.PDFL.WordFinderConfig.IgnoreCharGaps { get; set; } ``` 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. ### IgnoreLineGaps ```csharp bool Datalogics.PDFL.WordFinderConfig.IgnoreLineGaps { get; set; } ``` 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. ### NoAnnots ```csharp bool Datalogics.PDFL.WordFinderConfig.NoAnnots { get; set; } ``` 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. ### NoEncodingGuess ```csharp bool Datalogics.PDFL.WordFinderConfig.NoEncodingGuess { get; set; } ``` 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. ### NoExtCharOffset ```csharp bool Datalogics.PDFL.WordFinderConfig.NoExtCharOffset { get; set; } ``` 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. ### NoHyphenDetection ```csharp bool Datalogics.PDFL.WordFinderConfig.NoHyphenDetection { get; set; } ``` 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. ### NoLigatureExp ```csharp bool Datalogics.PDFL.WordFinderConfig.NoLigatureExp { get; set; } ``` 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 ### NoSkewedQuads ```csharp bool Datalogics.PDFL.WordFinderConfig.NoSkewedQuads { get; set; } ``` 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. ### NoStyleInfo ```csharp bool Datalogics.PDFL.WordFinderConfig.NoStyleInfo { get; set; } ``` 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. ### NoTextRenderMode3 ```csharp bool Datalogics.PDFL.WordFinderConfig.NoTextRenderMode3 { get; set; } ``` 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. ### NoXYSort ```csharp bool Datalogics.PDFL.WordFinderConfig.NoXYSort { get; set; } ``` When true, it disables generating an XY-ordered word list. ### PreciseQuad ```csharp bool Datalogics.PDFL.WordFinderConfig.PreciseQuad { get; set; } ``` When true, the bounding box or bounding quad will be set based on actual glyph bounding box. ### PreserveRedundantChars ```csharp bool Datalogics.PDFL.WordFinderConfig.PreserveRedundantChars { get; set; } ``` 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. ### PreserveSpaces ```csharp bool Datalogics.PDFL.WordFinderConfig.PreserveSpaces { get; set; } ``` 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. ### TrustNBSpace ```csharp bool Datalogics.PDFL.WordFinderConfig.TrustNBSpace { get; set; } ``` 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. ### UnknownToStdEnc ```csharp bool Datalogics.PDFL.WordFinderConfig.UnknownToStdEnc { get; set; } ``` When true, it assumes any font with unknown or custom encoding to be Standard Roman. This option overrides the noEncodingGuess option. ## Methods ### Dispose ```csharp void Datalogics.PDFL.WordFinderConfig.Dispose() ``` **Returns:** `void` --- # WordFinderVersion Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WordFinderVersion **Namespace:** `Datalogics::PDFL` ## Description This refers to versions of the WordFinder algorithm. WordFinder extracts words from a PDF file and enumerates the words on a single page or on all of the pages in the document. ## Values - `Latest = 0`: Used to obtain the latest available version. - `Version2 = 2`: The version used for Acrobat 3.x, 4.x. - `Version3 = 3`: For Acrobat 5.0 without accessibility enabled. - `Version4 = 4`: For Acrobat 5.0 with accessibility enabled. --- # WordProc Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc ```csharp class WordProc : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md) **Uses types:** [`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md), [`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md), [`WordProc`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordProc.md) ## Constructors ### WordProc ```csharp 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 ```csharp virtual bool Datalogics.PDFL.WordProc.Call(WordFinder wordFinder, Word wInfo, int pgNum) ``` **Parameters** - `wordFinder` ([`WordFinder`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/WordFinder.md)) - `wInfo` ([`Word`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/Word.md)) - `pgNum` (`int`) **Returns:** `bool` ### Dispose ```csharp void Datalogics.PDFL.WordProc.Dispose() ``` **Returns:** `void` --- # WritingMode Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/WritingMode **Namespace:** `Datalogics::PDFL` ## Description The direction of writing ## Values - `Horizontal = 0`: Text is written horizontally - `Vertical = 1`: Text is written vertically --- # XFAFormExportType Enum Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/enum/XFAFormExportType **Namespace:** `Datalogics::PDFL` ## Values - `XML = 1`: XML (Extensible Markup Language) representing form field data. - `XFD = 2`: XFD (Extensible Forms Description language) representing form field data. - `XDP = 3`: XDP (XML Data Package) representing form field data. --- # XPSConvertParams Class Source: https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/XPSConvertParams ```csharp class XPSConvertParams : SystemIDisposable ``` **Namespace:** `Datalogics::PDFL` **Inherits from:** `SystemIDisposable` ## 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/DotNet/APDFL18.0.5PlusP2e/class/Document.md), [`XPSConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/XPSConvertParams.md) **Uses types:** [`XPSConvertParams`](https://docs.datalogics.com/apdfl18/DotNet/APDFL18.0.5PlusP2e/class/XPSConvertParams.md) ## Constructors ### XPSConvertParams ```csharp Datalogics.PDFL.XPSConvertParams.XPSConvertParams() ``` *constructor* Set up default parameters for XPS conversion. ### XPSConvertParams ```csharp 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. ## Properties ### PathToSettingsFile ```csharp string Datalogics.PDFL.XPSConvertParams.PathToSettingsFile { get; set; } ``` ## Methods ### Dispose ```csharp void Datalogics.PDFL.XPSConvertParams.Dispose() ``` **Returns:** `void`