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 |
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_Stream |
|
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 |
IGR_Get_Page_Element_Next_Sibling | IGR_Get_Page_Element_Next_Sibling fills |
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 |
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 |
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_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_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_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_Next |
|
IGR_Subfiles_Next_Ex |
|
IGR_Subfiles_Reset |
|
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_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_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_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 |