Form Class Documentation

class Form : Element

Namespace:datalogics_interface

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.

~Form

~Form()

Member Function Documentation

clear_content

void clear_content()

Returns:

void

Removes the content from this form.

clear_graphic_state

void clear_graphic_state()

Returns:

void

Removes the graphic state from this form.

clear_optional_content_membership_dict

void clear_optional_content_membership_dict()

Returns:

void

Removes the optional content membership dictionary from this form.

get_bounding_box

Rect get_bounding_box()

Returns:

Rect

The bounding box for this element. The coordinates of the bounding box are specified in user space coordinates, relative to the element's Content. Note that user space coordinates correspond to unrotated pages; any rotation specified in the page dictionary is not taken into account.

The bounding box for this element.

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

get_matrix

Matrix get_matrix()

Returns:

Matrix

The current transformation matrix applied to this element.

The transformation matrix for the element.

get_optional_content_membership_dict

std::unique_ptr< OptionalContentMembershipDict > get_optional_content_membership_dict()

Returns:

std::unique_ptr< OptionalContentMembershipDict >

the OptionalContentMembershipDict

The OptionalContentMembershipDict property for this Form.

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

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

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

set_clip

void set_clip(Clip & clip)

Parameters

clip: Clip &

The clip to set as the current clip for this element, or NULL to remove clipping.

Returns:

void

Sets the current Clip for an Element.

set_content

void set_content(const Content & content)

Parameters

content: const Content &

The new content for the form.

Returns:

void

Set the Content of the form.

Setting new content also dynamically recalculates the form's bounding box.

set_matrix

void set_matrix(const Matrix & matrix)

Parameters

matrix: const Matrix &

The transformation matrix for the element.

Returns:

void

Set the transformation matrix for the element.

set_optional_content_membership_dict

void set_optional_content_membership_dict(const OptionalContentMembershipDict & ocmd)

Parameters

ocmd: const OptionalContentMembershipDict &

the OptionalContentMembershipDict

Returns:

void

The OptionalContentMembershipDict property for this Form.

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

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

translate

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

try_as

T * try_as(typename T )

Parameters

: typename T

Returns:

T *

Attempt to downcast this element to a derived type. Returns a pointer to the derived type, or nullptr if the type doesn't match.

try_as

const T * try_as(typename T )

Parameters

: typename T

Returns:

const T *

Const overload of try_as(). Returns a const pointer, or nullptr.