Skip to content

C reference

The “C” API is implemented as a DLL or Shared Library, depending on the platform. These functions are designed for procedural languages and are callable from C and other languages, such as Delphi and Visual Basic.

Functions

Init_Instance

Init_Instance initializes the Document Filters engine and authenticates the license. Init_Instance must always be the first call made by any application to the Document Filters library.

Close_Instance

Close_Instance advises the Document Filters engine that the program is finished.

IGR_Calculate_MD5

IGR_Calculate_MD5 will calculate the MD5 hash of an input stream for unique document identification.

IGR_Calculate_SHA1

IGR_Calculate_SHA1 will calculate the SHA1 hash of an input stream for unique document identification.

IGR_Canvas_Annotate_JSON

IGR_Canvas_Annotate_JSON draws the given annotation onto the current page. The annotation is delivered as a string of JSON text. The schema for Annotations can be found in the Document Filters installation directory in “Annotation-Schema.json”.

IGR_Canvas_Arc

Draws an arc on the image along the perimeter of the ellipse bounded by the specified rectangle, with the current pen.

IGR_Canvas_Blank_Page

Inserts a blank page of the specified size into the Canvas. This can be useful when constructing documents, where you need to insert constructed pages created with the drawing or markup APIs.

IGR_Canvas_Bookmarks_Append

Append a single bookmark to the canvas. Bookmarks are added one at a time and the level parameter in the IGR_Bookmark determines the hierarchy. Bookmarks in a hierarchy must be added in order and a bookmark’s level cannot be more than one more level deep than the previous bookmark.

IGR_Canvas_Bookmarks_Clear

Remove existing bookmarks from the canvas.

IGR_Canvas_Chord

Draws a closed figure represented by the intersection of a line and an ellipse, with the current pen. The ellipse is bisected by a line that runs between X3,Y3 and X4,Y4.

IGR_Canvas_DrawImage

Renders the image specified by the ImageData parameter on the canvas at the given location given by the X and Y coordinates.

IGR_Canvas_DrawScaleImage

Renders the image specified by the ImageData parameter on the canvas at the given location given by the X and Y coordinates, scaling the output to width and height.

IGR_Canvas_Ellipse

Draws an ellipse defined by a bounding rectangle on the canvas, outlined with the current pen and filled with the current brush.

IGR_Canvas_LineTo

Draws a line on the canvas from the current pen position to the point specified by X and Y, and sets the pen position to (X, Y).

IGR_Canvas_MeasureText

Returns the width and height in pixels, of a string if rendered with the current font.

IGR_Canvas_MoveTo

Changes the current drawing position to the point (X,Y).

IGR_Canvas_Pie

Draws a pie-shaped section of the ellipse bounded by the rectangle (X1, Y1) and (X2, Y2) on the canvas.

IGR_Canvas_Rect

Draws a rectangle using the current brush and pen of the canvas to fill and draw the border.

IGR_Canvas_Reset

IGR_Canvas_Reset restores the canvas object back to the default set of options, including opacity, rotation, pens, and brushes.

IGR_Canvas_Rotation

IGR_Canvas_Rotation sets the rotation to be applied for subsequent drawing methods.

IGR_Canvas_RoundRect

Draws a rectangle with rounded corners, outlined with the current pen and filled with the current brush, on the canvas.

IGR_Canvas_SetBrush

Updates the current brush on the canvas with the given color and style; brushes are used when drawing rectangles, shapes and text.

IGR_Canvas_SetFont

Specifies the font to use when drawing text to the canvas. All subsequent calls to TextOut and MeasureText will use this font.

IGR_Canvas_SetOpacity

Set the opacity/transparency for future drawing routines.

IGR_Canvas_SetPen

Updates the canvas pen on the canvas with the specific color, width and style.

IGR_Canvas_TextOut

Writes a string on the canvas, starting at X and Y, and then updates the pen position to the end of the string. The text is written with the current font, and filled with the current brush.

IGR_Canvas_TextRect

Writes a string inside a clipping rectangle, using the current brush and font.

IGR_Close_Canvas

IGR_Close_Canvas releases the resources associated with the canvas handle. It must be called for every canvas opened by IGR_Make_Output_Canvas or IGR_Make_Output_Canvas_On, and must be called before closing the document with IGR_Close_File.

IGR_Close_File

IGR_Close_File releases the resources associated with the file handle. It must be called for every document opened by IGR_Open_File.

IGR_Close_Page

IGR_Close_Page releases the resources associated with the page handle. It must be called for every page opened by IGR_Open_Page, and must be called before closing the document with IGR_Close_File.

IGR_Convert_File

IGR_Convert_File converts the specified document into a plain text or HTML file, without the need to call IGR_Open_File and IGR_Get_Text.

IGR_Enum_Bookmarks

Enumerate all bookmarks, up-to recurse_depth, to an application-defined callback function.

IGR_Enum_Page_Elements

IGR_Enum_Page_Elements recursively walks the page elements of source calling the user-supplied callback.

IGR_Extend_Stream

IGR_Extend_Stream allows the C / C++ API user to create a custom stream that accepts callbacks from Document Filters. The callbacks allow the passing of Additional information about the stream.

IGR_Extract_Image

IGR_Extract_Image extracts an image to disk from a document opened with HTML or Image conversion in affect.

IGR_Extract_Image_Stream

IGR_Extract_Image_Stream extracts an image to a stream from a document, given the ID of the image.

IGR_Extract_Page_Image

IGR_Extract_Page_Image extracts the embedded image referenced by id to the file specified by destination.

IGR_Extract_Page_Image_Stream

IGR_Extract_Page_Image_Stream extracts the embedded image referenced by id as an IGRStream.

IGR_Extract_Subfile

IGR_Extract_Subfile extracts a sub-document to disk from a compound document, given the ID of the sub-document.

IGR_Extract_Subfile_Stream

IGR_Extract_Subfile_Stream extracts a sub-document to a stream from a compound document, given the ID of the sub-document.

IGR_Free_Page_Pixels

The IGR_Free_Page_Pixels method is used to dispose of page pixels extracted with IGR_Get_Page_Pixels.

IGR_Get_Bookmark_First_Child

IGR_Get_Bookmark_First_Child returns the first child bookmark of the provided bookmark, or NULL if the current item has no children.

IGR_Get_Bookmark_First_Child

IGR_Get_Bookmark_First_Child returns the first child bookmark of the provided bookmark, or NULL if the current item has no children.

IGR_Get_Bookmark_Next_Sibling

IGR_Get_Bookmark_Next_Sibling returns the peer/sibling of the provided bookmark, or NULL if the current item is the last in it’s chain.

IGR_Get_Bookmark_Root

IGR_Get_Bookmark_Root provides access to the top-level root node of the bookmark hierarchy.

IGR_Get_File_Type

IGR_Get_File_Type gets the type and the capabilities of a given document.

IGR_Get_Format_Attribute

IGR_Get_Format_Attribute returns information about the supported file type.

IGR_Get_Handle_File_Type

IGR_Get_Handle_File_Type gets the type and the capabilities of an open document.

IGR_Get_Image_Entry

IGR_Get_Image_Entry enumerates the set of images, when HTML or Image conversion is in affect.

IGR_Get_Images_Enumerator

IGR_Get_Images_Enumerator returns a new enumerator for the set of images, when HTML conversion is in effect as set by the Open Document Flags, contained in a previously opened document

IGR_Get_Memory_Status

IGR_Get_Memory_Status is a Windows-only memory diagnostic.

IGR_Get_Option_Attribute

IGR_Get_Option_Attribute returns information about each published option value.

IGR_Get_Page_Annotation_Count

IGR_Get_Page_Annotation_Count returns the number of annotations that are contained on the page. For Office documents, comments are extracted and included in the annotation count. For comments spanning multiple pages, the OFFICE_COMMENT_PAGE open document option determines if the first, last or all pages containing the comments should return an annotation.

IGR_Get_Page_Annotation_Long

IGR_Get_Page_Annotation_Long copies an integer value from a given property of an existing annotation into the user supplied buffer.

IGR_Get_Page_Annotation_Str

IGR_Get_Page_Annotation_Str copies a string value from a given property of an existing annotation into the user supplied buffer.

IGR_Get_Page_Annotations

IGR_Get_Page_Annotations copies references of page annotations into the user supplied array. The caller can iterate over all the page annotations by incrementing the Index parameter. For Office documents, comments will be extracted and returned in the page annotations array. For comments spanning multiple pages, the OFFICE_COMMENT_PAGE open document option determines if the first, last or all pages containing the comments should return an annotation.

IGR_Get_Page_Attribute

IGR_Get_Page_Attribute returns style or properties of an open page; see <page> under Structured XML for a full list of options.

IGR_Get_Page_Count

IGR_Get_Page_Count returns the number of pages generated for an open document. This method only works on functions opened with IGR_FORMAT_IMAGE.

IGR_Get_Page_Dimensions

IGR_Get_Page_Dimensions returns the size of the given page in pixels.

IGR_Get_Page_Element_First_Child

IGR_Get_Page_Element_First_Child fills dest with the first child of the parent element.

IGR_Get_Page_Element_Next_Sibling

IGR_Get_Page_Element_Next_Sibling fills dest with the next sibling node of element element.

IGR_Get_Page_Element_Root

IGR_Get_Page_Element_Root fills {dest} with the root element of the page.

IGR_Get_Page_Element_Style

IGR_Get_Page_Element_Style returns the named style value from the page element.

IGR_Get_Page_Element_Styles

IGR_Get_Page_Element_Styles calls the callback with each style for the given source element.

IGR_Get_Page_Element_Text

IGR_Get_Page_Element_Text returns any text associated with the page element.

IGR_Get_Page_Elements

IGR_Get_Page_Elements fills the dest buffer with dest_count page elements from the parent object, starting from the first index. If parent is NULL, the root element is copied into dest.

IGR_Get_Page_Form_Element_Count

IGR_Get_Page_Form_Element_Count returns the number of form elements that are contained on the page.

IGR_Get_Page_Form_Element_Option_Str

IGR_Get_Page_Form_Element_Option_Str copies string information from an existing form element’s option into the user supplied buffer.

IGR_Get_Page_Form_Element_Str

IGR_Get_Page_Form_Element_Str copies string information from an existing form element into the user supplied buffer.

IGR_Get_Page_Form_Elements

IGR_Get_Page_Form_Elements copies references of page form elements into the user supplied array. The caller can iterate over all the page form elements by incrementing the Index parameter.

IGR_Get_Page_Handle_File_Type

IGR_Get_Page_Handle_File_Type gets the type and the capabilities of an open page.

IGR_Get_Page_Hyperlink_Count

IGR_Get_Page_Hyperlink_Count returns the number of hyperlinks that are contained on the page.

IGR_Get_Page_Hyperlink_Str

IGR_Get_Page_Hyperlink_Str copies string information from an existing hyperlink into the user supplied buffer.

IGR_Get_Page_Hyperlinks

IGR_Get_Page_Hyperlinks copies references of page hyperlinks into the user supplied array. The caller can iterate over all the page hyperlinks by incrementing the Index parameter.

IGR_Get_Page_Image_Entry

IGR_Get_Page_Image_Entry enumerates the set of images on an open page.

IGR_Get_Page_Images_Enumerator

IGR_Get_Page_Images_Enumerator creates a new enumerator for page images. Unlike IGR_Get_Page_Image_Entry, it facilitates the creation of multiple enumerators, enabling the reprocessing of images within an open page. Remember to free a subfile enumerator by calling IGR_Subfiles_Close once it is no longer needed.

IGR_Get_Page_Pixels

The IGR_Get_Page_Pixels method provides low-level access to a rectangular portion of the page and provides a temporary buffer that you can use to read the pixel data in a specified format.

IGR_Get_Page_Text

IGR_Get_Page_Text extracts the text of a previously opened page of a document.

IGR_Get_Page_Word_Count

IGR_Get_Page_Word_Count returns the number of words of the given page.

IGR_Get_Page_Words

IGR_Get_Page_Words copies references of page words into the user supplied array. The caller can iterate over all the page words by incrementing the Index parameter.

IGR_Get_Stream_Type

IGR_Get_Stream_Type gets the type and the capabilities of a given stream object.

IGR_Get_Subfile_Entry

IGR_Get_Subfile_Entry enumerates the sub-documents contained in a previously opened compound document, such as message documents (MSG) or archive documents (ZIP).

IGR_Get_Subfile_Entry_Ex

IGR_Get_Subfile_Entry_Ex enumerates the sub-documents contained in a previously opened compound document, such as message documents (MSG) or archive documents (ZIP).

IGR_Get_Subfiles_Enumerator

IGR_Get_Subfiles_Enumerator creates a new enumerator for subfiles. Unlike IGR_Get_Subfile_Entry, it facilitates the creation of multiple enumerators, enabling the reprocessing of subfiles within an open document. Remember to free a subfile enumerator by calling IGR_Subfiles_Close once it is no longer needed.

IGR_Get_Text

IGR_Get_Text extracts the text of previously opened document.

IGR_Make_Output_Canvas

IGR_Make_Output_Canvas creates a new canvas that is used for rendering page content. The output data will be written to the file specified in Filename. To write to memory or stream, see IGR_Make_Output_Canvas_On.

IGR_Make_Output_Canvas_On

IGR_Make_Output_Canvas_On creates a new canvas that is used for rendering page content, the output data will be written to the stream specified. The Stream must be a caller created IGR_Writable_Stream derivative.

IGR_Make_Stream_From_File

IGR_Make_Stream_From_File creates a stream based on a file for use with the document stream functions.

IGR_Make_Stream_From_Functions

IGR_Make_Stream_From_Functions creates a new IGR stream based off the context and functions. This is functionally identical to constructing the IGR_Stream structure by hand; this function can be used by languages that do not have precise control over memory layout.

IGR_Make_Stream_From_Memory

IGR_Make_Stream_From_Memory creates a stream based on a memory buffer for use with the document stream functions.

IGR_Multiplex

The IGR_Multiplex function is used to supply extensible functionality to the Document Filters API. It is used as a general purpose extension mechanism to avoid disturbing the published Document Filters API.

IGR_Open_DDB

Opens a document from an OS based, device-dependant bitmap (Windows-Only).

IGR_Open_DIB

IGR_Open_DIB opens a document for content extraction or enumeration of sub-documents from an existing in-memory image.

IGR_Open_Ex

IGR_Open_Ex opens a document for text extraction or enumeration of sub-documents, and takes an IGR_OPEN_CALLBACK parameter that allows for interaction with the API user during API calls.

IGR_Open_File

IGR_Open_File opens a document for content extraction or enumeration of sub-documents.

IGR_Open_File_Ex

IGR_Open_File_Ex opens a document for content extraction or enumeration of sub-documents and controls the output format, including converting the source document to HTML.

IGR_Open_Page

IGR_Open_Page gives access to page specific content for documents opened using the IGR_FORMAT_IMAGE flag, including page words, images, and structured XML.

IGR_Open_Stream

IGR_Open_Stream opens a document from a stream object for content extraction or enumeration of contained sub-documents.

IGR_Open_Stream_Ex

IGR_Open_Stream_Ex opens a document from a stream object for content extraction or enumeration of contained sub-documents and controls the output format.

IGR_Redact_Page_Text

IGR_Redact_Page_Text removes the words and blacks out the location for the specified range from the page.

IGR_Render_Page

IGR_Render_Page draws the page content into the specified output canvas.

IGR_Render_Page_Ex

IGR_Render_Page_Ex draws the page content into the specified output canvas

IGR_Subfiles_Close

IGR_Subfiles_Close releases the resources associated with an enumeration generated by IGR_Get_Subfiles_Enumerator or a similar function. It is imperative to free enumerators before closing the owning document.

IGR_Subfiles_Next

IGR_Subfiles_Next iterates through the sub-documents within a subfile enumeration obtained from IGR_Get_Subfiles_Enumerator or a similar function.

IGR_Subfiles_Next_Ex

IGR_Subfiles_Next_Ex iterates through the sub-documents within a subfile enumeration obtained from IGR_Get_Subfiles_Enumerator or a similar function.

IGR_Subfiles_Reset

IGR_Subfiles_Reset resets an enumeration to its initial state, positioning it at the beginning. Subsequently, invoke IGR_Subfiles_Next to commence reprocessing the document. Notably, invoking IGR_Subfiles_Reset is unnecessary for the initial iteration.

IGR_Text_Compare_Close

Closes the text comparison enumerator and frees associated resources.

IGR_Text_Compare_Difference_Dispose

Disposes of a difference result returned by the text comparison enumerator.

IGR_Text_Compare_Documents

Compares two documents and returns an enumerator for iterating through the differences.

IGR_Text_Compare_Elements

Compares elements within pages of documents and returns an enumerator for iterating through the differences.

IGR_Text_Compare_Next

Retrieves the next difference from the text comparison enumerator.

IGR_Text_Compare_Pages

Compares two pages within documents and returns an enumerator for iterating through the differences.

IGR_Text_Compare_Reset

Resets the text comparison enumerator to its initial state.

UTF8_to_Widechar

UTF8_to_Widechar converts a UTF-8 string into a UCS2 string.

UTF8_to_Widechar_Ex

UTF8_to_Widechar converts a UTF-8 string into a UCS2 string.

Widechar_to_UTF8

Widechar_to_UTF8 converts a UCS2 string into UTF-8.

Widechar_to_UTF8_Ex

Widechar_to_UTF8 converts a UCS2 string into UTF-8

Structures

Error_Control_Block data type

Used to return error messages from the C API.

IGR_Annotation data type

The IGR_Annotation structure is used by the IGR_Get_Page_Annotations, IGR_Get_Page_Annotation_Long, and IGR_Get_Page_Annotation_Str methods to return information such as annotation type, position, and dimensions for annotations on a given page.

IGR_Bookmark data type

The IGR_Bookmark structure is used by the IGR_Get_Bookmarks_Root method to return information about the hierarchical navigation of a document.

IGR_CALLBACK data type

The IGR_CALLBACK data type represents the function signature of a callback from Document Filters.

IGR_Compare_Documents_Callback_Context data type

Context structure for the callback functions used in document comparison.

IGR_Compare_Documents_Difference data type

Structure representing a difference between compared documents.

IGR_Compare_Documents_Difference_Item data type

Structure representing a difference item in a compared document.

IGR_FRect data type

Structure representing a rectangle with floating-point coordinates. The coordinates are defined by the left, top, right, and bottom edges.

IGR_Hyperlink data type

The IGR_Hyperlink structure is used by the IGR_Get_Page_Hyperlinks method to return information such as position and destination for hyperlinks on a given page.

IGR_OPEN_CALLBACK data type

The IGR_OPEN_CALLBACK data type represents the function signature of a callback passed to IGR_Open_Ex.

IGR_Open_Callback_Action_Heartbeat data type

The IGR_Open_Callback_Action_Heartbeat structure is the payload argument for IGR_OPEN_CALLBACK when the action argument is IGR_OPEN_CALLBACK_ACTION_HEARTBEAT.

IGR_Open_Callback_Action_Localize data type

The IGR_Open_Callback_Action_Localize structure is the payload argument for IGR_OPEN_CALLBACK when the action argument is IGR_OPEN_CALLBACK_ACTION_LOCALIZE.

IGR_Open_Callback_Action_Password data type

The IGR_Open_Callback_Action_Password structure is the payload argument for IGR_OPEN_CALLBACK when the action argument is IGR_OPEN_CALLBACK_ACTION_PASSWORD.

IGR_Open_DIB_Info data type

Structure representing information about an open Device Independent Bitmap (DIB). It includes details such as size, flags, width, height, stride, pixel format, pixel data, palette information, and palette count.

IGR_Page_Element data type

IGR_Open_DIB_Info is used by IGR_Get_Page_Elements and related functions to enumerate the elements on a page.

IGR_Page_Form_Element data type

The IGR_Page_Form_Element structure is used by the IGR_Get_Page_Form_Elements method to return information such as position, dimensions, and text about the form items on a given page.

IGR_Page_Pixels data type

The IGR_Page_Pixels structure is used by IGR_Get_Page_Pixels to retrieve the pixel data for a given page.

IGR_Page_Word data type

The IGR_Page_Word structure is used by the IGR_Get_Page_Words method to return information such as position, dimensions, and text about the words on a given page.

IGR_Rect data type

The IGR_Rect structure is used to specify the position of a rectangle.

IGR_Render_Page_Form_Values data type

The IGR_Render_Page_Form_Values structure is used within IGR_Render_Page_Properties to specify new values for form values.

IGR_Render_Page_Properties data type

The IGR_Render_Page_Properties structure is used by the IGR_Render_Page_Ex method and provides additional information for rendering a page to a canvas.

IGR_Render_Page_Redactions data type

Structure representing a redaction area for rendering on a page. The redaction area is defined by its position (x, y) and size (width, height), along with the color to use for rendering and additional reserved data.

IGR_SRect data type

Structure representing a rectangle with signed integer coordinates. The coordinates are defined by the left, top, right, and bottom edges.

IGR_Size data type

The IGR_Size structure is used to specify the size of a rectangle.

IGR_Stream data type

The IGR_Stream data type allows for the creation of custom input streams.

IGR_Subfile_Info data type

Used to return subfile information from the IGR_Get_Subfile_Entry_Ex C API.

IGR_T_ACTION_GET_STREAM_PART data type

When a second or later part of a multi-part archive is required as part of processing an Extended Stream, a callback will request this structure to be populated with a new stream instance.

IGR_Text_Compare_Document_Source data type

Structure representing a source document for text comparison.

IGR_Text_Compare_Settings data type

Settings structure for text comparison operations.

IGR_Writable_Stream data type

Similar to the IGR_Stream, the IGR_Writable_Stream data type allows for the creation of custom output streams. It’s important to note, all methods must be implemented, not just the Write.

Instance_Status_Block data type

The Instance_Status_Block data type is a control block returned by Init_Instance with information about the installed Document Filters engine.

Constants

IGR_RETURN_CODE

Indicates the success or failure of a call.

IGR_ANNOTATION_FLAGS_TYPE

Contains the annotation flags.

IGR_ANNOTATION_TYPE

Contains the annotation type.

IGR_BRUSH_STYLE

Contains the brush types available when calling IGR_Canvas_SetBrush or Canvas.SetBrush.

IGR_CANVAS_TYPE

Canvas Types specify the type of output to create when rendering a page. They are passed to the IGR_Make_Output_Canvas and DocumentFilters::MakeOutputCanvas functions.

IGR_CAPABILITY

Document Capabilities are a bitmask representing the operations that may be performed on a document.

IGR_CHAR_CODE

These character codes are output by Document Filters when using the IGR_Get_Text function and Extractor.GetText.

IGR_COMPARE_DOCUMENTS_COMPARE_TYPE

Contains the list of document comparison types.

IGR_COMPARE_DOCUMENTS_DIFFERENCE_SOURCE_TYPE

Contains the list of comparison difference source types.

IGR_COMPARE_DOCUMENTS_DIFFERENCE_TYPE

Contains the list of comparison difference types.

IGR_COMPARE_DOCUMENTS_FLAGS_TYPE

Contains the list of comparison flags.

IGR_FILETYPE_CATEGORY

The File Type Category provides extra classification of a file type. It is returned by calls to IGR_Get_Format_Attribute.

IGR_FONT_STYLE

These font styles are used with the IGR_Canvas_SetFont method.

IGR_GET_PAGE_PIXELS_FLAGS_TYPE

Contains the flags available when calling IGR_Page_Get_Pixels.

IGR_OPEN_BITMAP_FLAGS_TYPE

IGR_OPEN_BITMAP_FLAGS_TYPE is used by IGR_Open_DIB_Info and IGR_Open_DIB when creating a Document Filters document from an existing in-memory image.

IGR_OPEN_BITMAP_PIXEL_TYPE

IGR_OPEN_BITMAP_PIXEL_TYPE is used by IGR_Open_DIB_Info and IGR_Open_DIB when creating a Document Filters document from an existing in-memory image; or IGR_Get_Page_Pixels when accessing pixels of a page.

IGR_OPEN_CALLBACK_ACTION

IGR_OPEN_CALLBACK_ACTION is used by IGR_OPEN_CALLBACK and IGR_Open_Ex when opening a document for text extraction or enumeration of sub-documents.

IGR_OPEN_FLAGS

Open Document Flags specify the type of content that is to be retrieved from the document. The flags are a bitwise combination of the values below.

IGR_OPEN_FROM

IGR_OPEN_FROM is used by IGR_Open_Ex when opening a document for text extraction or enumeration of sub-documents.

IGR_PAGE_ELEMENT_TYPE

Contains the list of form element types.

IGR_PAGE_FORM_ELEMENT_FLAG_TYPE

Contains the form element type flags.

IGR_PAGE_FORM_ELEMENT_GET_TYPE

Contains the options when requesting form element data.

IGR_PAGE_FORM_ELEMENT_TYPE

Contains the form element type flags.

IGR_PEN_STYLE

Contains the pen types available when calling IGR_Canvas_SetPen or Canvas.SetPen.

IGR_STRING_ID

Contains the list of strings that can be localized.

IGR_SUBFILE_INFO_FLAG_TYPE

Contains the subfile flag information.

IGR_TEXT_STYLE

Contains the text style types available when calling IGR_Canvas_DrawText or Canvas.DrawText.