Form Class Documentation

class Form : Element

Namespace:Datalogics::PDFL

Inherits from:
Element

Detailed 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.

Constructor & Destructor Documentation

Form

Form(Content content, Document document)

Parameters

content: Content

The content from which to create the form

document: Document

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.

Property Documentation

BoundingBox

Rect BoundingBox[get]

The bounding box for this element.

The bounding box is a rectangle that is guaranteed to encompass the element, but it is not guaranteed to be the smallest box that could contain the element. For example, if the element is a Path that contains an arc, the bounding box encompasses the bezier control points, and not just the curve itself.

Clip

Clip Clip[get, set]

Gets the current Clip for an Element.

Content

Content Content[get, set]

The Content contained in the form.

Returns the content associated with this form XObject.

GraphicState

GraphicState GraphicState[get, set]

Get the graphic state of this Form.

May return null if this element does not have a GraphicState.

Matrix

Matrix Matrix[get, set]

The transformation matrix for the element.

OptionalContentMembershipDict

OptionalContentMembershipDict OptionalContentMembershipDict[get, set]

The OptionalContentMembershipDict property for this Form.

Setting this property will attach the Form to an OptionalContentMembershipDict; it will then be associated with the OptionalContentGroups and be subject to the VisibilityPolicy and VisibilityExpression of that MembershipDict.

By setting this property to null, the Form is detached from any OptionalContentMembershipDict.

Stream

PDFStream Stream[get]

Get the stream associated with the form.

Returns the underlying PDF stream (COS object) for this form XObject.

Member Function Documentation

Clone

Element Clone(ElementCloneFlags cloneFlags)

Parameters

cloneFlags: ElementCloneFlags

Flags that modify the cloning operation.

Returns:

Element

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

new 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

Form ColorConvert(Document document, ColorProfile prof, RenderIntent intent, bool embed)

Parameters

document: Document

The document the element belongs to.

prof: ColorProfile

The ICC ColorProfile to be applied.

intent: RenderIntent

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

A new Form with the applied ICC ColorProfile.

Applies the specified ICC ColorProfile to the objects in the form

Dispose

void Dispose()

Returns:

void

IsCurrentlyVisible

bool IsCurrentlyVisible(OptionalContentContext occ)

Parameters

occ: OptionalContentContext

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

bool IsCurrentlyVisible(OptionalContentContext occ, Content content)

Parameters

occ: OptionalContentContext

The optional content context to use for visibility state information.

content: Content

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

bool MakeVisible(OptionalContentContext occ, Content content)

Parameters

occ: OptionalContentContext

The optional content context in which the form is made visible.

content: Content

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

void 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

void 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

void 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 ].