﻿xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Bytescout_PDFExtractor; // ByteScout PDF Extractor SDK [TRIAL]
UUID {9A216DC4-800E-411D-92A1-31D149723C28};
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



==================================================================================

coclass AnnotationInfo;
CLSID = {81916C4B-0EA7-331A-B030-2DC0AE907BD7};

// Implemented interface: <IDispatch> _AnnotationInfo

==================================================================================

coclass AttachmentInfo;
CLSID = {C66C230C-2859-329E-A063-9D405E8213EB};

// Implemented interface: <IDispatch> _AttachmentInfo
// Implemented interface: <IDispatch> IAttachmentInfo

==================================================================================

coclass AttachmentExtractor;
CLSID = {CD158EF7-205B-3EA4-A8D9-A3D9A6F54A59};

// Implemented interface: <IDispatch> _AttachmentExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IAttachmentExtractor

==================================================================================

enum PDFContentType;
{
  PDFContentType_Document = 0,
  PDFContentType_Portfolio = 1,
  PDFContentType_XFAForm = 2
};


==================================================================================

enum ExtractionAreaUsageMode;
{
  ExtractionAreaUsageMode_UseAllIntersectingObjects = 0,
  ExtractionAreaUsageMode_UseObjectsCompetelyInsideAreaOnly = 1
};


==================================================================================

enum PageDataCaching;
{
  PageDataCaching_None = 0,
  PageDataCaching_KeepAllPages = 1
};


==================================================================================

enum OngoingOperation;
{
  OngoingOperation_DocumentLoading = 0,
  OngoingOperation_DocumentProcessing = 1
};


==================================================================================

coclass BaseExtractor;
CLSID = {20354C40-41E2-358D-BEDF-4B20C5D29AD9};

// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles

==================================================================================

enum OCRMode;
{
  OCRMode_Off = 0,
  OCRMode_Auto = 1,
  OCRMode_TextFromImagesAndVectorsAndFonts = 2,
  OCRMode_TextFromImagesAndVectorsAndRepairedFonts = 3,
  OCRMode_TextFromRepairedFontsOnly = 4,
  OCRMode_TextFromImagesAndRepairedFonts = 5,
  OCRMode_TextFromImagesAndFonts = 6,
  OCRMode_TextFromImagesOnly = 7,
  OCRMode_TextFromVectorsOnly = 8,
  OCRMode_TextFromImagesAndVectorsOnly = 9
};


==================================================================================

enum OCRCacheMode;
{
  OCRCacheMode_Off = 0,
  OCRCacheMode_WholePage = 1
};


==================================================================================

enum LineGroupingMode;
{
  LineGroupingMode_None = 0,
  LineGroupingMode_GroupByRows = 1,
  LineGroupingMode_GroupByColumns = 2,
  LineGroupingMode_JoinOrphanedRows = 3
};


==================================================================================

enum ColumnDetectionMode;
{
  ColumnDetectionMode_ContentGroupsAndBorders = 0,
  ColumnDetectionMode_ContentGroups = 1,
  ColumnDetectionMode_Borders = 2,
  ColumnDetectionMode_BorderedTables = 3
};


==================================================================================

enum TextAnalysisStatus;
{
  TextAnalysisStatus_TextIsTooShort = 0,
  TextAnalysisStatus_Valid = 1
};


==================================================================================

coclass TextAnalysisResults;
CLSID = {9A3E41B5-41F0-3A5A-9502-46D338491A91};

// Implemented interface: <IDispatch> _TextAnalysisResults

==================================================================================

coclass BaseTextExtractor;
CLSID = {A9C35A21-0C78-3A18-A96A-4376A6E31596};

// Implemented interface: <IDispatch> _BaseTextExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor

==================================================================================

coclass BookmarkRemover;
CLSID = {394D4406-700E-393A-9881-A40F63463057};

// Implemented interface: <IDispatch> _BookmarkRemover
// Implemented interface: <IDispatch> IBookmarkRemover

==================================================================================

coclass AnnotationExtractor;
CLSID = {F6FBD3C5-DD0C-3D73-B613-32D6A8AB57A6};

// Implemented interface: <IDispatch> _AnnotationExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IAnnotationExtractor

==================================================================================

coclass ComHelpers;
CLSID = {9A9197AC-CF50-39C5-AFB4-754082BA3D95};

// Implemented interface: <IDispatch> _ComHelpers

==================================================================================

coclass DocumentOptimizer;
CLSID = {9E46A04C-1ADD-312E-B86E-A1A4875FA9B1};

// Implemented interface: <IDispatch> _DocumentOptimizer
// Implemented interface: <IDispatch> IDocumentOptimizer

==================================================================================

enum ImageOptimizationFormat;
{
  ImageOptimizationFormat_JPEG = 0,
  ImageOptimizationFormat_Fax = 1,
  ImageOptimizationFormat_Flate = 2
};


==================================================================================

coclass OptimizationOptions;
CLSID = {24DB5A63-F532-3DB2-B4C6-DF587502B1E1};

// Implemented interface: <IDispatch> _OptimizationOptions
// Implemented interface: <IDispatch> IOptimizationOptions

==================================================================================

IDispatch IAnnotationExtractor;
IID = {622CF251-89B0-35F9-A42B-9120F2A316BA};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAnnotations(
            [in,optional,hasdefault] int startPage,
            [in,optional,hasdefault] int endPage,
            [out,retval]* pRetVal
         );


==================================================================================

IDispatch IBaseOCRExtractor;
IID = {F390221C-2C71-348C-B26C-F05E58FABE0C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    20.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch IBaseTextExtractor;
IID = {E2DC78B4-A300-3F3B-985F-113CDD581A30};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    18.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    22.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    24.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    25.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    26.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    27.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    28.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    29.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    30.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    31.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    32.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    33.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    35.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    36.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    37.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    38.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    43.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    44.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    45.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    46.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    47.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    48.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    49.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    52.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    53.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    54.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    55.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    56.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    57.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    58.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    59.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    60.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    61.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );


==================================================================================

IDispatch IBookmarkRemover;
IID = {9A327B60-9D12-3C96-9909-C634906D8F7F};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveBookmarks(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument
         );

    10.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveBookmarks_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );


==================================================================================

IDispatch IDocumentOptimizer;
IID = {8F58030A-7CDE-3EA1-9A47-236D75FE237D};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_2* value
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_2* value
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT OptimizeDocument(
            [in] BSTR sourceFileName,
            [in] BSTR destFileName
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_2(
            [in] BSTR sourceFileName,
            [in] BSTR destFileName,
            [in] <IDispatch> _OptimizationOptions* options
         );

    15.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_3(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_4(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] <IDispatch> _OptimizationOptions* options
         );


==================================================================================

IDispatch IOptimizationOptions;
IID = {8F02738F-8AAF-3853-A13E-69F30E1837D3};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageOptimizationFormat(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageOptimizationFormat(
            [in] <enum> ImageOptimizationFormat pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ResampleImages(
            [out,retval] bool* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ResampleImages(
            [in] bool pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ResamplingResolution(
            [out,retval] int* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ResamplingResolution(
            [in] int pRetVal
         );


==================================================================================

IDispatch IImagePreprocessingFiltersCollection;
IID = {C2B71E3E-C124-3CE8-A268-B02336B3A31C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddDeskew(
         );

    3.
STDCALL FUNC PUREVIRTUAL;
        25 AddDeskew_2(
            [in] double minAngle
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddDilate(
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddVerticalLinesRemover(
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddHorizontalLinesRemover(
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddMedian(
         );

    8.
STDCALL FUNC PUREVIRTUAL;
        25 AddMedian_2(
            [in] int blockSize
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddGammaCorrection(
         );

    10.
STDCALL FUNC PUREVIRTUAL;
        25 AddGammaCorrection_2(
            [in] double gamma
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddContrast(
            [in] int contrast
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddScale(
         );

    13.
STDCALL FUNC PUREVIRTUAL;
        25 AddScale_2(
            [in] double scaleFactor
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 AddScale_4(
            [in] int autoSizeLimit
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Clear(
         );


==================================================================================

IDispatch ILineDetector;
IID = {B1A2FB88-94C8-3DF1-9C05-CCAFA2F0FBDE};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindLines(
            [in] int pageIndex,
            [in] <enum> LineOrientationsToFind lineOrientations,
            [out,retval] <IDispatch> _FoundLinesCollection** pRetVal
         );


==================================================================================

IDispatch IFoundLine;
IID = {B0149C33-338B-3C12-A606-771BBED6C96C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineOrientation(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT From(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT To(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] float* pRetVal
         );


==================================================================================

IDispatch IFoundLinesCollection;
IID = {EF4EA77E-1B41-332C-835F-FBD9CD5C246D};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );


==================================================================================

coclass ImagePreprocessingFiltersCollection;
CLSID = {2CA1A509-8576-3880-BF01-36208D97488E};

// Implemented interface: <IDispatch> _ImagePreprocessingFiltersCollection
// Implemented interface: <IDispatch> IImagePreprocessingFiltersCollection

==================================================================================

IDispatch IOCRAnalyzer;
IID = {E980D524-416E-3BF4-A2C8-16FD63E9C9FB};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AnalyzeByOCRConfidence(
            [in] int pageIndex,
            [out,retval] <IDispatch> _OCRAnalysisResults** pRetVal
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ApplyResults(
            [in] <IDispatch> _OCRAnalysisResults* analysisResults,
            [in] <IDispatch> _BaseTextExtractor* extractor
         );

    13.
STDCALL FUNC PUREVIRTUAL;
        25 ApplyResults_2(
            [in] <IDispatch> _OCRAnalysisResults* analysisResults,
            [in] <IDispatch> _SearchablePDFMaker* SearchablePDFMaker
         );


==================================================================================

IDispatch IRemover;
IID = {987592DE-8B90-3117-AA0F-AE202F19FDB1};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveText(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_2(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_3(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_4(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_5(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveVectors(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] BSTR FileName
         );

    7.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveVectors_2(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] <enum> * outputStream
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveImage(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] BSTR FileName
         );


==================================================================================

IDispatch ISensitiveDataDetector;
IID = {9CC7B4B0-1408-33F6-98AE-CF8152DFF3B8};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSensitiveDataPolicies(
            [out,retval]* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSensitiveDataPoliciesStr(
            [out,retval] BSTR* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PerformDetection(
            [in,optional,hasdefault] int startPage,
            [in,optional,hasdefault] int endPage,
            [in,optional,hasdefault] BSTR policies,
            [in,optional,hasdefault] BSTR locales,
            [out,retval] <IDispatch> _SensitiveDataDetectionResults** pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GenerateReport(
            [in] <IDispatch> _SensitiveDataDetectionResults* results,
            [in] <enum> SensitiveDataReportFormat format,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch IRemover2;
IID = {E39DA8F6-6D2F-37A8-8113-CC7A8491C863};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MaskRemovedText(
            [out,retval] bool* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MaskRemovedText(
            [in] bool pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MaskColor(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MaskColor(
            [in] <enum> AnnotationInfo pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [out,retval] bool* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [in] bool pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RenderingResolution(
            [out,retval] float* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RenderingResolution(
            [in] float pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> EmbeddedImageFormat pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddTextToRemove(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] bool* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddVectorsToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddImageToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddImagesToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PerformRemoval(
            [in] BSTR outputFile
         );

    18.
STDCALL FUNC PUREVIRTUAL;
        25 PerformRemoval_2(
            [in] <enum> * outputStream
         );


==================================================================================

IDispatch IStamper;
IID = {AFBEDFE3-AB1C-33A7-A718-B681CEAD6F6B};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MakeStampImageTransparent(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MakeStampImageTransparent(
            [in] bool pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR documentFileName,
            [out,retval] int* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Stamp(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] BSTR imageFile,
            [in] <enum> AnnotationInfo point,
            [in] int startPageIndex,
            [in] int endPageIndex
         );

    15.
STDCALL FUNC PUREVIRTUAL;
        25 Stamp_2(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] SAFEARRAY imageFiles,
            [in] points,
            [in] int startPageIndex,
            [in] int endPageIndex
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 Stamp_3(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] BSTR imageFile,
            [in] <enum> AnnotationInfo point,
            [in] int startPageIndex,
            [in] int endPageIndex
         );

    17.
STDCALL FUNC PUREVIRTUAL;
        25 Stamp_4(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] SAFEARRAY imageFiles,
            [in] points,
            [in] int startPageIndex,
            [in] int endPageIndex
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetImageSizeInPoints(
            [in] BSTR imageFile,
            [out,retval] <enum> AnnotationInfo* pRetVal
         );


==================================================================================

enum EmbeddedImageFormat;
{
  EmbeddedImageFormat_JPEG = 0,
  EmbeddedImageFormat_PNG = 1
};


==================================================================================

IDispatch IUnsearchablePDFMaker;
IID = {139B8A47-6B71-3DF8-A076-473B53E987A8};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RenderingResolution(
            [out,retval] float* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RenderingResolution(
            [in] float pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> EmbeddedImageFormat pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [in] BSTR outputFileName
         );

    8.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFUnsearchable_2(
            [in] BSTR outputFileName,
            [in] int pageIndex
         );

    9.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFUnsearchable_3(
            [in] BSTR outputFileName,
            [in] int startPage,
            [in] int endPage
         );


==================================================================================

IDispatch ISearchablePDFMaker;
IID = {A3E77E91-58BD-35FB-AE9D-0FC512C8CDC9};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    3.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalRotation(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalRotation(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LabelingFont(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LabelingFont(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DiscardExistingDocumentText(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DiscardExistingDocumentText(
            [in] bool pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    19.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MakePDFSearchable(
            [in] BSTR outputFileName
         );

    22.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFSearchable_2(
            [in] BSTR outputFileName,
            [in] int pageIndex
         );

    23.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFSearchable_3(
            [in] BSTR outputFileName,
            [in] int startPage,
            [in] int endPage
         );


==================================================================================

IDispatch IMultimediaExtractor;
IID = {7B040128-B066-3334-91F6-AE9B477A7471};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentAudioCount(
            [out,retval] int* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentVideoCount(
            [out,retval] int* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocument3DCount(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstAudio(
            [out,retval] bool* pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstVideo(
            [out,retval] bool* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirst3D(
            [out,retval] bool* pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextAudio(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextVideo(
            [out,retval] bool* pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNext3D(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioType(
            [out,retval] int* pRetVal
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoType(
            [out,retval] int* pRetVal
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DType(
            [out,retval] int* pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioExtension(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoExtension(
            [out,retval] BSTR* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DExtension(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentAudioToFile(
            [in] BSTR FileName
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentVideoToFile(
            [in] BSTR FileName
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrent3DToFile(
            [in] BSTR FileName
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioBytesSize(
            [out,retval] int* pRetVal
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoBytesSize(
            [out,retval] int* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DBytesSize(
            [out,retval] int* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );


==================================================================================

IDispatch IXFDFExtractor;
IID = {EE4F7723-44F2-364D-94DD-02F5F3658409};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXFDFDocument(
            [out,retval] IUnknown* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
        25 GetXFDFDocument_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] IUnknown* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXFDF(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
        25 GetXFDF_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXFDFToFile(
            [in] BSTR FileName
         );

    6.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXFDFToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXFDFToStream(
            [in] <enum> * stream
         );

    8.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXFDFToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );


==================================================================================

IDispatch IJSONExtractor;
IID = {D4592315-8880-384E-8171-108A47BFB9A6};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveImages(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveImages(
            [in] <enum> ImageHandling pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFolder(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFolder(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> OutputImageFormat pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [in] bool pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveVectors(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveVectors(
            [in] bool pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetJSONData(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 GetJSONData_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
        25 GetJSONData_3(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveJSONToFile(
            [in] BSTR FileName
         );

    17.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    18.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToFile_3(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveJSONToStream(
            [in] <enum> * stream
         );

    20.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    21.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToStream_3(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

coclass LineDetector;
CLSID = {4185F9AC-7D36-3716-A2E3-DD3086F9BF66};

// Implemented interface: <IDispatch> _LineDetector
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> ILineDetector

==================================================================================

enum LineOrientation;
{
  LineOrientation_Horizontal = 0,
  LineOrientation_Vertical = 1
};


==================================================================================

enum LineOrientationsToFind;
{
  LineOrientationsToFind_HorizontalAndVertical = 0,
  LineOrientationsToFind_OnlyHorizontal = 1,
  LineOrientationsToFind_OnlyVertical = 2
};


==================================================================================

coclass FoundLine;
CLSID = {F296736E-2A83-3A76-97E4-3D8E1C07D561};

// Implemented interface: <IDispatch> _FoundLine
// Implemented interface: <IDispatch> IFoundLine

==================================================================================

coclass FoundLinesCollection;
CLSID = {A4FC626C-935B-3E25-A692-9562C8D18049};

// Implemented interface: <IDispatch> _FoundLinesCollection
// Implemented interface: <IDispatch> IFoundLinesCollection

==================================================================================

coclass Logger;
CLSID = {49FC5AD4-F508-330E-A51E-54E20AAA1D95};

// Implemented interface: <IDispatch> _Logger

==================================================================================

coclass OCRAnalyzer;
CLSID = {83E3DE5F-5648-3A2D-9423-DC493EC5E7DD};

// Implemented interface: <IDispatch> _OCRAnalyzer
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IOCRAnalyzer

==================================================================================

coclass OCRAnalysisResults;
CLSID = {DC3F8B3E-C78B-398F-8CCC-584A5118369F};

// Implemented interface: <IDispatch> _OCRAnalysisResults

==================================================================================

coclass OCRCorrection;
CLSID = {6033E0B2-026A-3DAE-AA1C-83F18EA458D9};

// Implemented interface: <IDispatch> _OCRCorrection

==================================================================================

coclass OCRCorrectionList;
CLSID = {2B1E9D2B-13E9-3B9A-A548-A62162FCAB9B};

// Implemented interface: <IDispatch> _OCRCorrectionList

==================================================================================

coclass PasswordEventHandler;
CLSID = {0ADA8039-DBD8-384D-86D3-1D44F8F4DFFA};

// Implemented interface: <IDispatch> _PasswordEventHandler

==================================================================================

coclass SensitiveDataDetector;
CLSID = {22E168EB-A990-341C-82C8-C985A691DCB1};

// Implemented interface: <IDispatch> _SensitiveDataDetector
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> ISensitiveDataDetector

==================================================================================

enum SensitiveDataReportFormat;
{
  SensitiveDataReportFormat_JSON = 0,
  SensitiveDataReportFormat_TXT = 1
};


==================================================================================

coclass SensitiveDataPolicy;
CLSID = {F15B5765-0E71-3A48-8BE4-D1CAF5AFA235};

// Implemented interface: <IDispatch> _SensitiveDataPolicy

==================================================================================

coclass SensitiveDataDetectionResults;
CLSID = {486971BC-021B-3D35-AAF4-9944B03A9936};

// Implemented interface: <IDispatch> _SensitiveDataDetectionResults

==================================================================================

coclass DetectedSensitiveItem;
CLSID = {49E19B9C-AFAA-3A82-9A1C-6586F39DE8DB};

// Implemented interface: <IDispatch> _DetectedSensitiveItem

==================================================================================

coclass PDFExtractorProfileException;
CLSID = {2096DABA-1573-3FA5-9A73-705B8F62B6AD};

// Implemented interface: <IDispatch> _PDFExtractorProfileException

==================================================================================

coclass Remover;
CLSID = {6E2CC6E0-2C58-3913-9942-92A0050CD5E6};

// Implemented interface: <IDispatch> _Remover
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IRemover

==================================================================================

coclass Remover2;
CLSID = {6A48DB3C-DB61-35F2-B0B0-A77EF393DF5C};

// Implemented interface: <IDispatch> _Remover2
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IRemover2

==================================================================================

enum RotationAngle;
{
  RotationAngle_None = 0,
  RotationAngle_Deg90 = 1,
  RotationAngle_Deg180 = 2,
  RotationAngle_Deg270 = 3
};


==================================================================================

coclass Stamper;
CLSID = {18D9A4F7-553A-3078-9C3B-A305BCF84752};

// Implemented interface: <IDispatch> _Stamper
// Implemented interface: <IDispatch> IStamper

==================================================================================

coclass TableDetector2;
CLSID = {4E07910A-BF2E-32DB-A5D7-E6FFAD49DCC1};

// Implemented interface: <IDispatch> _TableDetector2
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles

==================================================================================

coclass DetectedTable;
CLSID = {27A7BFFA-4D29-33C4-BAB7-A1CC7BACD884};

// Implemented interface: <IDispatch> _DetectedTable

==================================================================================

coclass DetectedTableList;
CLSID = {1E5F3944-4553-34BD-ACEC-C7EA75EA5063};

// Implemented interface: <IDispatch> _DetectedTableList

==================================================================================

coclass TextComparer;
CLSID = {3EBD4585-C3A4-3E3F-865A-15A87E3F3F86};

// Implemented interface: <IDispatch> _TextComparer

==================================================================================

coclass UnsearchablePDFMaker;
CLSID = {52594276-C77E-3F48-9C3E-D02532A2ECF1};

// Implemented interface: <IDispatch> _UnsearchablePDFMaker
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IUnsearchablePDFMaker

==================================================================================

coclass SearchablePDFMaker;
CLSID = {AD1C88EF-0767-3159-869A-847425271F41};

// Implemented interface: <IDispatch> _SearchablePDFMaker
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> ISearchablePDFMaker

==================================================================================

coclass OCRCell;
CLSID = {AAE5415A-CAEB-300C-9469-126A2D254613};

// Implemented interface: <IDispatch> _OCRCell

==================================================================================

enum VideoType;
{
  VideoType_avi = 0,
  VideoType_quicktime = 1,
  VideoType_mp4 = 2,
  VideoType_mpeg = 3
};


==================================================================================

enum AudioType;
{
  AudioType_aiff = 0,
  AudioType_basic = 1,
  AudioType_midi = 2,
  AudioType_mp3 = 3,
  AudioType_mp4 = 4
};


==================================================================================

enum Graphics3DType;
{
  Graphics3DType_prc = 0,
  Graphics3DType_u3d = 1
};


==================================================================================

coclass MultimediaExtractor;
CLSID = {0F84C871-1330-326B-B4E8-319091B4E207};

// Implemented interface: <IDispatch> _MultimediaExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IMultimediaExtractor

==================================================================================

coclass XFDFExtractor;
CLSID = {B961087A-3470-3B42-BD07-177346D5ADB7};

// Implemented interface: <IDispatch> _XFDFExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> IXFDFExtractor

==================================================================================

coclass DocumentRotator;
CLSID = {CFF4962A-367F-3F3E-A795-BB7C159C65F2};

// Implemented interface: <IDispatch> _DocumentRotator
// Implemented interface: <IDispatch> IDocumentRotator

==================================================================================

IDispatch IAttachmentInfo;
IID = {16BFF760-FB38-3C49-951D-B18B2F3CC509};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Name(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileName(
            [out,retval] BSTR* pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileNameUnicode(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Date(
            [out,retval] DATE* pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DateModified(
            [out,retval] DATE* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DateCreated(
            [out,retval] DATE* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FolderLocation(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT To(
            [out,retval] BSTR* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CC(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT From(
            [out,retval] BSTR* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SubjectPrefix(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subject(
            [out,retval] BSTR* pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT GUID(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Importance(
            [out,retval] BSTR* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Order(
            [out,retval] int* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subtype(
            [out,retval] BSTR* pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Description(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DisplayName(
            [out,retval] BSTR* pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Summary(
            [out,retval] BSTR* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileSize(
            [out,retval] int* pRetVal
         );


==================================================================================

IDispatch IDocumentRotator;
IID = {860D7EAB-5AA4-3AF5-925C-8A2F97C05B82};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR documentFileName,
            [out,retval] int* pRetVal
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Rotate(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] <enum> RotationAngle angle
         );

    11.
STDCALL FUNC PUREVIRTUAL;
        25 Rotate_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] <enum> RotationAngle angle
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    13.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );


==================================================================================

IDispatch ISearchResultElement;
IID = {FF683BAE-142F-3324-802A-4A92519B002A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT index(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT left(
            [out,retval] double* pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT top(
            [out,retval] double* pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] double* pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] double* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT angle(
            [out,retval] double* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT text(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsNewLine(
            [out,retval] bool* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontIsBold(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontIsItalic(
            [out,retval] bool* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT fontName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT fontSize(
            [out,retval] int* pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontColorAsOleColor(
            [out,retval] int* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontColorAsHtmlColor(
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch ISearchResult;
IID = {5AF918C7-8F52-3C6B-888A-46E48785C371};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT text(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT left(
            [out,retval] double* pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT top(
            [out,retval] double* pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] double* pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] double* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT pageIndex(
            [out,retval] int* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ElementCount(
            [out,retval] int* pRetVal
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetElement(
            [in] int index,
            [out,retval] <IDispatch> ISearchResultElement** pRetVal
         );


==================================================================================

IDispatch ITableDetector;
IID = {6BA5E666-68B3-3DEF-B107-107CA3B29453};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfColumns(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfColumns(
            [in] int pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfRows(
            [out,retval] int* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfRows(
            [in] int pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMaxNumberOfInvalidSubsequentRowsAllowed(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMaxNumberOfInvalidSubsequentRowsAllowed(
            [in] int pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfLineBreaksBetweenTables(
            [out,retval] int* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfLineBreaksBetweenTables(
            [in] int pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnhanceTableBorders(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnhanceTableBorders(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindTable(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindNextTable(
            [out,retval] bool* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Left(
            [out,retval] float* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Top(
            [out,retval] float* pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Width(
            [out,retval] float* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Height(
            [out,retval] float* pRetVal
         );


==================================================================================

coclass DocumentMerger;
CLSID = {DA2E9458-7DDB-3EA1-8938-04015534937E};

// Implemented interface: <IDispatch> _DocumentMerger
// Implemented interface: <IDispatch> IDocumentMerger

==================================================================================

coclass DocumentSplitter;
CLSID = {EAA73547-7F34-363B-B322-03D69F7376BC};

// Implemented interface: <IDispatch> _DocumentSplitter
// Implemented interface: <IDispatch> IDocumentSplitter

==================================================================================

IDispatch IAttachmentExtractor;
IID = {E94BA0DE-8A8F-37D5-ADE1-5AD55665D1CF};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFileName(
            [in] int index,
            [out,retval] BSTR* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSize(
            [in] int index,
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAttachmentInfo(
            [in] int index,
            [out,retval] <IDispatch> _AttachmentInfo** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Save(
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToFile(
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
        25 Save_2(
            [in] int index,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToStream(
            [in] int index,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch IDocumentMerger;
IID = {6D46E5D2-ABA0-3E2B-B55B-80E6BEA4D0F8};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Merge(
            [in] SAFEARRAY sourceDocuments,
            [in] BSTR destinationDocument
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Merge2(
            [in] BSTR sourceDocument1,
            [in] BSTR sourceDocument2,
            [in] BSTR destinationDocument
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MergeFolder(
            [in] BSTR sourceFolder,
            [in] BSTR destinationDocument,
            [in] bool includeSubfolders
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR FileName,
            [out,retval] int* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );


==================================================================================

IDispatch IDocumentSplitter;
IID = {3C0D23C3-CC1B-3B7B-AAF7-B5E9DA423BF8};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_4* value
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_4* value
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OptimizeSplittedDocuments(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OptimizeSplittedDocuments(
            [in] bool pRetVal
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Split(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument1,
            [in] BSTR destinationDocument2,
            [in] int splitAtPageNumber
         );

    12.
STDCALL FUNC PUREVIRTUAL;
        25 Split_2(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [out,retval] BSTR* pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
        25 Split_3(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [in] BSTR outputFolder,
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SplitCOM(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [out,retval] VARIANT* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
        25 SplitCOM_2(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [in] BSTR outputFolder,
            [out,retval] VARIANT* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ExtractPage(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int pageNumber
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ExtractPageRange(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int startPage,
            [in] int endPage
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemovePage(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int pageNumber
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemovePageRange(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int startPage,
            [in] int endPage
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR FileName,
            [out,retval] int* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveUnusedResources(
            [in] BSTR documentFileName
         );

    22.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveUnusedResources_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    24.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    25.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    26.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );


==================================================================================

IDispatch IXFAFormExtractor;
IID = {343DE8AE-1E1F-3B46-84CE-183BD94CCFBB};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSize(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [out,retval] int* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToFile(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToStream(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );


==================================================================================

coclass PDFAValidator;
CLSID = {B0B6BC9A-9051-35D1-8096-3047219EF1CE};

// Implemented interface: <IDispatch> _PDFAValidator
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles

==================================================================================

coclass TableDetector;
CLSID = {A9D2C802-DF08-31DA-8735-98458001A39F};

// Implemented interface: <IDispatch> _TableDetector
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> ITableDetector

==================================================================================

enum XFAFormContentType;
{
  XFAFormContentType_Config = 0,
  XFAFormContentType_ConnectionSet = 1,
  XFAFormContentType_Datasets = 2,
  XFAFormContentType_Form = 3,
  XFAFormContentType_LocaleSet = 4,
  XFAFormContentType_Postamble = 5,
  XFAFormContentType_Preamble = 6,
  XFAFormContentType_Schema = 7,
  XFAFormContentType_Template = 8,
  XFAFormContentType_Xfdf = 9,
  XFAFormContentType_Xmpmeta = 10,
  XFAFormContentType_XdpOpening = 11,
  XFAFormContentType_XdpClosing = 12,
  XFAFormContentType_PDFSecurity = 13
};


==================================================================================

coclass XFAFormExtractor;
CLSID = {E39DEBA4-DF52-3563-A210-3F8E75AA3982};

// Implemented interface: <IDispatch> _XFAFormExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IXFAFormExtractor

==================================================================================

coclass XLSExtractor;
CLSID = {93406CBB-B63C-3C25-A2A6-B592A5D6C578};

// Implemented interface: <IDispatch> _XLSExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> IXLSExtractor

==================================================================================

enum SpreadseetOutputFormat;
{
  SpreadseetOutputFormat_XLS = 0,
  SpreadseetOutputFormat_XLSX = 1
};


==================================================================================

IDispatch IXLSExtractor;
IID = {742DB7B5-E38A-34BF-BDA9-430852CB1473};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OutputFormat(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OutputFormat(
            [in] <enum> SpreadseetOutputFormat pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT NumberDecimalSeparator(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT NumberDecimalSeparator(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT NumberGroupSeparator(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT NumberGroupSeparator(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoDetectNumbers(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoDetectNumbers(
            [in] bool pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RichTextFormatting(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RichTextFormatting(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageToWorksheet(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageToWorksheet(
            [in] bool pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToXLSFile(
            [in] BSTR FileName
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 SaveToXLSFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToXLSStream(
            [in] <enum> * stream
         );

    18.
STDCALL FUNC PUREVIRTUAL;
        25 SaveToXLSStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageToXLSFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageToXLSStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

IDispatch IStructuredExtractor;
IID = {6D8781D5-FCA8-3819-83E4-EF3B7055F24A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PrepareStructure(
            [in] int pageIndex
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetRowCount(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetColumnCount(
            [in] int pageIndex,
            [in] int rowIndex,
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCellValue(
            [in] int pageIndex,
            [in] int rowIndex,
            [in] int columnIndex,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

coclass StructuredExtractor;
CLSID = {25402479-6F1B-32B3-81E5-8D6D335C9D61};

// Implemented interface: <IDispatch> _StructuredExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> IStructuredExtractor

==================================================================================

coclass JSONExtractor;
CLSID = {979D54D1-9436-3EB8-9C34-63350A119500};

// Implemented interface: <IDispatch> _JSONExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> IJSONExtractor

==================================================================================

enum ImageHandling;
{
  ImageHandling_None = 0,
  ImageHandling_OuterFile = 1,
  ImageHandling_Embed = 2
};


==================================================================================

enum OutputImageFormat;
{
  OutputImageFormat_PNG = 0,
  OutputImageFormat_JPEG = 1,
  OutputImageFormat_GIF = 2,
  OutputImageFormat_BMP = 3
};


==================================================================================

coclass XMLExtractor;
CLSID = {06EFA8EC-3583-3651-AFC6-30D0916A3327};

// Implemented interface: <IDispatch> _XMLExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> IXMLExtractor

==================================================================================

IDispatch ICSVExtractor;
IID = {BFACABBE-D83F-377A-923E-50ADFCF73F7C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CSVSeparatorSymbol(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CSVSeparatorSymbol(
            [in] BSTR pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CSVQuotaionSymbol(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CSVQuotaionSymbol(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCSV(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL FUNC PUREVIRTUAL;
        25 GetCSV_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCSVFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCSVToFile(
            [in] BSTR FileName
         );

    11.
STDCALL FUNC PUREVIRTUAL;
        25 SaveCSVToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageCSVToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );


==================================================================================

coclass CSVExtractor;
CLSID = {B30B9EA5-2671-3A5A-93BE-9CFBCD7F5BF4};

// Implemented interface: <IDispatch> _CSVExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> ICSVExtractor

==================================================================================

IDispatch IBaseExtractor;
IID = {700A51E5-D6B5-34C4-BD38-0B89189167EC};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    28.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    30.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    31.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );


==================================================================================

IDispatch IExtractionArea;
IID = {66FDB38E-9AA5-3CC3-9339-8CBE5DB792FA};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );


==================================================================================

IDispatch IProfiles;
IID = {68001D5D-4ABD-3292-90C2-094C82776A88};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    7.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch IXMLExtractor;
IID = {7EBFA187-8F0D-34B9-A420-388CEE90F132};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveImages(
            [out,retval] int* pRetVal
         );

    2.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveImages(
            [in] <enum> ImageHandling pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFolder(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFolder(
            [in] BSTR pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> OutputImageFormat pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [out,retval] bool* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [in] bool pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveVectors(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveVectors(
            [in] bool pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLDocument(
            [out,retval] IUnknown* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 GetXMLDocument_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] IUnknown* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXML(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 GetXML_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLDocumentFromPage(
            [in] int pageIndex,
            [out,retval] IUnknown* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXMLToFile(
            [in] BSTR FileName
         );

    20.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXMLToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXMLToStream(
            [in] <enum> * stream
         );

    22.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXMLToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageXMLToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageXMLToStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

IDispatch IImageExtractor;
IID = {3D775125-B30A-31F0-ABA5-A1AFDCC42401};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentImageCount(
            [out,retval] int* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageImageCount(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstImage(
            [out,retval] bool* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstPageImage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextImage(
            [out,retval] bool* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageBytesSize(
            [out,retval] int64* pRetVal
         );

    7.
STDCALL FUNC PUREVIRTUAL;
        25 GetCurrentImageBytesSize_2(
            [in] IUnknown ImageFormat,
            [out,retval] int64* pRetVal
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
        25 GetCurrentImageAsArrayOfBytes_2(
            [in] IUnknown ImageFormat,
            [out,retval] ubyte* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractRawImages(
            [out,retval] bool* pRetVal
         );

    11.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractRawImages(
            [in] bool pRetVal
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Left(
            [out,retval] float* pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Top(
            [out,retval] float* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Width(
            [out,retval] float* pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Height(
            [out,retval] float* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentImageToFile(
            [in] BSTR FileName
         );

    17.
STDCALL FUNC PUREVIRTUAL;
        25 SaveCurrentImageToFile_2(
            [in] BSTR FileName,
            [in] IUnknown ImageFormat
         );


==================================================================================

IDispatch IInfoExtractor;
IID = {EFEA002C-5ADB-3840-BE2D-F63EB2E8DF85};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Bookmarks(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Title(
            [out,retval] BSTR* pRetVal
         );

    3.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Author(
            [out,retval] BSTR* pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Producer(
            [out,retval] BSTR* pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Creator(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Keywords(
            [out,retval] BSTR* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subject(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDate(
            [out,retval] BSTR* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDateISO(
            [out,retval] BSTR* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDate(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDateISO(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageCount(
            [out,retval] int* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PasswordProtected(
            [out,retval] bool* pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EncryptionAlgorithm(
            [out,retval] int* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionPrinting(
            [out,retval] bool* pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionModifyDocument(
            [out,retval] bool* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionContentExtraction(
            [out,retval] bool* pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionModifyAnnotations(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionFillForms(
            [out,retval] bool* pRetVal
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionAccessibility(
            [out,retval] bool* pRetVal
         );

    24.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionAssemble(
            [out,retval] bool* pRetVal
         );

    25.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionHighQualityPrint(
            [out,retval] bool* pRetVal
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAuthor(
            [out,retval] BSTR* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetBookmarks(
            [out,retval] BSTR* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDate(
            [out,retval] BSTR* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDateISO(
            [out,retval] BSTR* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDate(
            [out,retval] BSTR* pRetVal
         );

    32.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDateISO(
            [out,retval] BSTR* pRetVal
         );

    34.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreator(
            [out,retval] BSTR* pRetVal
         );

    35.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetKeywords(
            [out,retval] BSTR* pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetProducer(
            [out,retval] BSTR* pRetVal
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSubject(
            [out,retval] BSTR* pRetVal
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetTitle(
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch ITextExtractor;
IID = {153983B6-8B20-3BBF-AEEA-7AA4BEB34D34};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FoundText(
            [out,retval] <IDispatch> ISearchResult** pRetVal
         );

    2.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegexSearch(
            [out,retval] bool* pRetVal
         );

    3.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegexSearch(
            [in] bool pRetVal
         );

    4.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageSeparator(
            [out,retval] BSTR* pRetVal
         );

    5.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageSeparator(
            [in] BSTR pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT WordMatchingMode(
            [out,retval] int* pRetVal
         );

    7.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT WordMatchingMode(
            [in] <enum> WordMatchingMode pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT WordMatchingPunctuationMarks(
            [out,retval] BSTR* pRetVal
         );

    9.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT WordMatchingPunctuationMarks(
            [in] BSTR pRetVal
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetText(
            [out,retval] BSTR* pRetVal
         );

    11.
STDCALL FUNC PUREVIRTUAL;
        25 GetText_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetTextFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveTextToFile(
            [in] BSTR FileName
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 SaveTextToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveTextToStream(
            [in] <enum> * stream
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 SaveTextToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageTextToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageTextToStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Find(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] bool* pRetVal
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindNext(
            [out,retval] bool* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindAll(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval]* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindAllToJSON(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

coclass LicenseInfo;
CLSID = {21220475-30B3-34DA-A649-749C9B17EF90};

// Implemented interface: <IDispatch> _LicenseInfo

==================================================================================

coclass InfoExtractor;
CLSID = {ED555E59-828C-3388-925D-0E5BB35C23BC};

// Implemented interface: <IDispatch> _InfoExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IInfoExtractor

==================================================================================

coclass ImageExtractor;
CLSID = {3D0D99C5-E675-39FF-AB9D-1D3D6C29CDEA};

// Implemented interface: <IDispatch> _ImageExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IImageExtractor

==================================================================================

coclass PDFExtractorException;
CLSID = {EAE3D709-2137-3C9D-93DF-5419366C5CA5};

// Implemented interface: <IDispatch> _PDFExtractorException

==================================================================================

coclass PDFExtractorPermissionsException;
CLSID = {13E5B42F-18B3-3671-BEF5-E2658618E961};

// Implemented interface: <IDispatch> _PDFExtractorPermissionsException

==================================================================================

coclass PDFExtractorInvalidPasswordException;
CLSID = {561BD8F5-5A06-377F-A205-1829463C51FA};

// Implemented interface: <IDispatch> _PDFExtractorInvalidPasswordException

==================================================================================

coclass PDFExtractorDamagedDocumentException;
CLSID = {440A3E49-EE41-39D7-8B3E-25C74BD009BF};

// Implemented interface: <IDispatch> _PDFExtractorDamagedDocumentException

==================================================================================

coclass PDFExtractorCancellationException;
CLSID = {FBFE1B60-E9AC-3ACA-B446-ABD8DDF5E0A3};

// Implemented interface: <IDispatch> _PDFExtractorCancellationException

==================================================================================

enum WordMatchingMode;
{
  WordMatchingMode_None = 0,
  WordMatchingMode_SmartMatch = 1,
  WordMatchingMode_ExactMatch = 2
};


==================================================================================

coclass SearchResultElement;
CLSID = {288B3EE4-B3ED-33A1-9F8C-B48E4D1E3274};

// Implemented interface: <IDispatch> _SearchResultElement
// Implemented interface: <IDispatch> ISearchResultElement

==================================================================================

coclass SearchResult;
CLSID = {C53858CA-1990-3F1B-94CC-9801A62744FB};

// Implemented interface: <IDispatch> _SearchResult
// Implemented interface: <IDispatch> ISearchResult

==================================================================================

coclass TextExtractor;
CLSID = {6788425A-0CEF-32A6-A593-922079ABBEA1};

// Implemented interface: <IDispatch> _TextExtractor
// Implemented interface: <IDispatch> _BaseExtractor
// Implemented interface: <IDispatch> IBaseExtractor
// Implemented interface: <IDispatch> IExtractionArea
// Implemented interface: <IDispatch> IProfiles
// Implemented interface: <IDispatch> IBaseTextExtractor
// Implemented interface: <IDispatch> IBaseOCRExtractor
// Implemented interface: <IDispatch> ITextExtractor

==================================================================================

enum Dir;
{
  Dir_Right = 0,
  Dir_Left = 1,
  Dir_Down = 2,
  Dir_Up = 3
};


==================================================================================

coclass ProgressEventHandler;
CLSID = {8F9CE50E-3FCA-391E-83C5-675F12F74CEF};

// Implemented interface: <IDispatch> _ProgressEventHandler

==================================================================================

coclass ParsingErrorEventHandler;
CLSID = {3C21A77F-0DD1-3A54-AB72-33EAA186E311};

// Implemented interface: <IDispatch> _ParsingErrorEventHandler

==================================================================================

enum ChangeType;
{
  ChangeType_Unchanged = 1,
  ChangeType_Deleted = 2,
  ChangeType_Inserted = 4,
  ChangeType_Modified = 8,
  ChangeType_All = 15
};


==================================================================================

coclass DiffPiece;
CLSID = {FAE35E4B-2DFC-3552-96B0-40518E09B68D};

// Implemented interface: <IDispatch> _DiffPiece

==================================================================================

coclass PageAndAngle;
CLSID = {C5DB5DAC-0104-35A8-8194-B5DFDC4CB22C};

// Implemented interface: <IDispatch> _PageAndAngle

==================================================================================

enum PDFEncryptionAlgorithm;
{
  PDFEncryptionAlgorithm_None = 0,
  PDFEncryptionAlgorithm_RC4_40bit = 1,
  PDFEncryptionAlgorithm_RC4_128bit = 2,
  PDFEncryptionAlgorithm_AES_128bit = 3,
  PDFEncryptionAlgorithm_AES_256bit = 4,
  PDFEncryptionAlgorithm_Undetermined = 255
};


==================================================================================

coclass ProgressEventHandler_2;
CLSID = {D2D525F3-0CD2-3EF0-81E6-5CA8D10A4798};

// Implemented interface: <IDispatch> _ProgressEventHandler_2

==================================================================================

coclass ProgressEventHandler_3;
CLSID = {3016F13D-E772-3437-B617-65187ACF5500};

// Implemented interface: <IDispatch> _ProgressEventHandler_3

==================================================================================

coclass ProgressEventHandler_4;
CLSID = {D3AD23D1-1190-3F53-AE34-DEA705B2E5AF};

// Implemented interface: <IDispatch> _ProgressEventHandler_4

==================================================================================

IDispatch _AnnotationInfo;
IID = {8A45C721-74F6-39BF-8B78-D83C39B6527C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Type(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Name(
            [out,retval] BSTR* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Title(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Content(
            [out,retval] BSTR* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT X(
            [out,retval] float* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Y(
            [out,retval] float* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] float* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] float* pRetVal
         );


==================================================================================

IDispatch _AttachmentInfo;
IID = {AE1982B7-3A25-3DF9-85FE-CEEED476D43B};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Name(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileName(
            [out,retval] BSTR* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileNameUnicode(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Date(
            [out,retval] DATE* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DateModified(
            [out,retval] DATE* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DateCreated(
            [out,retval] DATE* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FolderLocation(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT To(
            [out,retval] BSTR* pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CC(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT From(
            [out,retval] BSTR* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SubjectPrefix(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subject(
            [out,retval] BSTR* pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT GUID(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Importance(
            [out,retval] BSTR* pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Order(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subtype(
            [out,retval] BSTR* pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Description(
            [out,retval] BSTR* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DisplayName(
            [out,retval] BSTR* pRetVal
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Summary(
            [out,retval] BSTR* pRetVal
         );

    24.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FileSize(
            [out,retval] int* pRetVal
         );


==================================================================================

IDispatch _AttachmentExtractor;
IID = {96426499-B2E4-3148-9CF8-4A999591A952};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    51.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFileName(
            [in] int index,
            [out,retval] BSTR* pRetVal
         );

    52.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSize(
            [in] int index,
            [out,retval] int* pRetVal
         );

    53.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAttachmentInfo(
            [in] int index,
            [out,retval] <IDispatch> _AttachmentInfo** pRetVal
         );

    54.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Save(
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    55.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToFile(
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch _BaseExtractor;
IID = {88D9A7DE-82DA-3339-9E14-64CEE3317558};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );


==================================================================================

IDispatch _TextAnalysisResults;
IID = {DCAF81EF-F5F5-34D6-906D-EA961153419E};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _BaseTextExtractor;
IID = {7697ABEA-0F15-31DD-A61A-6AE71C2633AB};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _BookmarkRemover;
IID = {44FEEB46-598B-3363-AD73-461CDE4D3833};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveBookmarks(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveBookmarks_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );


==================================================================================

IDispatch _AnnotationExtractor;
IID = {94EFF644-135D-326D-B4E8-0AD0C737DC88};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAnnotations(
            [in,optional,hasdefault] int startPage,
            [in,optional,hasdefault] int endPage,
            [out,retval]* pRetVal
         );


==================================================================================

IDispatch _ComHelpers;
IID = {C549FEE2-223B-3773-9780-637F2F64A21B};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IMAGEFORMAT_BMP(
            [out,retval] IUnknown* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IMAGEFORMAT_JPEG(
            [out,retval] IUnknown* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IMAGEFORMAT_PNG(
            [out,retval] IUnknown* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IMAGEFORMAT_TIFF(
            [out,retval] IUnknown* pRetVal
         );


==================================================================================

IDispatch _DocumentOptimizer;
IID = {5FC25909-E25C-3CD9-8D90-BA6315047000};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_2* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_2* value
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT OptimizeDocument(
            [in] BSTR sourceFileName,
            [in] BSTR destFileName
         );

    18.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_2(
            [in] BSTR sourceFileName,
            [in] BSTR destFileName,
            [in] <IDispatch> _OptimizationOptions* options
         );

    19.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_3(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    20.
STDCALL FUNC PUREVIRTUAL;
        25 OptimizeDocument_4(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] <IDispatch> _OptimizationOptions* options
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );


==================================================================================

IDispatch _OptimizationOptions;
IID = {2F29BE1A-9072-395C-8BA3-4A29DFE3BE87};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageOptimizationFormat(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageOptimizationFormat(
            [in] <enum> ImageOptimizationFormat pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ResampleImages(
            [out,retval] bool* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ResampleImages(
            [in] bool pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ResamplingResolution(
            [out,retval] int* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ResamplingResolution(
            [in] int pRetVal
         );


==================================================================================

IDispatch _ImagePreprocessingFiltersCollection;
IID = {32FB7A25-765F-3B30-8388-9DE3414F996F};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddDeskew(
         );

    7.
STDCALL FUNC PUREVIRTUAL;
        25 AddDeskew_2(
            [in] double minAngle
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddDilate(
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddVerticalLinesRemover(
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddHorizontalLinesRemover(
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddMedian(
         );

    12.
STDCALL FUNC PUREVIRTUAL;
        25 AddMedian_2(
            [in] int blockSize
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddGammaCorrection(
         );

    14.
STDCALL FUNC PUREVIRTUAL;
        25 AddGammaCorrection_2(
            [in] double gamma
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddContrast(
            [in] int contrast
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddScale(
         );

    17.
STDCALL FUNC PUREVIRTUAL;
        25 AddScale_2(
            [in] double scaleFactor
         );

    18.
STDCALL FUNC PUREVIRTUAL;
        25 AddScale_4(
            [in] int autoSizeLimit
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Clear(
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetEnumerator(
            [out,retval] <enum> ** pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddGrayscale(
         );


==================================================================================

IDispatch _LineDetector;
IID = {5FA6CBB0-4E73-3CEF-9242-361BA004A010};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindLines(
            [in] int pageIndex,
            [in] <enum> LineOrientationsToFind lineOrientations,
            [out,retval] <IDispatch> _FoundLinesCollection** pRetVal
         );


==================================================================================

IDispatch _FoundLine;
IID = {4BD6FEBE-BA65-39B1-B331-9F173C381F26};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineOrientation(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT From(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT To(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] float* pRetVal
         );


==================================================================================

IDispatch _FoundLinesCollection;
IID = {9B32F376-6971-3D45-84C1-E477106C53DD};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetEnumerator(
            [out,retval] <enum> ** pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Item(
            [in] int index,
            [out,retval] <IDispatch> _FoundLine** pRetVal
         );


==================================================================================

IDispatch _Logger;
IID = {6BA4CCBC-E123-3695-AC9E-9C8686504EE5};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _OCRAnalyzer;
IID = {0A21DAD9-B61D-3D2E-9A1F-4FB9A747513A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    60.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AnalyzeByOCRConfidence(
            [in] int pageIndex,
            [out,retval] <IDispatch> _OCRAnalysisResults** pRetVal
         );

    61.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ApplyResults(
            [in] <IDispatch> _OCRAnalysisResults* analysisResults,
            [in] <IDispatch> _BaseTextExtractor* extractor
         );

    62.
STDCALL FUNC PUREVIRTUAL;
        25 ApplyResults_2(
            [in] <IDispatch> _OCRAnalysisResults* analysisResults,
            [in] <IDispatch> _SearchablePDFMaker* SearchablePDFMaker
         );

    63.
STDCALL FUNC PUREVIRTUAL;
        25 add_ProgressChanged_2(
            [in] <IDispatch> _ProgressEventHandler_3* value
         );

    64.
STDCALL FUNC PUREVIRTUAL;
        25 remove_ProgressChanged_2(
            [in] <IDispatch> _ProgressEventHandler_3* value
         );


==================================================================================

IDispatch _OCRAnalysisResults;
IID = {AA41A80C-CC77-363B-922E-01EF9AE966CE};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _OCRCorrection;
IID = {5203CC5D-4A15-3817-AE02-E82A495F653C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SearchString(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT replacementString(
            [out,retval] BSTR* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsRegex(
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch _OCRCorrectionList;
IID = {9A775E48-3A99-306E-BD4F-B61EC6766C55};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetEnumerator(
            [out,retval] <enum> ** pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Item(
            [in] int index,
            [out,retval] <IDispatch> _OCRCorrection** pRetVal
         );

    7.
STDCALL PUREVIRTUAL;
         HRESULT Item(
            [in] int index,
            [in] <IDispatch> _OCRCorrection* index
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Add(
            [in] BSTR SearchString,
            [in] BSTR replacementString,
            [in,optional,hasdefault] bool IsRegex
         );

    10.
STDCALL FUNC PUREVIRTUAL;
        25 Add_2(
            [in] <IDispatch> _OCRCorrection* Item
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Clear(
         );


==================================================================================

IDispatch _PasswordEventHandler;
IID = {DDD08E70-0D98-300A-8F5F-20EDAFF3FBB1};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _SensitiveDataDetector;
IID = {8D91C6D4-5E9B-369C-B31D-D084CBD8566A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * documentFileStream
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    24.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    26.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    27.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    28.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    29.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    30.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    31.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    33.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    36.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    37.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    38.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    39.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    40.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    42.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSensitiveDataPolicies(
            [out,retval]* pRetVal
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSensitiveDataPoliciesStr(
            [out,retval] BSTR* pRetVal
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PerformDetection(
            [in,optional,hasdefault] int startPage,
            [in,optional,hasdefault] int endPage,
            [in,optional,hasdefault] BSTR policies,
            [in,optional,hasdefault] BSTR locales,
            [out,retval] <IDispatch> _SensitiveDataDetectionResults** pRetVal
         );

    47.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GenerateReport(
            [in] <IDispatch> _SensitiveDataDetectionResults* results,
            [in] <enum> SensitiveDataReportFormat format,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _SensitiveDataPolicy;
IID = {69F50A1D-27E5-3C80-9F50-3FCE9464866E};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _SensitiveDataDetectionResults;
IID = {6E71D03D-D95C-358B-B599-C9887B7B0479};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _DetectedSensitiveItem;
IID = {C1F09AED-18A2-3EFC-B418-7216B486AE98};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PDFExtractorProfileException;
IID = {512DD30B-8573-3ABA-B0FC-C60FEA693EFB};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _Remover;
IID = {5974131A-3255-3738-A117-5871072A01AE};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * documentFileStream
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    27.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    29.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    30.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    32.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveText(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_2(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    34.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_3(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );

    35.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_4(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveText_5(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveVectors(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] BSTR FileName
         );

    38.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveVectors_2(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] <enum> * outputStream
         );

    39.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveImage(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] BSTR FileName
         );

    40.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveImages(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [in] BSTR FileName
         );


==================================================================================

IDispatch _Remover2;
IID = {B9C59A6D-CD46-3EB6-8C45-A56598AB5123};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * documentFileStream
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    27.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    29.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    30.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MaskRemovedText(
            [out,retval] bool* pRetVal
         );

    33.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MaskRemovedText(
            [in] bool pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MaskColor(
            [out,retval] <enum> AnnotationInfo* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MaskColor(
            [in] <enum> AnnotationInfo pRetVal
         );

    36.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [out,retval] bool* pRetVal
         );

    37.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [in] bool pRetVal
         );

    38.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RenderingResolution(
            [out,retval] float* pRetVal
         );

    39.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RenderingResolution(
            [in] float pRetVal
         );

    40.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    41.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> EmbeddedImageFormat pRetVal
         );

    42.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    43.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddTextToRemove(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] bool* pRetVal
         );

    45.
STDCALL FUNC PUREVIRTUAL;
        25 AddTextToRemove_2(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height,
            [out,retval] bool* pRetVal
         );

    46.
STDCALL FUNC PUREVIRTUAL;
        25 AddTextToRemove_3(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [out,retval] bool* pRetVal
         );

    47.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddVectorsToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height
         );

    48.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddImageToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y
         );

    49.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddImagesToRemove(
            [in] int pageIndex,
            [in] float X,
            [in] float Y,
            [in] float Width,
            [in] float Height
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PerformRemoval(
            [in] BSTR outputFile
         );


==================================================================================

IDispatch _Stamper;
IID = {97256D14-6C1F-3986-ACF5-D1902C65ED95};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _TableDetector2;
IID = {F0F8071B-7573-3430-A3C3-0E0E64E66ADA};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindTables(
            [in] int pageIndex,
            [out,retval] <IDispatch> _DetectedTableList** pRetVal
         );


==================================================================================

IDispatch _DetectedTable;
IID = {ED0D969E-1B45-35D2-94E7-F0D11C5B37FC};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT X(
            [out,retval] float* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Y(
            [out,retval] float* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] float* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] float* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Columns(
            [out,retval] float* pRetVal
         );


==================================================================================

IDispatch _DetectedTableList;
IID = {5D543048-CAB3-3D8D-BB36-7039F3D45F59};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetEnumerator(
            [out,retval] <enum> ** pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Item(
            [in] int index,
            [out,retval] <IDispatch> _DetectedTable** pRetVal
         );

    7.
STDCALL PUREVIRTUAL;
         HRESULT Item(
            [in] int index,
            [in] <IDispatch> _DetectedTable* index
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Count(
            [out,retval] int* pRetVal
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Sort(
         );


==================================================================================

IDispatch _TextComparer;
IID = {84B1322E-8A85-394D-B7C8-833883E07DC0};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FirstFileName(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SecondFileName(
            [out,retval] BSTR* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ChangedInPercents(
            [out,retval] DECIMAL* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AreEqual(
            [out,retval] bool* pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LinesAddedCount(
            [out,retval] int* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LinesRemovedCount(
            [out,retval] int* pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LinesChangedCount(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TimeSpent(
            [out,retval] int64* pRetVal
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Compare(
            [in] BSTR firstFilePath,
            [in] BSTR secondFilePath,
            [out,retval] DECIMAL* pRetVal
         );

    22.
STDCALL FUNC PUREVIRTUAL;
        25 Compare_2(
            [in] BSTR firstFilePath,
            [in] BSTR secondFilePath,
            [in] int startPage,
            [in] int endPage,
            [out,retval] DECIMAL* pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
        25 Compare_3(
            [in] <IDispatch> _BaseTextExtractor* firstDocument,
            [in] <IDispatch> _BaseTextExtractor* secondDocument,
            [out,retval] DECIMAL* pRetVal
         );

    24.
STDCALL FUNC PUREVIRTUAL;
        25 Compare_4(
            [in] <IDispatch> _BaseTextExtractor* firstDocument,
            [in] <IDispatch> _BaseTextExtractor* secondDocument,
            [in] int startPage,
            [in] int endPage,
            [out,retval] DECIMAL* pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GenerateHtmlReport(
            [in] BSTR filePath,
            [out,retval] bool* pRetVal
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GenerateTextReport(
            [in] BSTR filePath,
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch _UnsearchablePDFMaker;
IID = {F827EFA3-4CD9-312E-9943-65A9971CA927};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RenderingResolution(
            [out,retval] float* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RenderingResolution(
            [in] float pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> EmbeddedImageFormat pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT JPEGQuality(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT JPEGQuality(
            [in] int pRetVal
         );

    56.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MakePDFUnsearchable(
            [in] BSTR outputFileName
         );

    57.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFUnsearchable_2(
            [in] BSTR outputFileName,
            [in] int pageIndex
         );

    58.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFUnsearchable_3(
            [in] BSTR outputFileName,
            [in] int startPage,
            [in] int endPage
         );


==================================================================================

IDispatch _SearchablePDFMaker;
IID = {5177790F-F039-3043-AC61-D31CC1158C8C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    52.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    53.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalRotation(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalRotation(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LabelingFont(
            [out,retval] BSTR* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LabelingFont(
            [in] BSTR pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DiscardExistingDocumentText(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DiscardExistingDocumentText(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    67.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    68.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    69.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    70.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MakePDFSearchable(
            [in] BSTR outputFileName
         );

    71.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFSearchable_2(
            [in] BSTR outputFileName,
            [in] int pageIndex
         );

    72.
STDCALL FUNC PUREVIRTUAL;
        25 MakePDFSearchable_3(
            [in] BSTR outputFileName,
            [in] int startPage,
            [in] int endPage
         );


==================================================================================

IDispatch _OCRCell;
IID = {3251A510-5A40-33C5-B0D9-37FA3331E602};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _MultimediaExtractor;
IID = {EDBF712F-3AC0-3C6B-8578-7410546F2268};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * documentFileStream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentAudioCount(
            [out,retval] int* pRetVal
         );

    51.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentVideoCount(
            [out,retval] int* pRetVal
         );

    52.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocument3DCount(
            [out,retval] int* pRetVal
         );

    53.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstAudio(
            [out,retval] bool* pRetVal
         );

    54.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstVideo(
            [out,retval] bool* pRetVal
         );

    55.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirst3D(
            [out,retval] bool* pRetVal
         );

    56.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextAudio(
            [out,retval] bool* pRetVal
         );

    57.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextVideo(
            [out,retval] bool* pRetVal
         );

    58.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNext3D(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioType(
            [out,retval] int* pRetVal
         );

    60.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoType(
            [out,retval] int* pRetVal
         );

    61.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DType(
            [out,retval] int* pRetVal
         );

    62.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioExtension(
            [out,retval] BSTR* pRetVal
         );

    63.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoExtension(
            [out,retval] BSTR* pRetVal
         );

    64.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DExtension(
            [out,retval] BSTR* pRetVal
         );

    65.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentAudioToFile(
            [in] BSTR FileName
         );

    66.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentVideoToFile(
            [in] BSTR FileName
         );

    67.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrent3DToFile(
            [in] BSTR FileName
         );

    68.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioBytesSize(
            [out,retval] int* pRetVal
         );

    69.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoBytesSize(
            [out,retval] int* pRetVal
         );

    70.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DBytesSize(
            [out,retval] int* pRetVal
         );

    71.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentAudioAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    72.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentVideoAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    73.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrent3DAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );


==================================================================================

IDispatch _XFDFExtractor;
IID = {1749B9CB-EC2F-3C94-9352-F22CE9B4D761};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXFDFDocument(
            [out,retval] IUnknown* pRetVal
         );

    137.
STDCALL FUNC PUREVIRTUAL;
        25 GetXFDFDocument_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] IUnknown* pRetVal
         );

    138.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXFDF(
            [out,retval] BSTR* pRetVal
         );

    139.
STDCALL FUNC PUREVIRTUAL;
        25 GetXFDF_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    140.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXFDFToFile(
            [in] BSTR FileName
         );

    141.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXFDFToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    142.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXFDFToStream(
            [in] <enum> * stream
         );

    143.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXFDFToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );


==================================================================================

IDispatch _DocumentRotator;
IID = {F0D9AE7F-B8BB-3D85-BA3D-3D88AA1828F1};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR FileName,
            [out,retval] int* pRetVal
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Rotate(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] <enum> RotationAngle angle
         );

    15.
STDCALL FUNC PUREVIRTUAL;
        25 Rotate_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream,
            [in] <enum> RotationAngle angle
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    17.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );


==================================================================================

IDispatch _DocumentMerger;
IID = {E64F7392-19BD-331A-97C7-435DEFC6821B};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    11.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Merge(
            [in] SAFEARRAY sourceDocuments,
            [in] BSTR destinationDocument
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Merge2(
            [in] BSTR sourceDocument1,
            [in] BSTR sourceDocument2,
            [in] BSTR destinationDocument
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT MergeFolder(
            [in] BSTR sourceFolder,
            [in] BSTR destinationDocument,
            [in] bool includeSubfolders
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR FileName,
            [out,retval] int* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );


==================================================================================

IDispatch _DocumentSplitter;
IID = {A34864F8-7125-3999-91C6-2E6DBE5AD542};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <IDispatch> _PasswordEventHandler* value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_4* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler_4* value
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OptimizeSplittedDocuments(
            [out,retval] bool* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OptimizeSplittedDocuments(
            [in] bool pRetVal
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Split(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument1,
            [in] BSTR destinationDocument2,
            [in] int splitAtPageNumber
         );

    16.
STDCALL FUNC PUREVIRTUAL;
        25 Split_2(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [out,retval] BSTR* pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
        25 Split_3(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [in] BSTR outputFolder,
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SplitCOM(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [out,retval] VARIANT* pRetVal
         );

    19.
STDCALL FUNC PUREVIRTUAL;
        25 SplitCOM_2(
            [in] BSTR sourceDocument,
            [in] BSTR ranges,
            [in] BSTR outputFolder,
            [out,retval] VARIANT* pRetVal
         );

    20.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ExtractPage(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int pageNumber
         );

    21.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ExtractPageRange(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int startPage,
            [in] int endPage
         );

    22.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemovePage(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int pageNumber
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemovePageRange(
            [in] BSTR sourceDocument,
            [in] BSTR destinationDocument,
            [in] int startPage,
            [in] int endPage
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [in] BSTR FileName,
            [out,retval] int* pRetVal
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT RemoveUnusedResources(
            [in] BSTR documentFileName
         );

    26.
STDCALL FUNC PUREVIRTUAL;
        25 RemoveUnusedResources_2(
            [in] <enum> * sourceDocumentStream,
            [in] <enum> * destinationDocumentStream
         );

    27.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    28.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    29.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    30.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );


==================================================================================

IDispatch _PDFAValidator;
IID = {91A02FF0-7B13-31AF-A2BD-81C439E9CEED};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * documentFileStream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsPDFA(
            [out,retval] bool* pRetVal
         );

    51.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ValidationErrors(
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _TableDetector;
IID = {D15B8487-8E32-36A8-B299-C2377EEB2649};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfColumns(
            [out,retval] int* pRetVal
         );

    137.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfColumns(
            [in] int pRetVal
         );

    138.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfRows(
            [out,retval] int* pRetVal
         );

    139.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfRows(
            [in] int pRetVal
         );

    140.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMaxNumberOfInvalidSubsequentRowsAllowed(
            [out,retval] int* pRetVal
         );

    141.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMaxNumberOfInvalidSubsequentRowsAllowed(
            [in] int pRetVal
         );

    142.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectionMinNumberOfLineBreaksBetweenTables(
            [out,retval] int* pRetVal
         );

    143.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectionMinNumberOfLineBreaksBetweenTables(
            [in] int pRetVal
         );

    144.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnhanceTableBorders(
            [out,retval] bool* pRetVal
         );

    145.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnhanceTableBorders(
            [in] bool pRetVal
         );

    146.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindTable(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    147.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindNextTable(
            [out,retval] bool* pRetVal
         );

    148.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Left(
            [out,retval] float* pRetVal
         );

    149.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Top(
            [out,retval] float* pRetVal
         );

    150.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Width(
            [out,retval] float* pRetVal
         );

    151.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFoundTableRectangle_Height(
            [out,retval] float* pRetVal
         );


==================================================================================

IDispatch _XFAFormExtractor;
IID = {513F3663-7A8B-3C4B-B8AA-9D0CBC036C24};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSize(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [out,retval] int* pRetVal
         );

    51.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToFile(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [in] BSTR FileName,
            [out,retval] bool* pRetVal
         );

    52.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToStream(
            [in] <enum> XFAFormContentType contentPartType,
            [in] int index,
            [in] <enum> * outputStream,
            [out,retval] bool* pRetVal
         );


==================================================================================

IDispatch _XLSExtractor;
IID = {4F1063DB-651D-3486-8EBC-270B069960B3};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OutputFormat(
            [out,retval] int* pRetVal
         );

    137.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OutputFormat(
            [in] <enum> SpreadseetOutputFormat pRetVal
         );

    138.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT NumberDecimalSeparator(
            [out,retval] BSTR* pRetVal
         );

    139.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT NumberDecimalSeparator(
            [in] BSTR pRetVal
         );

    140.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT NumberGroupSeparator(
            [out,retval] BSTR* pRetVal
         );

    141.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT NumberGroupSeparator(
            [in] BSTR pRetVal
         );

    142.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoDetectNumbers(
            [out,retval] bool* pRetVal
         );

    143.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoDetectNumbers(
            [in] bool pRetVal
         );

    144.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RichTextFormatting(
            [out,retval] bool* pRetVal
         );

    145.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RichTextFormatting(
            [in] bool pRetVal
         );

    146.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageToWorksheet(
            [out,retval] bool* pRetVal
         );

    147.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageToWorksheet(
            [in] bool pRetVal
         );

    148.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    149.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    150.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToXLSFile(
            [in] BSTR FileName
         );

    151.
STDCALL FUNC PUREVIRTUAL;
        25 SaveToXLSFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    152.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveToXLSStream(
            [in] <enum> * stream
         );

    153.
STDCALL FUNC PUREVIRTUAL;
        25 SaveToXLSStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    154.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageToXLSFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    155.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageToXLSStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

IDispatch _StructuredExtractor;
IID = {152B6BEC-F2E1-3896-86B4-24B734972FEE};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL FUNC PUREVIRTUAL;
         HRESULT PrepareStructure(
            [in] int pageIndex
         );

    137.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetRowCount(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    138.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetColumnCount(
            [in] int pageIndex,
            [in] int rowIndex,
            [out,retval] int* pRetVal
         );

    139.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCellValue(
            [in] int pageIndex,
            [in] int rowIndex,
            [in] int columnIndex,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _JSONExtractor;
IID = {E6FCD588-2C86-3EE7-9842-ACF552B10051};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveImages(
            [out,retval] int* pRetVal
         );

    137.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveImages(
            [in] <enum> ImageHandling pRetVal
         );

    138.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFolder(
            [out,retval] BSTR* pRetVal
         );

    139.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFolder(
            [in] BSTR pRetVal
         );

    140.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    141.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> OutputImageFormat pRetVal
         );

    142.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [out,retval] bool* pRetVal
         );

    143.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [in] bool pRetVal
         );

    144.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    145.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    146.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveVectors(
            [out,retval] bool* pRetVal
         );

    147.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveVectors(
            [in] bool pRetVal
         );

    148.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetJSONData(
            [out,retval] BSTR* pRetVal
         );

    149.
STDCALL FUNC PUREVIRTUAL;
        25 GetJSONData_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    150.
STDCALL FUNC PUREVIRTUAL;
        25 GetJSONData_3(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    151.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveJSONToFile(
            [in] BSTR FileName
         );

    152.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    153.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToFile_3(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    154.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveJSONToStream(
            [in] <enum> * stream
         );

    155.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    156.
STDCALL FUNC PUREVIRTUAL;
        25 SaveJSONToStream_3(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

IDispatch _XMLExtractor;
IID = {B6DAAF35-9576-3E7B-96F0-0314A283B7B4};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveImages(
            [out,retval] int* pRetVal
         );

    137.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveImages(
            [in] <enum> ImageHandling pRetVal
         );

    138.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFolder(
            [out,retval] BSTR* pRetVal
         );

    139.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFolder(
            [in] BSTR pRetVal
         );

    140.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ImageFormat(
            [out,retval] int* pRetVal
         );

    141.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ImageFormat(
            [in] <enum> OutputImageFormat pRetVal
         );

    142.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [out,retval] bool* pRetVal
         );

    143.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT KeepOriginalFontNames(
            [in] bool pRetVal
         );

    144.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    145.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    146.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT SaveVectors(
            [out,retval] bool* pRetVal
         );

    147.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT SaveVectors(
            [in] bool pRetVal
         );

    148.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLDocument(
            [out,retval] IUnknown* pRetVal
         );

    149.
STDCALL FUNC PUREVIRTUAL;
        25 GetXMLDocument_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] IUnknown* pRetVal
         );

    150.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXML(
            [out,retval] BSTR* pRetVal
         );

    151.
STDCALL FUNC PUREVIRTUAL;
        25 GetXML_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    152.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLDocumentFromPage(
            [in] int pageIndex,
            [out,retval] IUnknown* pRetVal
         );

    153.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetXMLFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    154.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXMLToFile(
            [in] BSTR FileName
         );

    155.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXMLToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    156.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveXMLToStream(
            [in] <enum> * stream
         );

    157.
STDCALL FUNC PUREVIRTUAL;
        25 SaveXMLToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    158.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageXMLToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    159.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageXMLToStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );


==================================================================================

IDispatch _CSVExtractor;
IID = {EA9A6FB8-DD29-3DB1-BD84-60B69951CAE9};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CSVSeparatorSymbol(
            [out,retval] BSTR* pRetVal
         );

    137.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CSVSeparatorSymbol(
            [in] BSTR pRetVal
         );

    138.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CSVQuotaionSymbol(
            [out,retval] BSTR* pRetVal
         );

    139.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CSVQuotaionSymbol(
            [in] BSTR pRetVal
         );

    140.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [out,retval] bool* pRetVal
         );

    141.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AllowStandalonePunctuation(
            [in] bool pRetVal
         );

    142.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCSV(
            [out,retval] BSTR* pRetVal
         );

    143.
STDCALL FUNC PUREVIRTUAL;
        25 GetCSV_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    144.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCSVFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    145.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCSVToFile(
            [in] BSTR FileName
         );

    146.
STDCALL FUNC PUREVIRTUAL;
        25 SaveCSVToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    147.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageCSVToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );


==================================================================================

IDispatch _LicenseInfo;
IID = {20746447-C91A-37B2-932C-7B1890B5D1AE};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _InfoExtractor;
IID = {384DAA95-12A2-3216-A864-35EE2193803D};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    8.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    10.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    13.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    14.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    15.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    16.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    17.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Bookmarks(
            [out,retval] BSTR* pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Title(
            [out,retval] BSTR* pRetVal
         );

    20.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Author(
            [out,retval] BSTR* pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Producer(
            [out,retval] BSTR* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Creator(
            [out,retval] BSTR* pRetVal
         );

    23.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Keywords(
            [out,retval] BSTR* pRetVal
         );

    24.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Subject(
            [out,retval] BSTR* pRetVal
         );

    25.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDate(
            [out,retval] BSTR* pRetVal
         );

    26.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    27.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CreationDateISO(
            [out,retval] BSTR* pRetVal
         );

    28.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDate(
            [out,retval] BSTR* pRetVal
         );

    29.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    30.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ModificationDateISO(
            [out,retval] BSTR* pRetVal
         );

    31.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageCount(
            [out,retval] int* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    33.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PasswordProtected(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EncryptionAlgorithm(
            [out,retval] int* pRetVal
         );

    35.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionPrinting(
            [out,retval] bool* pRetVal
         );

    36.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionModifyDocument(
            [out,retval] bool* pRetVal
         );

    37.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionContentExtraction(
            [out,retval] bool* pRetVal
         );

    38.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionModifyAnnotations(
            [out,retval] bool* pRetVal
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionFillForms(
            [out,retval] bool* pRetVal
         );

    40.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionAccessibility(
            [out,retval] bool* pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionAssemble(
            [out,retval] bool* pRetVal
         );

    42.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PermissionHighQualityPrint(
            [out,retval] bool* pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetAuthor(
            [out,retval] BSTR* pRetVal
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetBookmarks(
            [out,retval] BSTR* pRetVal
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDate(
            [out,retval] BSTR* pRetVal
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    47.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreationDateISO(
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDate(
            [out,retval] BSTR* pRetVal
         );

    49.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDateUTC(
            [out,retval] BSTR* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetModificationDateISO(
            [out,retval] BSTR* pRetVal
         );

    51.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCreator(
            [out,retval] BSTR* pRetVal
         );

    52.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetKeywords(
            [out,retval] BSTR* pRetVal
         );

    53.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetProducer(
            [out,retval] BSTR* pRetVal
         );

    54.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetSubject(
            [out,retval] BSTR* pRetVal
         );

    55.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetTitle(
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _ImageExtractor;
IID = {12E78C3F-45C5-32CD-BB87-87DE6B7B57D0};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetDocumentImageCount(
            [out,retval] int* pRetVal
         );

    51.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageImageCount(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    52.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstImage(
            [out,retval] bool* pRetVal
         );

    53.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetFirstPageImage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    54.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetNextImage(
            [out,retval] bool* pRetVal
         );

    55.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageBytesSize(
            [out,retval] int64* pRetVal
         );

    56.
STDCALL FUNC PUREVIRTUAL;
        25 GetCurrentImageBytesSize_2(
            [in] IUnknown ImageFormat,
            [out,retval] int64* pRetVal
         );

    57.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageAsArrayOfBytes(
            [out,retval] ubyte* pRetVal
         );

    58.
STDCALL FUNC PUREVIRTUAL;
        25 GetCurrentImageAsArrayOfBytes_2(
            [in] IUnknown ImageFormat,
            [out,retval] ubyte* pRetVal
         );

    59.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractRawImages(
            [out,retval] bool* pRetVal
         );

    60.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractRawImages(
            [in] bool pRetVal
         );

    61.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Left(
            [out,retval] float* pRetVal
         );

    62.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Top(
            [out,retval] float* pRetVal
         );

    63.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Width(
            [out,retval] float* pRetVal
         );

    64.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetCurrentImageRectangle_Height(
            [out,retval] float* pRetVal
         );

    65.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveCurrentImageToFile(
            [in] BSTR FileName
         );

    66.
STDCALL FUNC PUREVIRTUAL;
        25 SaveCurrentImageToFile_2(
            [in] BSTR FileName,
            [in] IUnknown ImageFormat
         );


==================================================================================

IDispatch _PDFExtractorException;
IID = {46F5F622-1834-3D96-995A-7684CA9B58DB};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PDFExtractorPermissionsException;
IID = {AB208F26-E788-3C70-BE4C-06050345826A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PDFExtractorInvalidPasswordException;
IID = {AB1080AA-AFA3-37E4-B07A-4A8A446C61C3};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PDFExtractorDamagedDocumentException;
IID = {7BBDA592-6482-38B1-B3B6-0A2B79D3FB08};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PDFExtractorCancellationException;
IID = {47535189-8691-399A-99D7-E7B88FE48DDD};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _SearchResultElement;
IID = {B867D8F4-2A21-33D2-A8A3-250EA007EC11};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT index(
            [out,retval] int* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT left(
            [out,retval] double* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT top(
            [out,retval] double* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] double* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] double* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT angle(
            [out,retval] double* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT text(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsNewLine(
            [out,retval] bool* pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontIsBold(
            [out,retval] bool* pRetVal
         );

    14.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontIsItalic(
            [out,retval] bool* pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT fontName(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT fontSize(
            [out,retval] int* pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontColorAsOleColor(
            [out,retval] int* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FontColorAsHtmlColor(
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _SearchResult;
IID = {53B0FE5F-5257-3406-9920-62C277CFE3FC};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT text(
            [out,retval] BSTR* pRetVal
         );

    6.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT left(
            [out,retval] double* pRetVal
         );

    7.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT top(
            [out,retval] double* pRetVal
         );

    8.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Width(
            [out,retval] double* pRetVal
         );

    9.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Height(
            [out,retval] double* pRetVal
         );

    10.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT pageIndex(
            [out,retval] int* pRetVal
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ElementCount(
            [out,retval] int* pRetVal
         );

    12.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetElement(
            [in] int index,
            [out,retval] <IDispatch> ISearchResultElement** pRetVal
         );


==================================================================================

IDispatch _TextExtractor;
IID = {28F5875C-398B-3028-902A-8B7D83829AC7};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}

    1.
STDCALL PROPERTYGET PUREVIRTUAL;
        25 ToString(
            [out,retval] BSTR* pRetVal
         );

    2.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Equals(
            [in] VARIANT obj,
            [out,retval] bool* pRetVal
         );

    3.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetHashCode(
            [out,retval] int* pRetVal
         );

    4.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetType(
            [out,retval] <> ** pRetVal
         );

    5.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_PasswordRequired(
            [in] <enum> * value
         );

    6.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_PasswordRequired(
            [in] <enum> * value
         );

    7.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    8.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ProgressChanged(
            [in] <IDispatch> _ProgressEventHandler* value
         );

    9.
STDCALL FUNC PUREVIRTUAL;
         HRESULT add_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    10.
STDCALL FUNC PUREVIRTUAL;
         HRESULT remove_ParsingError(
            [in] <IDispatch> _ParsingErrorEventHandler* value
         );

    11.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationName(
            [out,retval] BSTR* pRetVal
         );

    12.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationName(
            [in] BSTR pRetVal
         );

    13.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegistrationKey(
            [out,retval] BSTR* pRetVal
         );

    14.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegistrationKey(
            [in] BSTR pRetVal
         );

    15.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Password(
            [out,retval] BSTR* pRetVal
         );

    16.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Password(
            [in] BSTR pRetVal
         );

    17.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Version(
            [out,retval] BSTR* pRetVal
         );

    18.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LicenseInfo(
            [out,retval] <IDispatch> _LicenseInfo** pRetVal
         );

    19.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageDataCaching(
            [out,retval] int* pRetVal
         );

    20.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageDataCaching(
            [in] <enum> PageDataCaching pRetVal
         );

    21.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT IsDocumentLoaded(
            [out,retval] bool* pRetVal
         );

    22.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ComHelpers(
            [out,retval] <IDispatch> _ComHelpers** pRetVal
         );

    23.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Reset(
         );

    24.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromFile(
            [in] BSTR FileName
         );

    25.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadDocumentFromStream(
            [in] <enum> * stream
         );

    26.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageCount(
            [out,retval] int* pRetVal
         );

    27.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRotationAngle(
            [in] int pageIndex,
            [out,retval] int* pRetVal
         );

    28.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Left(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    29.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Top(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    30.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Width(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    31.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPageRect_Height(
            [in] int pageIndex,
            [out,retval] float* pRetVal
         );

    32.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ContentType(
            [out,retval] int* pRetVal
         );

    33.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsEncrypted(
            [out,retval] bool* pRetVal
         );

    34.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CheckPermissions(
            [out,retval] bool* pRetVal
         );

    35.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CheckPermissions(
            [in] bool pRetVal
         );

    36.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Dispose(
         );

    37.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetExtractionArea(
            [in] float left,
            [in] float top,
            [in] float Width,
            [in] float Height
         );

    38.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetExtractionArea(
         );

    39.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [out,retval] int* pRetVal
         );

    40.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractionAreaUsageMode(
            [in] <enum> ExtractionAreaUsageMode pRetVal
         );

    41.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Profiles(
            [out,retval] BSTR* pRetVal
         );

    42.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Profiles(
            [in] BSTR pRetVal
         );

    43.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfiles(
            [in] BSTR FileName
         );

    44.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadProfilesFromString(
            [in] BSTR jsonString
         );

    45.
STDCALL FUNC PUREVIRTUAL;
         HRESULT LoadAndApplyProfiles(
            [in] BSTR jsonString
         );

    46.
STDCALL FUNC PUREVIRTUAL;
         HRESULT CreateProfile(
            [in] BSTR profileName,
            [in] BSTR outputFileName
         );

    47.
STDCALL FUNC PUREVIRTUAL;
        25 CreateProfile_2(
            [in] BSTR profileName,
            [out,retval] BSTR* pRetVal
         );

    48.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Encrypted(
            [out,retval] bool* pRetVal
         );

    49.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EmbeddedFileCount(
            [out,retval] int* pRetVal
         );

    50.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    51.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT XCoordinateToleranceFactor(
            [in] double pRetVal
         );

    52.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [out,retval] double* pRetVal
         );

    53.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT YCoordinateToleranceFactor(
            [in] double pRetVal
         );

    54.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    55.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableXMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    56.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [out,retval] int* pRetVal
         );

    57.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TableYMinIntersectionRequiredInPercents(
            [in] int pRetVal
         );

    58.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [out,retval] bool* pRetVal
         );

    59.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RTLTextAutoDetectionEnabled(
            [in] bool pRetVal
         );

    60.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [out,retval] bool* pRetVal
         );

    61.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractInvisibleText(
            [in] bool pRetVal
         );

    62.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [out,retval] bool* pRetVal
         );

    63.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractShadowLikeText(
            [in] bool pRetVal
         );

    64.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [out,retval] bool* pRetVal
         );

    65.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractAnnotations(
            [in] bool pRetVal
         );

    66.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [out,retval] bool* pRetVal
         );

    67.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectLinesInsteadOfParagraphs(
            [in] bool pRetVal
         );

    68.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [out,retval] int* pRetVal
         );

    69.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT LineGroupingMode(
            [in] <enum> LineGroupingMode pRetVal
         );

    70.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [out,retval] int* pRetVal
         );

    71.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ColumnDetectionMode(
            [in] <enum> ColumnDetectionMode pRetVal
         );

    72.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [out,retval] bool* pRetVal
         );

    73.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT AutoAlignColumnsToHeader(
            [in] bool pRetVal
         );

    74.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [out,retval] float* pRetVal
         );

    75.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT DetectNewColumnBySpacesRatio(
            [in] float pRetVal
         );

    76.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [out,retval] bool* pRetVal
         );

    77.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ExtractColumnByColumn(
            [in] bool pRetVal
         );

    78.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TrimSpaces(
            [out,retval] bool* pRetVal
         );

    79.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TrimSpaces(
            [in] bool pRetVal
         );

    80.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT Unwrap(
            [out,retval] bool* pRetVal
         );

    81.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT Unwrap(
            [in] bool pRetVal
         );

    82.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [out,retval] bool* pRetVal
         );

    83.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RemoveHyphenation(
            [in] bool pRetVal
         );

    84.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [out,retval] bool* pRetVal
         );

    85.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PreserveFormattingOnTextExtraction(
            [in] bool pRetVal
         );

    86.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [out,retval] int* pRetVal
         );

    87.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT TextEncodingCodePage(
            [in] int pRetVal
         );

    88.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RotationAngle(
            [out,retval] int* pRetVal
         );

    89.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RotationAngle(
            [in] <enum> RotationAngle pRetVal
         );

    90.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [out,retval] bool* pRetVal
         );

    91.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontNames(
            [in] bool pRetVal
         );

    92.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [out,retval] bool* pRetVal
         );

    93.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontSizes(
            [in] bool pRetVal
         );

    94.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [out,retval] bool* pRetVal
         );

    95.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderFontColors(
            [in] bool pRetVal
         );

    96.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [out,retval] bool* pRetVal
         );

    97.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ConsiderVerticalBorders(
            [in] bool pRetVal
         );

    98.
STDCALL FUNC PUREVIRTUAL;
         HRESULT DisposePage(
            [in] int pageIndex
         );

    99.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ExtractionColumns(
            [out,retval] double* pRetVal
         );

    100.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [out,retval] double* pRetVal
         );

    101.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT CustomExtractionColumns(
            [in] SAFEARRAY pRetVal
         );

    102.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [out,retval] bool* pRetVal
         );

    103.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT ShrinkMultipleSpaces(
            [in] bool pRetVal
         );

    104.
STDCALL FUNC PUREVIRTUAL;
         HRESULT AddFilter(
            [in] BSTR searchPattern,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    105.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_2(
            [in] BSTR searchPattern,
            [in] BSTR replacementString,
            [in] bool caseSensitive,
            [in] bool useRegex
         );

    106.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_3(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] bool exclude
         );

    107.
STDCALL FUNC PUREVIRTUAL;
        25 AddFilter_4(
            [in] BSTR fontName,
            [in] int fontSize,
            [in] int fontColorR,
            [in] int fontColorG,
            [in] int fontColorB,
            [in] bool exclude
         );

    108.
STDCALL FUNC PUREVIRTUAL;
         HRESULT ResetFilters(
         );

    109.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SetCustomExtractionColumns(
            [in] SAFEARRAY columnCoordinates
         );

    110.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetPreprocessedPagePreview(
            [in] int pageIndex,
            [out,retval] <enum> AnnotationInfo** pRetVal
         );

    111.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePreprocessedPagePreview(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    112.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMode(
            [out,retval] int* pRetVal
         );

    113.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMode(
            [in] <enum> OCRMode pRetVal
         );

    114.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [out,retval] int* pRetVal
         );

    115.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRCacheMode(
            [in] <enum> OCRCacheMode pRetVal
         );

    116.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [out,retval] BSTR* pRetVal
         );

    117.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguageDataFolder(
            [in] BSTR pRetVal
         );

    118.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRLanguage(
            [out,retval] BSTR* pRetVal
         );

    119.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRLanguage(
            [in] BSTR pRetVal
         );

    120.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRResolution(
            [out,retval] float* pRetVal
         );

    121.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRResolution(
            [in] float pRetVal
         );

    122.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [out,retval] int* pRetVal
         );

    123.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRAutoModeMinExistingTextLength(
            [in] int pRetVal
         );

    124.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [out,retval] bool* pRetVal
         );

    125.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRDetectPageRotation(
            [in] bool pRetVal
         );

    126.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [out,retval] bool* pRetVal
         );

    127.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT OCRMaximizeCPUUtilization(
            [in] bool pRetVal
         );

    128.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCROverallConfidence(
            [out,retval] float* pRetVal
         );

    129.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRImagePreprocessingFilters(
            [out,retval] <IDispatch> _ImagePreprocessingFiltersCollection** pRetVal
         );

    130.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT OCRCorrections(
            [out,retval] <IDispatch> _OCRCorrectionList** pRetVal
         );

    131.
STDCALL PUREVIRTUAL;
         HRESULT OCRCorrections(
            [in] <IDispatch> _OCRCorrectionList* pRetVal
         );

    132.
STDCALL FUNC PUREVIRTUAL;
         HRESULT IsOCRRecommendedForPage(
            [in] int pageIndex,
            [out,retval] bool* pRetVal
         );

    133.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [out,retval] bool* pRetVal
         );

    134.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT EnableTextAnalysis(
            [in] bool pRetVal
         );

    135.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT TextAnalysisResults(
            [out,retval] <IDispatch> _TextAnalysisResults** pRetVal
         );

    136.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT FoundText(
            [out,retval] <IDispatch> ISearchResult** pRetVal
         );

    137.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT RegexSearch(
            [out,retval] bool* pRetVal
         );

    138.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT RegexSearch(
            [in] bool pRetVal
         );

    139.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT PageSeparator(
            [out,retval] BSTR* pRetVal
         );

    140.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT PageSeparator(
            [in] BSTR pRetVal
         );

    141.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT WordMatchingMode(
            [out,retval] int* pRetVal
         );

    142.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT WordMatchingMode(
            [in] <enum> WordMatchingMode pRetVal
         );

    143.
STDCALL PROPERTYGET PUREVIRTUAL;
         HRESULT WordMatchingPunctuationMarks(
            [out,retval] BSTR* pRetVal
         );

    144.
STDCALL PROPERTYPUTREF PUREVIRTUAL;
         HRESULT WordMatchingPunctuationMarks(
            [in] BSTR pRetVal
         );

    145.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetText(
            [out,retval] BSTR* pRetVal
         );

    146.
STDCALL FUNC PUREVIRTUAL;
        25 GetText_2(
            [in] int startPage,
            [in] int endPage,
            [out,retval] BSTR* pRetVal
         );

    147.
STDCALL FUNC PUREVIRTUAL;
         HRESULT GetTextFromPage(
            [in] int pageIndex,
            [out,retval] BSTR* pRetVal
         );

    148.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveTextToFile(
            [in] BSTR FileName
         );

    149.
STDCALL FUNC PUREVIRTUAL;
        25 SaveTextToFile_2(
            [in] int startPage,
            [in] int endPage,
            [in] BSTR FileName
         );

    150.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SaveTextToStream(
            [in] <enum> * stream
         );

    151.
STDCALL FUNC PUREVIRTUAL;
        25 SaveTextToStream_2(
            [in] int startPage,
            [in] int endPage,
            [in] <enum> * stream
         );

    152.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageTextToFile(
            [in] int pageIndex,
            [in] BSTR FileName
         );

    153.
STDCALL FUNC PUREVIRTUAL;
         HRESULT SavePageTextToStream(
            [in] int pageIndex,
            [in] <enum> * stream
         );

    154.
STDCALL FUNC PUREVIRTUAL;
         HRESULT Find(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] bool* pRetVal
         );

    155.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindNext(
            [out,retval] bool* pRetVal
         );

    156.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindAll(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval]* pRetVal
         );

    157.
STDCALL FUNC PUREVIRTUAL;
         HRESULT FindAllToJSON(
            [in] int pageIndex,
            [in] BSTR text,
            [in] bool caseSensitive,
            [out,retval] BSTR* pRetVal
         );


==================================================================================

IDispatch _ProgressEventHandler;
IID = {E86492F2-963A-36AE-8C5E-4752D3A08BB8};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _ParsingErrorEventHandler;
IID = {E81E3E1E-A999-31BB-ACDC-531E18C74303};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _ProgressEventHandler_2;
IID = {0CA51E85-0C20-320B-A912-9400758499B3};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _ProgressEventHandler_3;
IID = {14C62D7C-7348-3676-89C1-F1CB0D35673A};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _DiffPiece;
IID = {563CD41F-3A13-3551-B694-831DE80C163C};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _PageAndAngle;
IID = {2A9F6511-F7D8-361D-BE6D-789288BD6500};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

IDispatch _ProgressEventHandler_4;
IID = {F90B7BCA-9D5A-3C1A-B6F0-A59C4068A37D};
// Inherits from:  IDispatch  {00020400-0000-0000-C000-000000000046}


==================================================================================

