Overview

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