// PDF Library
// ActiveX Edition
// Version 2.1

// Copyright 2007-2015 losLab

// PDFlibAX.cpp
// C# import header for .NET
// http://www.loslab.com/

using System;
using System.Reflection;
using System.Runtime.InteropServices;

namespace PDFlibAX
{

    public class PDFlibrary
    {
        private object comObject;
        private Type comType;

        public PDFlibrary()
        {
            comType = Type.GetTypeFromProgID("PDFlibAX.PDFlibrary");
            if (comType != null)
                comObject = Activator.CreateInstance(comType);
        }

        public bool LibraryLoaded()
        {
            return comType != null;
        }

        public int AddArcToPath(double CenterX, double CenterY, 
            double TotalAngle)
        {
            return (int)comType.InvokeMember("AddArcToPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CenterX, CenterY, TotalAngle});
        }

        public int AddCJKFont(int CJKFontID)
        {
            return (int)comType.InvokeMember("AddCJKFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CJKFontID});
        }

        public int AddCurveToPath(double CtAX, double CtAY, double CtBX, 
            double CtBY, double EndX, double EndY)
        {
            return (int)comType.InvokeMember("AddCurveToPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CtAX, CtAY, CtBX, CtBY, EndX, EndY});
        }

        public int AddEmbeddedFile(string FileName, string MIMEType)
        {
            return (int)comType.InvokeMember("AddEmbeddedFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName, MIMEType});
        }

        public int AddFileAttachment(string Title, int EmbeddedFileID)
        {
            return (int)comType.InvokeMember("AddFileAttachment",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title, EmbeddedFileID});
        }

        public int AddFormFieldSub(int Index, string SubName)
        {
            return (int)comType.InvokeMember("AddFormFieldSub",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, SubName});
        }

        public int AddFormFont(int FontID)
        {
            return (int)comType.InvokeMember("AddFormFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontID});
        }

        public int AddGlobalJavaScript(string PackageName, 
            string JavaScript)
        {
            return (int)comType.InvokeMember("AddGlobalJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PackageName, JavaScript});
        }

        public int AddImageFromFile(string FileName, int Options)
        {
            return (int)comType.InvokeMember("AddImageFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName, Options});
        }

        public int AddImageFromFileOffset(string FileName, int Offset, 
            int DataLength, int Options)
        {
            return (int)comType.InvokeMember("AddImageFromFileOffset",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName, Offset, DataLength, Options});
        }

        public int AddImageFromVariant(byte[] SourceData, int Options)
        {
            return (int)comType.InvokeMember("AddImageFromVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                SourceData, Options});
        }

        public int AddLGIDictToPage(string DictContent)
        {
            return (int)comType.InvokeMember("AddLGIDictToPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DictContent});
        }

        public int AddLineToPath(double EndX, double EndY)
        {
            return (int)comType.InvokeMember("AddLineToPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                EndX, EndY});
        }

        public int AddLinkToEmbeddedFile(double Left, double Top, 
            double Width, double Height, int EmbeddedFileID, string Title, 
            int Options)
        {
            return (int)comType.InvokeMember("AddLinkToEmbeddedFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, EmbeddedFileID, Title, Options});
        }

        public int AddLinkToFile(double Left, double Top, double Width, 
            double Height, string FileName, int Page, double Position, 
            int NewWindow, int Options)
        {
            return (int)comType.InvokeMember("AddLinkToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, FileName, Page, Position, 
                NewWindow, Options});
        }

        public int AddLinkToJavaScript(double Left, double Top, 
            double Width, double Height, string JavaScript, int Options)
        {
            return (int)comType.InvokeMember("AddLinkToJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, JavaScript, Options});
        }

        public int AddLinkToPage(double Left, double Top, double Width, 
            double Height, int Page, double Position, int Options)
        {
            return (int)comType.InvokeMember("AddLinkToPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Page, Position, Options});
        }

        public int AddLinkToWeb(double Left, double Top, double Width, 
            double Height, string Link, int Options)
        {
            return (int)comType.InvokeMember("AddLinkToWeb",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Link, Options});
        }

        public int AddNoteAnnotation(double Left, double Top, 
            int AnnotType, double PopupLeft, double PopupTop, 
            double PopupWidth, double PopupHeight, string Title, 
            string Contents, double Red, double Green, double Blue, 
            int Open)
        {
            return (int)comType.InvokeMember("AddNoteAnnotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, AnnotType, PopupLeft, PopupTop, PopupWidth, 
                PopupHeight, Title, Contents, Red, Green, Blue, Open});
        }

        public int AddPageLabels(int Start, int Style, int Offset, 
            string Prefix)
        {
            return (int)comType.InvokeMember("AddPageLabels",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Start, Style, Offset, Prefix});
        }

        public int AddSVGAnnotationFromFile(double Left, double Top, 
            double Width, double Height, string FileName, int Options)
        {
            return (int)comType.InvokeMember("AddSVGAnnotationFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, FileName, Options});
        }

        public int AddSeparationColor(string ColorName, double C, 
            double M, double Y, double K, int Options)
        {
            return (int)comType.InvokeMember("AddSeparationColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, C, M, Y, K, Options});
        }

        public int AddStandardFont(int StandardFontID)
        {
            return (int)comType.InvokeMember("AddStandardFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StandardFontID});
        }

        public int AddSubsettedFont(string FontName, int CharSet, 
            string SubsetChars)
        {
            return (int)comType.InvokeMember("AddSubsettedFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontName, CharSet, SubsetChars});
        }

        public int AddToFileList(string ListName, string FileName)
        {
            return (int)comType.InvokeMember("AddToFileList",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName, FileName});
        }

        public int AddTrueTypeFont(string FontName, int Embed)
        {
            return (int)comType.InvokeMember("AddTrueTypeFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontName, Embed});
        }

        public int AddTrueTypeFontFromFile(string FileName)
        {
            return (int)comType.InvokeMember("AddTrueTypeFontFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int AddType1Font(string FileName)
        {
            return (int)comType.InvokeMember("AddType1Font",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int AddU3DAnnotationFromFile(double Left, double Top, 
            double Width, double Height, string FileName, int Options)
        {
            return (int)comType.InvokeMember("AddU3DAnnotationFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, FileName, Options});
        }

        public int AnalyseFile(string InputFileName, string Password)
        {
            return (int)comType.InvokeMember("AnalyseFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, Password});
        }

        public int AnnotationCount()
        {
            return (int)comType.InvokeMember("AnnotationCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int AppendSpace(double RelativeSpace)
        {
            return (int)comType.InvokeMember("AppendSpace",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                RelativeSpace});
        }

        public int AppendTableColumns(int TableID, int NewColumnCount)
        {
            return (int)comType.InvokeMember("AppendTableColumns",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, NewColumnCount});
        }

        public int AppendTableRows(int TableID, int NewRowCount)
        {
            return (int)comType.InvokeMember("AppendTableRows",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, NewRowCount});
        }

        public int AppendText(string Text)
        {
            return (int)comType.InvokeMember("AppendText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Text});
        }

        public int ApplyStyle(string StyleName)
        {
            return (int)comType.InvokeMember("ApplyStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StyleName});
        }

        public int BeginPageUpdate()
        {
            return (int)comType.InvokeMember("BeginPageUpdate",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CapturePage(int Page)
        {
            return (int)comType.InvokeMember("CapturePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Page});
        }

        public int CapturePageEx(int Page, int Options)
        {
            return (int)comType.InvokeMember("CapturePageEx",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Page, Options});
        }

        public int CharWidth(int CharCode)
        {
            return (int)comType.InvokeMember("CharWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CharCode});
        }

        public int CheckObjects()
        {
            return (int)comType.InvokeMember("CheckObjects",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CheckPageAnnots()
        {
            return (int)comType.InvokeMember("CheckPageAnnots",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ClearFileList(string ListName)
        {
            return (int)comType.InvokeMember("ClearFileList",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName});
        }

        public int ClearPageLabels()
        {
            return (int)comType.InvokeMember("ClearPageLabels",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ClearTextFormatting()
        {
            return (int)comType.InvokeMember("ClearTextFormatting",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CloneOutlineAction(int OutlineID)
        {
            return (int)comType.InvokeMember("CloneOutlineAction",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int ClonePages(int StartPage, int EndPage, int RepeatCount)
        {
            return (int)comType.InvokeMember("ClonePages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartPage, EndPage, RepeatCount});
        }

        public int CloseOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("CloseOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int ClosePath()
        {
            return (int)comType.InvokeMember("ClosePath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CombineLayers()
        {
            return (int)comType.InvokeMember("CombineLayers",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CompressContent()
        {
            return (int)comType.InvokeMember("CompressContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CompressFonts(int Compress)
        {
            return (int)comType.InvokeMember("CompressFonts",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Compress});
        }

        public int CompressImages(int Compress)
        {
            return (int)comType.InvokeMember("CompressImages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Compress});
        }

        public int CompressPage()
        {
            return (int)comType.InvokeMember("CompressPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int CopyPageRanges(int DocumentID, string RangeList)
        {
            return (int)comType.InvokeMember("CopyPageRanges",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DocumentID, RangeList});
        }

        public int CreateTable(int RowCount, int ColumnCount)
        {
            return (int)comType.InvokeMember("CreateTable",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                RowCount, ColumnCount});
        }

        public int DAAppendFile(int FileHandle)
        {
            return (int)comType.InvokeMember("DAAppendFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public int DACapturePage(int FileHandle, int PageRef)
        {
            return (int)comType.InvokeMember("DACapturePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DACapturePageEx(int FileHandle, int PageRef, int Options)
        {
            return (int)comType.InvokeMember("DACapturePageEx",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, Options});
        }

        public int DACloseFile(int FileHandle)
        {
            return (int)comType.InvokeMember("DACloseFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public int DADrawCapturedPage(int FileHandle, int DACaptureID, 
            int DestPageRef, double PntLeft, double PntBottom, 
            double PntWidth, double PntHeight)
        {
            return (int)comType.InvokeMember("DADrawCapturedPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, DACaptureID, DestPageRef, PntLeft, PntBottom, 
                PntWidth, PntHeight});
        }

        public string DAExtractPageText(int FileHandle, int PageRef, 
            int Options)
        {
            return (string)comType.InvokeMember("DAExtractPageText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, Options});
        }

        public int DAFindPage(int FileHandle, int Page)
        {
            return (int)comType.InvokeMember("DAFindPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, Page});
        }

        public int DAGetFormFieldCount(int FileHandle)
        {
            return (int)comType.InvokeMember("DAGetFormFieldCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public string DAGetFormFieldTitle(int FileHandle, int FieldIndex)
        {
            return (string)comType.InvokeMember("DAGetFormFieldTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, FieldIndex});
        }

        public string DAGetFormFieldValue(int FileHandle, int FieldIndex)
        {
            return (string)comType.InvokeMember("DAGetFormFieldValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, FieldIndex});
        }

        public byte[] DAGetImageDataToVariant(int FileHandle, 
            int ImageListID, int ImageIndex)
        {
            return (byte[])comType.InvokeMember("DAGetImageDataToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ImageListID, ImageIndex});
        }

        public double DAGetImageDblProperty(int FileHandle, 
            int ImageListID, int ImageIndex, int PropertyID)
        {
            return (double)comType.InvokeMember("DAGetImageDblProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ImageListID, ImageIndex, PropertyID});
        }

        public int DAGetImageIntProperty(int FileHandle, int ImageListID, 
            int ImageIndex, int PropertyID)
        {
            return (int)comType.InvokeMember("DAGetImageIntProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ImageListID, ImageIndex, PropertyID});
        }

        public int DAGetImageListCount(int FileHandle, int ImageListID)
        {
            return (int)comType.InvokeMember("DAGetImageListCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ImageListID});
        }

        public string DAGetInformation(int FileHandle, string Key)
        {
            return (string)comType.InvokeMember("DAGetInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, Key});
        }

        public int DAGetObjectCount(int FileHandle)
        {
            return (int)comType.InvokeMember("DAGetObjectCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public string DAGetObjectSource(int FileHandle, int ObjectNumber)
        {
            return (string)comType.InvokeMember("DAGetObjectSource",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ObjectNumber});
        }

        public string DAGetPageContent(int FileHandle, int PageRef)
        {
            return (string)comType.InvokeMember("DAGetPageContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DAGetPageCount(int FileHandle)
        {
            return (int)comType.InvokeMember("DAGetPageCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public double DAGetPageHeight(int FileHandle, int PageRef)
        {
            return (double)comType.InvokeMember("DAGetPageHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DAGetPageImageList(int FileHandle, int PageRef)
        {
            return (int)comType.InvokeMember("DAGetPageImageList",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public double DAGetPageWidth(int FileHandle, int PageRef)
        {
            return (double)comType.InvokeMember("DAGetPageWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DAHidePage(int FileHandle, int PageRef)
        {
            return (int)comType.InvokeMember("DAHidePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DAMovePage(int FileHandle, int PageRef, 
            int TargetPageRef, int Options)
        {
            return (int)comType.InvokeMember("DAMovePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, TargetPageRef, Options});
        }

        public int DANewPage(int FileHandle)
        {
            return (int)comType.InvokeMember("DANewPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle});
        }

        public int DANewPages(int FileHandle, int PageCount)
        {
            return (int)comType.InvokeMember("DANewPages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageCount});
        }

        public int DAOpenFile(string InputFileName, string Password)
        {
            return (int)comType.InvokeMember("DAOpenFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, Password});
        }

        public int DAOpenFileReadOnly(string InputFileName, string Password)
        {
            return (int)comType.InvokeMember("DAOpenFileReadOnly",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, Password});
        }

        public int DAPageRotation(int FileHandle, int PageRef)
        {
            return (int)comType.InvokeMember("DAPageRotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef});
        }

        public int DARenderPageToDC(int FileHandle, int PageRef, int DPI, 
            int DC)
        {
            return (int)comType.InvokeMember("DARenderPageToDC",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, DPI, DC});
        }

        public int DARenderPageToFile(int FileHandle, int PageRef, 
            int Options, int DPI, string FileName)
        {
            return (int)comType.InvokeMember("DARenderPageToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, Options, DPI, FileName});
        }

        public byte[] DARenderPageToVariant(int FileHandle, int PageRef, 
            int Options, int DPI)
        {
            return (byte[])comType.InvokeMember("DARenderPageToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, Options, DPI});
        }

        public int DARotatePage(int FileHandle, int PageRef, int Angle, 
            int Options)
        {
            return (int)comType.InvokeMember("DARotatePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, Angle, Options});
        }

        public int DASaveAsFile(int FileHandle, string OutputFileName)
        {
            return (int)comType.InvokeMember("DASaveAsFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, OutputFileName});
        }

        public int DASaveImageDataToFile(int FileHandle, int ImageListID, 
            int ImageIndex, string ImageFileName)
        {
            return (int)comType.InvokeMember("DASaveImageDataToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, ImageListID, ImageIndex, ImageFileName});
        }

        public int DASetInformation(int FileHandle, string Key, 
            string NewValue)
        {
            return (int)comType.InvokeMember("DASetInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, Key, NewValue});
        }

        public int DASetPageSize(int FileHandle, int PageRef, 
            double PntWidth, double PntHeight)
        {
            return (int)comType.InvokeMember("DASetPageSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileHandle, PageRef, PntWidth, PntHeight});
        }

        public int Decrypt()
        {
            return (int)comType.InvokeMember("Decrypt",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int DecryptFile(string InputFileName, 
            string OutputFileName, string Password)
        {
            return (int)comType.InvokeMember("DecryptFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, OutputFileName, Password});
        }

        public int DeleteAnalysis(int AnalysisID)
        {
            return (int)comType.InvokeMember("DeleteAnalysis",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                AnalysisID});
        }

        public int DeleteAnnotation(int Index)
        {
            return (int)comType.InvokeMember("DeleteAnnotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int DeleteFormField(int Index)
        {
            return (int)comType.InvokeMember("DeleteFormField",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int DeleteLayer()
        {
            return (int)comType.InvokeMember("DeleteLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int DeleteOptionalContentGroup(int OptionalContentGroupID)
        {
            return (int)comType.InvokeMember("DeleteOptionalContentGroup",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID});
        }

        public int DeletePageLGIDict(int DictIndex)
        {
            return (int)comType.InvokeMember("DeletePageLGIDict",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DictIndex});
        }

        public int DeletePages(int StartPage, int PageCount)
        {
            return (int)comType.InvokeMember("DeletePages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartPage, PageCount});
        }

        public int DocJavaScriptAction(string ActionType, string JavaScript)
        {
            return (int)comType.InvokeMember("DocJavaScriptAction",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ActionType, JavaScript});
        }

        public int DocumentCount()
        {
            return (int)comType.InvokeMember("DocumentCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int DrawArc(double XPos, double YPos, double Radius, 
            double StartAngle, double EndAngle, int Pie, int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawArc",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Radius, StartAngle, EndAngle, Pie, DrawOptions});
        }

        public int DrawBarcode(double Left, double Top, double Width, 
            double Height, string Text, int Barcode, int Options)
        {
            return (int)comType.InvokeMember("DrawBarcode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Text, Barcode, Options});
        }

        public int DrawBox(double Left, double Top, double Width, 
            double Height, int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, DrawOptions});
        }

        public int DrawCapturedPage(int CaptureID, double Left, 
            double Top, double Width, double Height)
        {
            return (int)comType.InvokeMember("DrawCapturedPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CaptureID, Left, Top, Width, Height});
        }

        public int DrawCircle(double XPos, double YPos, double Radius, 
            int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawCircle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Radius, DrawOptions});
        }

        public int DrawDataMatrixSymbol(double Left, double Top, 
            double ModuleSize, string Text, int Encoding, int SymbolSize, 
            int Options)
        {
            return (int)comType.InvokeMember("DrawDataMatrixSymbol",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, ModuleSize, Text, Encoding, SymbolSize, Options});
        }

        public int DrawEllipse(double XPos, double YPos, double Width, 
            double Height, int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawEllipse",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Width, Height, DrawOptions});
        }

        public int DrawEllipticArc(double XPos, double YPos, double Width, 
            double Height, double StartAngle, double EndAngle, int Pie, 
            int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawEllipticArc",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Width, Height, StartAngle, EndAngle, Pie, 
                DrawOptions});
        }

        public int DrawHTMLText(double Left, double Top, double Width, 
            string HTMLText)
        {
            return (int)comType.InvokeMember("DrawHTMLText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, HTMLText});
        }

        public string DrawHTMLTextBox(double Left, double Top, 
            double Width, double Height, string HTMLText)
        {
            return (string)comType.InvokeMember("DrawHTMLTextBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, HTMLText});
        }

        public int DrawImage(double Left, double Top, double Width, 
            double Height)
        {
            return (int)comType.InvokeMember("DrawImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height});
        }

        public int DrawLine(double StartX, double StartY, double EndX, 
            double EndY)
        {
            return (int)comType.InvokeMember("DrawLine",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartX, StartY, EndX, EndY});
        }

        public int DrawMultiLineText(double XPos, double YPos, 
            string Delimiter, string Text)
        {
            return (int)comType.InvokeMember("DrawMultiLineText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Delimiter, Text});
        }

        public int DrawPath(int PathOptions)
        {
            return (int)comType.InvokeMember("DrawPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PathOptions});
        }

        public int DrawPathEvenOdd(int PathOptions)
        {
            return (int)comType.InvokeMember("DrawPathEvenOdd",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PathOptions});
        }

        public int DrawPostScriptXObject(int PSRef)
        {
            return (int)comType.InvokeMember("DrawPostScriptXObject",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PSRef});
        }

        public int DrawRotatedCapturedPage(int CaptureID, double Left, 
            double Bottom, double Width, double Height, double Angle)
        {
            return (int)comType.InvokeMember("DrawRotatedCapturedPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CaptureID, Left, Bottom, Width, Height, Angle});
        }

        public int DrawRotatedImage(double Left, double Bottom, 
            double Width, double Height, double Angle)
        {
            return (int)comType.InvokeMember("DrawRotatedImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Bottom, Width, Height, Angle});
        }

        public int DrawRotatedText(double XPos, double YPos, double Angle, 
            string Text)
        {
            return (int)comType.InvokeMember("DrawRotatedText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Angle, Text});
        }

        public int DrawRotatedTextBox(double Left, double Top, 
            double Width, double Height, double Angle, string Text, 
            int Options)
        {
            return (int)comType.InvokeMember("DrawRotatedTextBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Angle, Text, Options});
        }

        public int DrawRoundedBox(double Left, double Top, double Width, 
            double Height, double Radius, int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawRoundedBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Radius, DrawOptions});
        }

        public int DrawScaledImage(double Left, double Top, double Scale)
        {
            return (int)comType.InvokeMember("DrawScaledImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Scale});
        }

        public int DrawSpacedText(double XPos, double YPos, 
            double Spacing, string Text)
        {
            return (int)comType.InvokeMember("DrawSpacedText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Spacing, Text});
        }

        public double DrawTableRows(int TableID, double Left, double Top, 
            double Height, int FirstRow, int LastRow)
        {
            return (double)comType.InvokeMember("DrawTableRows",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, Left, Top, Height, FirstRow, LastRow});
        }

        public int DrawText(double XPos, double YPos, string Text)
        {
            return (int)comType.InvokeMember("DrawText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Text});
        }

        public int DrawTextArc(double XPos, double YPos, double Radius, 
            double Angle, string Text, int DrawOptions)
        {
            return (int)comType.InvokeMember("DrawTextArc",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Radius, Angle, Text, DrawOptions});
        }

        public int DrawTextBox(double Left, double Top, double Width, 
            double Height, string Text, int Options)
        {
            return (int)comType.InvokeMember("DrawTextBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Text, Options});
        }

        public int DrawWrappedText(double XPos, double YPos, double Width, 
            string Text)
        {
            return (int)comType.InvokeMember("DrawWrappedText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XPos, YPos, Width, Text});
        }

        public int EditableLayer()
        {
            return (int)comType.InvokeMember("EditableLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EmbedFile(string Title, string FileName, string MIMEType)
        {
            return (int)comType.InvokeMember("EmbedFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title, FileName, MIMEType});
        }

        public int EmbeddedFileCount()
        {
            return (int)comType.InvokeMember("EmbeddedFileCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EncapsulateLayer()
        {
            return (int)comType.InvokeMember("EncapsulateLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EncodePermissions(int CanPrint, int CanCopy, 
            int CanChange, int CanAddNotes, int CanFillFields, 
            int CanCopyAccess, int CanAssemble, int CanPrintFull)
        {
            return (int)comType.InvokeMember("EncodePermissions",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CanPrint, CanCopy, CanChange, CanAddNotes, CanFillFields, 
                CanCopyAccess, CanAssemble, CanPrintFull});
        }

        public int Encrypt(string Owner, string User, int Strength, 
            int Permissions)
        {
            return (int)comType.InvokeMember("Encrypt",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Owner, User, Strength, Permissions});
        }

        public int EncryptFile(string InputFileName, 
            string OutputFileName, string Owner, string User, 
            int Strength, int Permissions)
        {
            return (int)comType.InvokeMember("EncryptFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, OutputFileName, Owner, User, Strength, 
                Permissions});
        }

        public int EncryptWithFingerprint(string Fingerprint)
        {
            return (int)comType.InvokeMember("EncryptWithFingerprint",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Fingerprint});
        }

        public int EncryptionAlgorithm()
        {
            return (int)comType.InvokeMember("EncryptionAlgorithm",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EncryptionStatus()
        {
            return (int)comType.InvokeMember("EncryptionStatus",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EncryptionStrength()
        {
            return (int)comType.InvokeMember("EncryptionStrength",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int EndPageUpdate()
        {
            return (int)comType.InvokeMember("EndPageUpdate",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string ExtractFilePageContent(string InputFileName, 
            string Password, int Page)
        {
            return (string)comType.InvokeMember("ExtractFilePageContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, Password, Page});
        }

        public string ExtractFilePageText(string InputFileName, 
            string Password, int Page, int Options)
        {
            return (string)comType.InvokeMember("ExtractFilePageText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, Password, Page, Options});
        }

        public int ExtractFilePages(string InputFileName, 
            string OutputFileName, string RangeList)
        {
            return (int)comType.InvokeMember("ExtractFilePages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, OutputFileName, RangeList});
        }

        public int ExtractPageRanges(string RangeList)
        {
            return (int)comType.InvokeMember("ExtractPageRanges",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                RangeList});
        }

        public int ExtractPages(int StartPage, int PageCount)
        {
            return (int)comType.InvokeMember("ExtractPages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartPage, PageCount});
        }

        public int FileListCount(string ListName)
        {
            return (int)comType.InvokeMember("FileListCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName});
        }

        public string FileListItem(string ListName, int Index)
        {
            return (string)comType.InvokeMember("FileListItem",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName, Index});
        }

        public int FindFonts()
        {
            return (int)comType.InvokeMember("FindFonts",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FindFormFieldByTitle(string Title)
        {
            return (int)comType.InvokeMember("FindFormFieldByTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title});
        }

        public int FindImages()
        {
            return (int)comType.InvokeMember("FindImages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FitImage(double Left, double Top, double Width, 
            double Height, int HAlign, int VAlign, int Rotate)
        {
            return (int)comType.InvokeMember("FitImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, HAlign, VAlign, Rotate});
        }

        public int FitRotatedTextBox(double Left, double Top, 
            double Width, double Height, double Angle, string Text, 
            int Options)
        {
            return (int)comType.InvokeMember("FitRotatedTextBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Angle, Text, Options});
        }

        public int FitTextBox(double Left, double Top, double Width, 
            double Height, string Text, int Options)
        {
            return (int)comType.InvokeMember("FitTextBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height, Text, Options});
        }

        public int FlattenFormField(int Index)
        {
            return (int)comType.InvokeMember("FlattenFormField",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int FontCount()
        {
            return (int)comType.InvokeMember("FontCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string FontFamily()
        {
            return (string)comType.InvokeMember("FontFamily",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FontHasKerning()
        {
            return (int)comType.InvokeMember("FontHasKerning",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string FontName()
        {
            return (string)comType.InvokeMember("FontName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string FontReference()
        {
            return (string)comType.InvokeMember("FontReference",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FontSize()
        {
            return (int)comType.InvokeMember("FontSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FontType()
        {
            return (int)comType.InvokeMember("FontType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FormFieldCount()
        {
            return (int)comType.InvokeMember("FormFieldCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int FormFieldHasParent(int Index)
        {
            return (int)comType.InvokeMember("FormFieldHasParent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int FormFieldJavaScriptAction(int Index, string ActionType, 
            string JavaScript)
        {
            return (int)comType.InvokeMember("FormFieldJavaScriptAction",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ActionType, JavaScript});
        }

        public int FormFieldWebLinkAction(int Index, string ActionType, 
            string Link)
        {
            return (int)comType.InvokeMember("FormFieldWebLinkAction",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ActionType, Link});
        }

        public string GetActionType(int ActionID)
        {
            return (string)comType.InvokeMember("GetActionType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ActionID});
        }

        public string GetAnalysisInfo(int AnalysisID, int AnalysisItem)
        {
            return (string)comType.InvokeMember("GetAnalysisInfo",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                AnalysisID, AnalysisItem});
        }

        public int GetAnnotActionID(int Index)
        {
            return (int)comType.InvokeMember("GetAnnotActionID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public double GetAnnotDblProperty(int Index, int Tag)
        {
            return (double)comType.InvokeMember("GetAnnotDblProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag});
        }

        public int GetAnnotIntProperty(int Index, int Tag)
        {
            return (int)comType.InvokeMember("GetAnnotIntProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag});
        }

        public string GetAnnotStrProperty(int Index, int Tag)
        {
            return (string)comType.InvokeMember("GetAnnotStrProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag});
        }

        public double GetBarcodeWidth(double NominalWidth, string Text, 
            int Barcode)
        {
            return (double)comType.InvokeMember("GetBarcodeWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NominalWidth, Text, Barcode});
        }

        public int GetCanvasDC(int Width, int Height)
        {
            return (int)comType.InvokeMember("GetCanvasDC",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, Height});
        }

        public string GetCatalogInformation(string Key)
        {
            return (string)comType.InvokeMember("GetCatalogInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key});
        }

        public string GetCustomInformation(string Key)
        {
            return (string)comType.InvokeMember("GetCustomInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key});
        }

        public string GetCustomKeys(int Location)
        {
            return (string)comType.InvokeMember("GetCustomKeys",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Location});
        }

        public string GetDefaultPrinterName()
        {
            return (string)comType.InvokeMember("GetDefaultPrinterName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetDestPage(int DestID)
        {
            return (int)comType.InvokeMember("GetDestPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DestID});
        }

        public int GetDestType(int DestID)
        {
            return (int)comType.InvokeMember("GetDestType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DestID});
        }

        public double GetDestValue(int DestID, int ValueKey)
        {
            return (double)comType.InvokeMember("GetDestValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DestID, ValueKey});
        }

        public string GetDocJavaScript(string ActionType)
        {
            return (string)comType.InvokeMember("GetDocJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ActionType});
        }

        public int GetDocumentID(int Index)
        {
            return (int)comType.InvokeMember("GetDocumentID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetDocumentIdentifier(int Part, int Options)
        {
            return (string)comType.InvokeMember("GetDocumentIdentifier",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Part, Options});
        }

        public string GetDocumentMetadata()
        {
            return (string)comType.InvokeMember("GetDocumentMetadata",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetDocumentResourceList()
        {
            return (string)comType.InvokeMember("GetDocumentResourceList",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetEmbeddedFileContentToFile(int Index, string FileName)
        {
            return (int)comType.InvokeMember("GetEmbeddedFileContentToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, FileName});
        }

        public byte[] GetEmbeddedFileContentToVariant(int Index)
        {
            return (byte[])comType.InvokeMember("GetEmbeddedFileContentToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetEmbeddedFileIntProperty(int Index, int Tag)
        {
            return (int)comType.InvokeMember("GetEmbeddedFileIntProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag});
        }

        public string GetEmbeddedFileStrProperty(int Index, int Tag)
        {
            return (string)comType.InvokeMember("GetEmbeddedFileStrProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag});
        }

        public string GetEncryptionFingerprint()
        {
            return (string)comType.InvokeMember("GetEncryptionFingerprint",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetFileMetadata(string InputFileName)
        {
            return (string)comType.InvokeMember("GetFileMetadata",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName});
        }

        public int GetFirstChildOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("GetFirstChildOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetFirstOutline()
        {
            return (int)comType.InvokeMember("GetFirstOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetFontID(int Index)
        {
            return (int)comType.InvokeMember("GetFontID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFontObjectNumber()
        {
            return (int)comType.InvokeMember("GetFontObjectNumber",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetFormFieldAlignment(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldAlignment",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldAnnotFlags(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldAnnotFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public double GetFormFieldBackgroundColor(int Index, 
            int ColorComponent)
        {
            return (double)comType.InvokeMember("GetFormFieldBackgroundColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorComponent});
        }

        public double GetFormFieldBorderColor(int Index, int ColorComponent)
        {
            return (double)comType.InvokeMember("GetFormFieldBorderColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorComponent});
        }

        public double GetFormFieldBorderProperty(int Index, int PropKey)
        {
            return (double)comType.InvokeMember("GetFormFieldBorderProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, PropKey});
        }

        public int GetFormFieldBorderStyle(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldBorderStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public double GetFormFieldBound(int Index, int Edge)
        {
            return (double)comType.InvokeMember("GetFormFieldBound",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Edge});
        }

        public string GetFormFieldCaption(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldCaption",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldChildTitle(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldChildTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldChoiceType(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldChoiceType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public double GetFormFieldColor(int Index, int ColorComponent)
        {
            return (double)comType.InvokeMember("GetFormFieldColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorComponent});
        }

        public int GetFormFieldComb(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldComb",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldDefaultValue(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldDefaultValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldDescription(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldDescription",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldFlags(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldFontName(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldFontName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldJavaScript(int Index, string ActionType)
        {
            return (string)comType.InvokeMember("GetFormFieldJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ActionType});
        }

        public int GetFormFieldKidCount(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldKidCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldMaxLen(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldMaxLen",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldPage(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldPrintable(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldPrintable",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldReadOnly(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldReadOnly",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldRotation(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldRotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldSubCount(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldSubCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldSubName(int Index, int SubIndex)
        {
            return (string)comType.InvokeMember("GetFormFieldSubName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, SubIndex});
        }

        public int GetFormFieldSubTempIndex(int Index, int SubIndex)
        {
            return (int)comType.InvokeMember("GetFormFieldSubTempIndex",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, SubIndex});
        }

        public int GetFormFieldTabOrder(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldTabOrder",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldTextFlags(int Index, int ValueKey)
        {
            return (int)comType.InvokeMember("GetFormFieldTextFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ValueKey});
        }

        public double GetFormFieldTextSize(int Index)
        {
            return (double)comType.InvokeMember("GetFormFieldTextSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldTitle(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetFormFieldType(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldValue(int Index)
        {
            return (string)comType.InvokeMember("GetFormFieldValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldValueByTitle(string Title)
        {
            return (string)comType.InvokeMember("GetFormFieldValueByTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title});
        }

        public int GetFormFieldVisible(int Index)
        {
            return (int)comType.InvokeMember("GetFormFieldVisible",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetFormFieldWebLink(int Index, string ActionType)
        {
            return (string)comType.InvokeMember("GetFormFieldWebLink",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ActionType});
        }

        public int GetFormFontCount()
        {
            return (int)comType.InvokeMember("GetFormFontCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetFormFontName(int FontIndex)
        {
            return (string)comType.InvokeMember("GetFormFontName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontIndex});
        }

        public string GetGlobalJavaScript(string PackageName)
        {
            return (string)comType.InvokeMember("GetGlobalJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PackageName});
        }

        public double GetHTMLTextHeight(double Width, string HTMLText)
        {
            return (double)comType.InvokeMember("GetHTMLTextHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, HTMLText});
        }

        public int GetHTMLTextLineCount(double Width, string HTMLText)
        {
            return (int)comType.InvokeMember("GetHTMLTextLineCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, HTMLText});
        }

        public double GetHTMLTextWidth(double MaxWidth, string HTMLText)
        {
            return (double)comType.InvokeMember("GetHTMLTextWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MaxWidth, HTMLText});
        }

        public int GetImageID(int Index)
        {
            return (int)comType.InvokeMember("GetImageID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int GetImagePageCount(string FileName)
        {
            return (int)comType.InvokeMember("GetImagePageCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public string GetInformation(int Key)
        {
            return (string)comType.InvokeMember("GetInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key});
        }

        public int GetKerning(string CharPair)
        {
            return (int)comType.InvokeMember("GetKerning",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CharPair});
        }

        public int GetNamedDestination(string DestName)
        {
            return (int)comType.InvokeMember("GetNamedDestination",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DestName});
        }

        public int GetNextOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("GetNextOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetObjectCount()
        {
            return (int)comType.InvokeMember("GetObjectCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetObjectSource(int ObjectNumber)
        {
            return (string)comType.InvokeMember("GetObjectSource",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ObjectNumber});
        }

        public int GetOpenActionDestination()
        {
            return (int)comType.InvokeMember("GetOpenActionDestination",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetOpenActionJavaScript()
        {
            return (string)comType.InvokeMember("GetOpenActionJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetOptionalContentGroupID(int Index)
        {
            return (int)comType.InvokeMember("GetOptionalContentGroupID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetOptionalContentGroupName(
            int OptionalContentGroupID)
        {
            return (string)comType.InvokeMember("GetOptionalContentGroupName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID});
        }

        public int GetOrigin()
        {
            return (int)comType.InvokeMember("GetOrigin",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetOutlineActionID(int OutlineID)
        {
            return (int)comType.InvokeMember("GetOutlineActionID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public double GetOutlineColor(int OutlineID, int ColorComponent)
        {
            return (double)comType.InvokeMember("GetOutlineColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, ColorComponent});
        }

        public int GetOutlineDest(int OutlineID)
        {
            return (int)comType.InvokeMember("GetOutlineDest",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetOutlineID(int Index)
        {
            return (int)comType.InvokeMember("GetOutlineID",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetOutlineJavaScript(int OutlineID)
        {
            return (string)comType.InvokeMember("GetOutlineJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public string GetOutlineOpenFile(int OutlineID)
        {
            return (string)comType.InvokeMember("GetOutlineOpenFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetOutlinePage(int OutlineID)
        {
            return (int)comType.InvokeMember("GetOutlinePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetOutlineStyle(int OutlineID)
        {
            return (int)comType.InvokeMember("GetOutlineStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public string GetOutlineWebLink(int OutlineID)
        {
            return (string)comType.InvokeMember("GetOutlineWebLink",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public double GetPageBox(int BoxType, int Dimension)
        {
            return (double)comType.InvokeMember("GetPageBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                BoxType, Dimension});
        }

        public string GetPageContent()
        {
            return (string)comType.InvokeMember("GetPageContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetPageJavaScript(string ActionType)
        {
            return (string)comType.InvokeMember("GetPageJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ActionType});
        }

        public string GetPageLGIDictContent(int DictIndex)
        {
            return (string)comType.InvokeMember("GetPageLGIDictContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DictIndex});
        }

        public int GetPageLGIDictCount()
        {
            return (int)comType.InvokeMember("GetPageLGIDictCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetPageLabel(int Page)
        {
            return (string)comType.InvokeMember("GetPageLabel",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Page});
        }

        public int GetPageLayout()
        {
            return (int)comType.InvokeMember("GetPageLayout",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int GetPageMode()
        {
            return (int)comType.InvokeMember("GetPageMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetPageText(int ExtractOptions)
        {
            return (string)comType.InvokeMember("GetPageText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ExtractOptions});
        }

        public int GetParentOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("GetParentOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int GetPrevOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("GetPrevOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public string GetPrinterBins(string PrinterName)
        {
            return (string)comType.InvokeMember("GetPrinterBins",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PrinterName});
        }

        public string GetPrinterNames()
        {
            return (string)comType.InvokeMember("GetPrinterNames",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetSubsetString(string InputStr)
        {
            return (string)comType.InvokeMember("GetSubsetString",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputStr});
        }

        public double GetTableCellDblProperty(int TableID, int RowNumber, 
            int ColumnNumber, int Tag)
        {
            return (double)comType.InvokeMember("GetTableCellDblProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, RowNumber, ColumnNumber, Tag});
        }

        public int GetTableCellIntProperty(int TableID, int RowNumber, 
            int ColumnNumber, int Tag)
        {
            return (int)comType.InvokeMember("GetTableCellIntProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, RowNumber, ColumnNumber, Tag});
        }

        public string GetTableCellStrProperty(int TableID, int RowNumber, 
            int ColumnNumber, int Tag)
        {
            return (string)comType.InvokeMember("GetTableCellStrProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, RowNumber, ColumnNumber, Tag});
        }

        public int GetTableColumnCount(int TableID)
        {
            return (int)comType.InvokeMember("GetTableColumnCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID});
        }

        public int GetTableLastDrawnRow(int TableID)
        {
            return (int)comType.InvokeMember("GetTableLastDrawnRow",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID});
        }

        public int GetTableRowCount(int TableID)
        {
            return (int)comType.InvokeMember("GetTableRowCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID});
        }

        public string GetTempPath()
        {
            return (string)comType.InvokeMember("GetTempPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double GetTextAscent()
        {
            return (double)comType.InvokeMember("GetTextAscent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double GetTextBound(int Edge)
        {
            return (double)comType.InvokeMember("GetTextBound",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Edge});
        }

        public double GetTextDescent()
        {
            return (double)comType.InvokeMember("GetTextDescent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double GetTextHeight()
        {
            return (double)comType.InvokeMember("GetTextHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double GetTextSize()
        {
            return (double)comType.InvokeMember("GetTextSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double GetTextWidth(string Text)
        {
            return (double)comType.InvokeMember("GetTextWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Text});
        }

        public int GetViewerPreferences(int Option)
        {
            return (int)comType.InvokeMember("GetViewerPreferences",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Option});
        }

        public string GetWrappedText(double Width, string Delimiter, 
            string Text)
        {
            return (string)comType.InvokeMember("GetWrappedText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, Delimiter, Text});
        }

        public string GetWrappedTextBreakString(double Width, 
            string Delimiter, string Text)
        {
            return (string)comType.InvokeMember("GetWrappedTextBreakString",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, Delimiter, Text});
        }

        public double GetWrappedTextHeight(double Width, string Text)
        {
            return (double)comType.InvokeMember("GetWrappedTextHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, Text});
        }

        public int GetWrappedTextLineCount(double Width, string Text)
        {
            return (int)comType.InvokeMember("GetWrappedTextLineCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Width, Text});
        }

        public int GetXFAFormFieldCount()
        {
            return (int)comType.InvokeMember("GetXFAFormFieldCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GetXFAFormFieldName(int Index)
        {
            return (string)comType.InvokeMember("GetXFAFormFieldName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public string GetXFAFormFieldNames(string Delimiter)
        {
            return (string)comType.InvokeMember("GetXFAFormFieldNames",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Delimiter});
        }

        public string GetXFAFormFieldValue(string XFAFieldName)
        {
            return (string)comType.InvokeMember("GetXFAFormFieldValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName});
        }

        public int GlobalJavaScriptCount()
        {
            return (int)comType.InvokeMember("GlobalJavaScriptCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string GlobalJavaScriptPackageName(int Index)
        {
            return (string)comType.InvokeMember("GlobalJavaScriptPackageName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int HasFontResources()
        {
            return (int)comType.InvokeMember("HasFontResources",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int HasPageBox(int BoxType)
        {
            return (int)comType.InvokeMember("HasPageBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                BoxType});
        }

        public int HidePage()
        {
            return (int)comType.InvokeMember("HidePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageCount()
        {
            return (int)comType.InvokeMember("ImageCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageFillColor()
        {
            return (int)comType.InvokeMember("ImageFillColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageHeight()
        {
            return (int)comType.InvokeMember("ImageHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageHorizontalResolution()
        {
            return (int)comType.InvokeMember("ImageHorizontalResolution",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageResolutionUnits()
        {
            return (int)comType.InvokeMember("ImageResolutionUnits",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageType()
        {
            return (int)comType.InvokeMember("ImageType",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageVerticalResolution()
        {
            return (int)comType.InvokeMember("ImageVerticalResolution",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImageWidth()
        {
            return (int)comType.InvokeMember("ImageWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ImportEMFFromFile(string FileName, int FontOptions, 
            int GeneralOptions)
        {
            return (int)comType.InvokeMember("ImportEMFFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName, FontOptions, GeneralOptions});
        }

        public int InsertPages(int StartPage, int PageCount)
        {
            return (int)comType.InvokeMember("InsertPages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartPage, PageCount});
        }

        public int InsertTableColumns(int TableID, int Position, 
            int NewColumnCount)
        {
            return (int)comType.InvokeMember("InsertTableColumns",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, Position, NewColumnCount});
        }

        public int InsertTableRows(int TableID, int Position, 
            int NewRowCount)
        {
            return (int)comType.InvokeMember("InsertTableRows",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, Position, NewRowCount});
        }

        public int LastErrorCode()
        {
            return (int)comType.InvokeMember("LastErrorCode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string LastRenderError()
        {
            return (string)comType.InvokeMember("LastRenderError",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int LayerCount()
        {
            return (int)comType.InvokeMember("LayerCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string LibraryVersion()
        {
            return (string)comType.InvokeMember("LibraryVersion",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int Linearized()
        {
            return (int)comType.InvokeMember("Linearized",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int LoadFromCanvasDC(double DPI, int Options)
        {
            return (int)comType.InvokeMember("LoadFromCanvasDC",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DPI, Options});
        }

        public int LoadFromFile(string FileName)
        {
            return (int)comType.InvokeMember("LoadFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int LoadFromVariant(byte[] Source)
        {
            return (int)comType.InvokeMember("LoadFromVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Source});
        }

        public int LoadState()
        {
            return (int)comType.InvokeMember("LoadState",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int MergeDocument(int DocumentID)
        {
            return (int)comType.InvokeMember("MergeDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DocumentID});
        }

        public int MergeFileList(string ListName, string OutputFileName)
        {
            return (int)comType.InvokeMember("MergeFileList",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName, OutputFileName});
        }

        public int MergeFileListFast(string ListName, string OutputFileName)
        {
            return (int)comType.InvokeMember("MergeFileListFast",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ListName, OutputFileName});
        }

        public int MergeFiles(string FirstFileName, string SecondFileName, 
            string OutputFileName)
        {
            return (int)comType.InvokeMember("MergeFiles",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FirstFileName, SecondFileName, OutputFileName});
        }

        public int MergeTableCells(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn)
        {
            return (int)comType.InvokeMember("MergeTableCells",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn});
        }

        public int MoveLayer(int FromPosition, int ToPosition)
        {
            return (int)comType.InvokeMember("MoveLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FromPosition, ToPosition});
        }

        public int MoveOutlineAfter(int OutlineID, int SiblingID)
        {
            return (int)comType.InvokeMember("MoveOutlineAfter",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, SiblingID});
        }

        public int MoveOutlineBefore(int OutlineID, int SiblingID)
        {
            return (int)comType.InvokeMember("MoveOutlineBefore",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, SiblingID});
        }

        public int MovePage(int NewPosition)
        {
            return (int)comType.InvokeMember("MovePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPosition});
        }

        public int MovePath(double NewX, double NewY)
        {
            return (int)comType.InvokeMember("MovePath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewX, NewY});
        }

        public int MultiplyScale(double MultScaleBy)
        {
            return (int)comType.InvokeMember("MultiplyScale",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MultScaleBy});
        }

        public string NewCustomPrinter(string OriginalPrinterName)
        {
            return (string)comType.InvokeMember("NewCustomPrinter",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OriginalPrinterName});
        }

        public int NewDocument()
        {
            return (int)comType.InvokeMember("NewDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int NewFormField(string Title, int FieldType)
        {
            return (int)comType.InvokeMember("NewFormField",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title, FieldType});
        }

        public int NewLayer()
        {
            return (int)comType.InvokeMember("NewLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int NewOptionalContentGroup(string GroupName)
        {
            return (int)comType.InvokeMember("NewOptionalContentGroup",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                GroupName});
        }

        public int NewOutline(int Parent, string Title, int DestPage, 
            double DestPosition)
        {
            return (int)comType.InvokeMember("NewOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Parent, Title, DestPage, DestPosition});
        }

        public int NewPage()
        {
            return (int)comType.InvokeMember("NewPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int NewPages(int PageCount)
        {
            return (int)comType.InvokeMember("NewPages",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PageCount});
        }

        public int NewPostScriptXObject(string PS)
        {
            return (int)comType.InvokeMember("NewPostScriptXObject",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PS});
        }

        public int NewRGBAxialShader(string ShaderName, double StartX, 
            double StartY, double StartRed, double StartGreen, 
            double StartBlue, double EndX, double EndY, double EndRed, 
            double EndGreen, double EndBlue, int Extend)
        {
            return (int)comType.InvokeMember("NewRGBAxialShader",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ShaderName, StartX, StartY, StartRed, StartGreen, 
                StartBlue, EndX, EndY, EndRed, EndGreen, EndBlue, Extend});
        }

        public int NewStaticOutline(int Parent, string Title)
        {
            return (int)comType.InvokeMember("NewStaticOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Parent, Title});
        }

        public int OpenOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("OpenOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int OptionalContentGroupCount()
        {
            return (int)comType.InvokeMember("OptionalContentGroupCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int OutlineCount()
        {
            return (int)comType.InvokeMember("OutlineCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string OutlineTitle(int OutlineID)
        {
            return (string)comType.InvokeMember("OutlineTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int PageCount()
        {
            return (int)comType.InvokeMember("PageCount",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double PageHeight()
        {
            return (double)comType.InvokeMember("PageHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int PageJavaScriptAction(string ActionType, 
            string JavaScript)
        {
            return (int)comType.InvokeMember("PageJavaScriptAction",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ActionType, JavaScript});
        }

        public int PageRotation()
        {
            return (int)comType.InvokeMember("PageRotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public double PageWidth()
        {
            return (double)comType.InvokeMember("PageWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int PrintDocument(string PrinterName, int StartPage, 
            int EndPage, int Options)
        {
            return (int)comType.InvokeMember("PrintDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PrinterName, StartPage, EndPage, Options});
        }

        public int PrintOptions(int PageScaling, int AutoRotateCenter, 
            string Title)
        {
            return (int)comType.InvokeMember("PrintOptions",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PageScaling, AutoRotateCenter, Title});
        }

        public int RemoveAppearanceStream(int Index)
        {
            return (int)comType.InvokeMember("RemoveAppearanceStream",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int RemoveDocument(int DocumentID)
        {
            return (int)comType.InvokeMember("RemoveDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DocumentID});
        }

        public int RemoveOutline(int OutlineID)
        {
            return (int)comType.InvokeMember("RemoveOutline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID});
        }

        public int RemoveSharedLayers()
        {
            return (int)comType.InvokeMember("RemoveSharedLayers",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int RemoveStyle(string StyleName)
        {
            return (int)comType.InvokeMember("RemoveStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StyleName});
        }

        public int RenderDocumentToFile(int DPI, int StartPage, 
            int EndPage, int Options, string FileName)
        {
            return (int)comType.InvokeMember("RenderDocumentToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DPI, StartPage, EndPage, Options, FileName});
        }

        public int RenderPageToDC(int DPI, int Page, int DC)
        {
            return (int)comType.InvokeMember("RenderPageToDC",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DPI, Page, DC});
        }

        public int RenderPageToFile(int DPI, int Page, int Options, 
            string FileName)
        {
            return (int)comType.InvokeMember("RenderPageToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DPI, Page, Options, FileName});
        }

        public byte[] RenderPageToVariant(int DPI, int Page, int Options)
        {
            return (byte[])comType.InvokeMember("RenderPageToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DPI, Page, Options});
        }

        public int ReplaceFonts()
        {
            return (int)comType.InvokeMember("ReplaceFonts",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int ReplaceImage(int OriginalImageID, int NewImageID)
        {
            return (int)comType.InvokeMember("ReplaceImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OriginalImageID, NewImageID});
        }

        public int ReplaceTag(string Tag, string NewValue)
        {
            return (int)comType.InvokeMember("ReplaceTag",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Tag, NewValue});
        }

        public int RetrieveCustomDataToFile(string Key, string FileName, 
            int Location)
        {
            return (int)comType.InvokeMember("RetrieveCustomDataToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, FileName, Location});
        }

        public string RetrieveCustomDataToString(string Key, int Location)
        {
            return (string)comType.InvokeMember("RetrieveCustomDataToString",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, Location});
        }

        public byte[] RetrieveCustomDataToVariant(string Key, int Location)
        {
            return (byte[])comType.InvokeMember("RetrieveCustomDataToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, Location});
        }

        public int ReverseImage(int Reset)
        {
            return (int)comType.InvokeMember("ReverseImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Reset});
        }

        public int RotatePage(int PageRotation)
        {
            return (int)comType.InvokeMember("RotatePage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PageRotation});
        }

        public int SaveFontToFile(string FileName)
        {
            return (int)comType.InvokeMember("SaveFontToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int SaveImageToFile(string FileName)
        {
            return (int)comType.InvokeMember("SaveImageToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int SaveState()
        {
            return (int)comType.InvokeMember("SaveState",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SaveStyle(string StyleName)
        {
            return (int)comType.InvokeMember("SaveStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StyleName});
        }

        public int SaveToFile(string FileName)
        {
            return (int)comType.InvokeMember("SaveToFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public byte[] SaveToVariant()
        {
            return (byte[])comType.InvokeMember("SaveToVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SecurityInfo(int SecurityItem)
        {
            return (int)comType.InvokeMember("SecurityInfo",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                SecurityItem});
        }

        public int SelectDocument(int DocumentID)
        {
            return (int)comType.InvokeMember("SelectDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DocumentID});
        }

        public int SelectFont(int FontID)
        {
            return (int)comType.InvokeMember("SelectFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontID});
        }

        public int SelectImage(int ImageID)
        {
            return (int)comType.InvokeMember("SelectImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ImageID});
        }

        public int SelectLayer(int NewLayer)
        {
            return (int)comType.InvokeMember("SelectLayer",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewLayer});
        }

        public int SelectPage(int PageNumber)
        {
            return (int)comType.InvokeMember("SelectPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PageNumber});
        }

        public int SelectedDocument()
        {
            return (int)comType.InvokeMember("SelectedDocument",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SelectedFont()
        {
            return (int)comType.InvokeMember("SelectedFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SelectedImage()
        {
            return (int)comType.InvokeMember("SelectedImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SelectedPage()
        {
            return (int)comType.InvokeMember("SelectedPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SetAdvancePassword(string Password)
        {
            return (int)comType.InvokeMember("SetAdvancePassword",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Password});
        }

        public int SetAnnotContents(int Index, string NewContents)
        {
            return (int)comType.InvokeMember("SetAnnotContents",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewContents});
        }

        public int SetAnnotStrProperty(int Index, int Tag, string NewValue)
        {
            return (int)comType.InvokeMember("SetAnnotStrProperty",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Tag, NewValue});
        }

        public int SetBaseURL(string NewBaseURL)
        {
            return (int)comType.InvokeMember("SetBaseURL",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewBaseURL});
        }

        public int SetBlendMode(int BlendMode)
        {
            return (int)comType.InvokeMember("SetBlendMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                BlendMode});
        }

        public int SetBreakString(string NewBreakString)
        {
            return (int)comType.InvokeMember("SetBreakString",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewBreakString});
        }

        public int SetCapturedPageOptional(int CaptureID, 
            int OptionalContentGroupID)
        {
            return (int)comType.InvokeMember("SetCapturedPageOptional",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CaptureID, OptionalContentGroupID});
        }

        public int SetCatalogInformation(string Key, string NewValue)
        {
            return (int)comType.InvokeMember("SetCatalogInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, NewValue});
        }

        public int SetCharWidth(int CharCode, int NewWidth)
        {
            return (int)comType.InvokeMember("SetCharWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CharCode, NewWidth});
        }

        public int SetClippingPath()
        {
            return (int)comType.InvokeMember("SetClippingPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SetClippingPathEvenOdd()
        {
            return (int)comType.InvokeMember("SetClippingPathEvenOdd",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SetCropBox(double Left, double Top, double Width, 
            double Height)
        {
            return (int)comType.InvokeMember("SetCropBox",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Left, Top, Width, Height});
        }

        public int SetCustomInformation(string Key, string NewValue)
        {
            return (int)comType.InvokeMember("SetCustomInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, NewValue});
        }

        public int SetCustomLineDash(string DashPattern, double DashPhase)
        {
            return (int)comType.InvokeMember("SetCustomLineDash",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DashPattern, DashPhase});
        }

        public int SetPDFiumFileName(string FileName)
        {
            return (int)comType.InvokeMember("SetPDFiumFileName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }


        public int SetDocumentMetadata(string XMP)
        {
            return (int)comType.InvokeMember("SetDocumentMetadata",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XMP});
        }

        public int SetFillColor(double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetFillColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Red, Green, Blue});
        }

        public int SetFillColorCMYK(double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetFillColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                C, M, Y, K});
        }

        public int SetFillColorSep(string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetFillColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, Tint});
        }

        public int SetFillShader(string ShaderName)
        {
            return (int)comType.InvokeMember("SetFillShader",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ShaderName});
        }

        public int SetFontEncoding(int Encoding)
        {
            return (int)comType.InvokeMember("SetFontEncoding",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Encoding});
        }

        public int SetFontFlags(int Fixed, int Serif, int Symbolic, 
            int Script, int Italic, int AllCap, int SmallCap, int ForceBold)
        {
            return (int)comType.InvokeMember("SetFontFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Fixed, Serif, Symbolic, Script, Italic, AllCap, SmallCap, 
                ForceBold});
        }

        public int SetFormFieldAlignment(int Index, int Alignment)
        {
            return (int)comType.InvokeMember("SetFormFieldAlignment",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Alignment});
        }

        public int SetFormFieldAnnotFlags(int Index, int NewFlags)
        {
            return (int)comType.InvokeMember("SetFormFieldAnnotFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewFlags});
        }

        public int SetFormFieldBackgroundColor(int Index, double Red, 
            double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetFormFieldBackgroundColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Red, Green, Blue});
        }

        public int SetFormFieldBackgroundColorCMYK(int Index, double C, 
            double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetFormFieldBackgroundColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, C, M, Y, K});
        }

        public int SetFormFieldBackgroundColorSep(int Index, 
            string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetFormFieldBackgroundColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorName, Tint});
        }

        public int SetFormFieldBorderColor(int Index, double Red, 
            double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetFormFieldBorderColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Red, Green, Blue});
        }

        public int SetFormFieldBorderColorCMYK(int Index, double C, 
            double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetFormFieldBorderColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, C, M, Y, K});
        }

        public int SetFormFieldBorderColorSep(int Index, string ColorName, 
            double Tint)
        {
            return (int)comType.InvokeMember("SetFormFieldBorderColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorName, Tint});
        }

        public int SetFormFieldBorderStyle(int Index, double Width, 
            int Style, double DashOn, double DashOff)
        {
            return (int)comType.InvokeMember("SetFormFieldBorderStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Width, Style, DashOn, DashOff});
        }

        public int SetFormFieldBounds(int Index, double Left, double Top, 
            double Width, double Height)
        {
            return (int)comType.InvokeMember("SetFormFieldBounds",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Left, Top, Width, Height});
        }

        public int SetFormFieldCalcOrder(int Index, int Order)
        {
            return (int)comType.InvokeMember("SetFormFieldCalcOrder",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Order});
        }

        public int SetFormFieldCaption(int Index, string NewCaption)
        {
            return (int)comType.InvokeMember("SetFormFieldCaption",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewCaption});
        }

        public int SetFormFieldCheckStyle(int Index, int CheckStyle, 
            int Position)
        {
            return (int)comType.InvokeMember("SetFormFieldCheckStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, CheckStyle, Position});
        }

        public int SetFormFieldChildTitle(int Index, string NewTitle)
        {
            return (int)comType.InvokeMember("SetFormFieldChildTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewTitle});
        }

        public int SetFormFieldColor(int Index, double Red, double Green, 
            double Blue)
        {
            return (int)comType.InvokeMember("SetFormFieldColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Red, Green, Blue});
        }

        public int SetFormFieldColorCMYK(int Index, double C, double M, 
            double Y, double K)
        {
            return (int)comType.InvokeMember("SetFormFieldColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, C, M, Y, K});
        }

        public int SetFormFieldColorSep(int Index, string ColorName, 
            double Tint)
        {
            return (int)comType.InvokeMember("SetFormFieldColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ColorName, Tint});
        }

        public int SetFormFieldComb(int Index, int Comb)
        {
            return (int)comType.InvokeMember("SetFormFieldComb",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Comb});
        }

        public int SetFormFieldDefaultValue(int Index, 
            string NewDefaultValue)
        {
            return (int)comType.InvokeMember("SetFormFieldDefaultValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewDefaultValue});
        }

        public int SetFormFieldDescription(int Index, string NewValue)
        {
            return (int)comType.InvokeMember("SetFormFieldDescription",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewValue});
        }

        public int SetFormFieldFlags(int Index, int NewFlags)
        {
            return (int)comType.InvokeMember("SetFormFieldFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewFlags});
        }

        public int SetFormFieldFont(int Index, int FontIndex)
        {
            return (int)comType.InvokeMember("SetFormFieldFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, FontIndex});
        }

        public int SetFormFieldHighlightMode(int Index, int NewMode)
        {
            return (int)comType.InvokeMember("SetFormFieldHighlightMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewMode});
        }

        public int SetFormFieldIcon(int Index, int IconType, int CaptureID)
        {
            return (int)comType.InvokeMember("SetFormFieldIcon",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, IconType, CaptureID});
        }

        public int SetFormFieldIconStyle(int Index, int Placement, 
            int Scale, int ScaleType, int HorizontalShift, 
            int VerticalShift)
        {
            return (int)comType.InvokeMember("SetFormFieldIconStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Placement, Scale, ScaleType, HorizontalShift, 
                VerticalShift});
        }

        public int SetFormFieldMaxLen(int Index, int NewMaxLen)
        {
            return (int)comType.InvokeMember("SetFormFieldMaxLen",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewMaxLen});
        }

        public int SetFormFieldOptional(int Index, 
            int OptionalContentGroupID)
        {
            return (int)comType.InvokeMember("SetFormFieldOptional",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, OptionalContentGroupID});
        }

        public int SetFormFieldPage(int Index, int NewPage)
        {
            return (int)comType.InvokeMember("SetFormFieldPage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewPage});
        }

        public int SetFormFieldPrintable(int Index, int Printable)
        {
            return (int)comType.InvokeMember("SetFormFieldPrintable",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Printable});
        }

        public int SetFormFieldReadOnly(int Index, int ReadOnly)
        {
            return (int)comType.InvokeMember("SetFormFieldReadOnly",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, ReadOnly});
        }

        public int SetFormFieldRotation(int Index, int Angle)
        {
            return (int)comType.InvokeMember("SetFormFieldRotation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Angle});
        }

        public int SetFormFieldStandardFont(int Index, int StandardFontID)
        {
            return (int)comType.InvokeMember("SetFormFieldStandardFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, StandardFontID});
        }

        public int SetFormFieldTabOrder(int Index, int Order)
        {
            return (int)comType.InvokeMember("SetFormFieldTabOrder",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Order});
        }

        public int SetFormFieldTextFlags(int Index, int Multiline, 
            int Password, int FileSelect, int DoNotSpellCheck, 
            int DoNotScroll)
        {
            return (int)comType.InvokeMember("SetFormFieldTextFlags",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Multiline, Password, FileSelect, DoNotSpellCheck, 
                DoNotScroll});
        }

        public int SetFormFieldTextSize(int Index, double NewTextSize)
        {
            return (int)comType.InvokeMember("SetFormFieldTextSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewTextSize});
        }

        public int SetFormFieldValue(int Index, string NewValue)
        {
            return (int)comType.InvokeMember("SetFormFieldValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, NewValue});
        }

        public int SetFormFieldValueByTitle(string Title, string NewValue)
        {
            return (int)comType.InvokeMember("SetFormFieldValueByTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Title, NewValue});
        }

        public int SetFormFieldVisible(int Index, int Visible)
        {
            return (int)comType.InvokeMember("SetFormFieldVisible",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index, Visible});
        }

        public int SetGDIPlusFileName(string DLLFileName)
        {
            return (int)comType.InvokeMember("SetGDIPlusFileName",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DLLFileName});
        }

        public int SetGDIPlusOptions(int OptionID, int NewValue)
        {
            return (int)comType.InvokeMember("SetGDIPlusOptions",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionID, NewValue});
        }

        public int SetHTMLBoldFont(string FontSet, int FontID)
        {
            return (int)comType.InvokeMember("SetHTMLBoldFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontSet, FontID});
        }

        public int SetHTMLBoldItalicFont(string FontSet, int FontID)
        {
            return (int)comType.InvokeMember("SetHTMLBoldItalicFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontSet, FontID});
        }

        public int SetHTMLItalicFont(string FontSet, int FontID)
        {
            return (int)comType.InvokeMember("SetHTMLItalicFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontSet, FontID});
        }

        public int SetHTMLNormalFont(string FontSet, int FontID)
        {
            return (int)comType.InvokeMember("SetHTMLNormalFont",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FontSet, FontID});
        }

        public int SetImageAsMask(int MaskType)
        {
            return (int)comType.InvokeMember("SetImageAsMask",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MaskType});
        }

        public int SetImageMask(double FromRed, double FromGreen, 
            double FromBlue, double ToRed, double ToGreen, double ToBlue)
        {
            return (int)comType.InvokeMember("SetImageMask",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FromRed, FromGreen, FromBlue, ToRed, ToGreen, ToBlue});
        }

        public int SetImageMaskCMYK(double FromC, double FromM, 
            double FromY, double FromK, double ToC, double ToM, 
            double ToY, double ToK)
        {
            return (int)comType.InvokeMember("SetImageMaskCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FromC, FromM, FromY, FromK, ToC, ToM, ToY, ToK});
        }

        public int SetImageMaskFromImage(int ImageID)
        {
            return (int)comType.InvokeMember("SetImageMaskFromImage",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ImageID});
        }

        public int SetImageOptional(int OptionalContentGroupID)
        {
            return (int)comType.InvokeMember("SetImageOptional",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID});
        }

        public int SetInformation(int Key, string NewValue)
        {
            return (int)comType.InvokeMember("SetInformation",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, NewValue});
        }

        public int SetJPEGQuality(int Quality)
        {
            return (int)comType.InvokeMember("SetJPEGQuality",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Quality});
        }

        public int SetJavaScriptMode(int JSMode)
        {
            return (int)comType.InvokeMember("SetJavaScriptMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                JSMode});
        }

        public int SetKerning(string CharPair, int Adjustment)
        {
            return (int)comType.InvokeMember("SetKerning",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CharPair, Adjustment});
        }

        public int SetLayerOptional(int OptionalContentGroupID)
        {
            return (int)comType.InvokeMember("SetLayerOptional",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID});
        }

        public int SetLineCap(int LineCap)
        {
            return (int)comType.InvokeMember("SetLineCap",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                LineCap});
        }

        public int SetLineColor(double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetLineColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Red, Green, Blue});
        }

        public int SetLineColorCMYK(double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetLineColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                C, M, Y, K});
        }

        public int SetLineColorSep(string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetLineColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, Tint});
        }

        public int SetLineDash(double DashOn, double DashOff)
        {
            return (int)comType.InvokeMember("SetLineDash",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DashOn, DashOff});
        }

        public int SetLineJoin(int LineJoin)
        {
            return (int)comType.InvokeMember("SetLineJoin",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                LineJoin});
        }

        public int SetLineShader(string ShaderName)
        {
            return (int)comType.InvokeMember("SetLineShader",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ShaderName});
        }

        public int SetLineWidth(double LineWidth)
        {
            return (int)comType.InvokeMember("SetLineWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                LineWidth});
        }

        public int SetMeasurementUnits(int MeasurementUnits)
        {
            return (int)comType.InvokeMember("SetMeasurementUnits",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MeasurementUnits});
        }

        public int SetNeedAppearances(int NewValue)
        {
            return (int)comType.InvokeMember("SetNeedAppearances",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewValue});
        }

        public int SetOpenActionDestination(int OpenPage, int Zoom)
        {
            return (int)comType.InvokeMember("SetOpenActionDestination",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OpenPage, Zoom});
        }

        public int SetOpenActionDestinationFull(int OpenPage, int Zoom, 
            int DestType, double Left, double Top, double Right, 
            double Bottom)
        {
            return (int)comType.InvokeMember("SetOpenActionDestinationFull",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OpenPage, Zoom, DestType, Left, Top, Right, Bottom});
        }

        public int SetOpenActionJavaScript(string JavaScript)
        {
            return (int)comType.InvokeMember("SetOpenActionJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                JavaScript});
        }

        public int SetOpenActionMenu(string MenuItem)
        {
            return (int)comType.InvokeMember("SetOpenActionMenu",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MenuItem});
        }

        public int SetOptionalContentGroupPrintable(
            int OptionalContentGroupID, int Printable)
        {
            return (int)comType.InvokeMember("SetOptionalContentGroupPrintable",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID, Printable});
        }

        public int SetOptionalContentGroupVisible(
            int OptionalContentGroupID, int Visible)
        {
            return (int)comType.InvokeMember("SetOptionalContentGroupVisible",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OptionalContentGroupID, Visible});
        }

        public int SetOrigin(int Origin)
        {
            return (int)comType.InvokeMember("SetOrigin",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Origin});
        }

        public int SetOutlineColor(int OutlineID, double Red, 
            double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetOutlineColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, Red, Green, Blue});
        }

        public int SetOutlineDestination(int OutlineID, int DestPage, 
            double DestPosition)
        {
            return (int)comType.InvokeMember("SetOutlineDestination",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, DestPage, DestPosition});
        }

        public int SetOutlineDestinationFull(int OutlineID, int DestPage, 
            int Zoom, int DestType, double Left, double Top, double Right, 
            double Bottom)
        {
            return (int)comType.InvokeMember("SetOutlineDestinationFull",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, DestPage, Zoom, DestType, Left, Top, Right, 
                Bottom});
        }

        public int SetOutlineDestinationZoom(int OutlineID, int DestPage, 
            double DestPosition, int Zoom)
        {
            return (int)comType.InvokeMember("SetOutlineDestinationZoom",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, DestPage, DestPosition, Zoom});
        }

        public int SetOutlineJavaScript(int OutlineID, string JavaScript)
        {
            return (int)comType.InvokeMember("SetOutlineJavaScript",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, JavaScript});
        }

        public int SetOutlineOpenFile(int OutlineID, string FileName)
        {
            return (int)comType.InvokeMember("SetOutlineOpenFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, FileName});
        }

        public int SetOutlineStyle(int OutlineID, int SetItalic, 
            int SetBold)
        {
            return (int)comType.InvokeMember("SetOutlineStyle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, SetItalic, SetBold});
        }

        public int SetOutlineTitle(int OutlineID, string NewTitle)
        {
            return (int)comType.InvokeMember("SetOutlineTitle",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, NewTitle});
        }

        public int SetOutlineWebLink(int OutlineID, string Link)
        {
            return (int)comType.InvokeMember("SetOutlineWebLink",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                OutlineID, Link});
        }

        public int SetPNGTransparencyColor(int RedByte, int GreenByte, 
            int BlueByte)
        {
            return (int)comType.InvokeMember("SetPNGTransparencyColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                RedByte, GreenByte, BlueByte});
        }

        public int SetPageActionMenu(string MenuItem)
        {
            return (int)comType.InvokeMember("SetPageActionMenu",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                MenuItem});
        }

        public int SetPageContent(string NewContent)
        {
            return (int)comType.InvokeMember("SetPageContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewContent});
        }

        public int SetPageDimensions(double NewPageWidth, 
            double NewPageHeight)
        {
            return (int)comType.InvokeMember("SetPageDimensions",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPageWidth, NewPageHeight});
        }

        public int SetPageLayout(int NewPageLayout)
        {
            return (int)comType.InvokeMember("SetPageLayout",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPageLayout});
        }

        public int SetPageMode(int NewPageMode)
        {
            return (int)comType.InvokeMember("SetPageMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPageMode});
        }

        public int SetPageSize(string PaperName)
        {
            return (int)comType.InvokeMember("SetPageSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                PaperName});
        }

        public int SetPageThumbnail()
        {
            return (int)comType.InvokeMember("SetPageThumbnail",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public int SetPageTransparencyGroup(int CS, int Isolate, 
            int Knockout)
        {
            return (int)comType.InvokeMember("SetPageTransparencyGroup",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CS, Isolate, Knockout});
        }

        public int SetPassword(string Password)
        {
            return (int)comType.InvokeMember("SetPassword",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Password});
        }

        public int SetPrecision(int NewPrecision)
        {
            return (int)comType.InvokeMember("SetPrecision",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPrecision});
        }

        public int SetScale(double NewScale)
        {
            return (int)comType.InvokeMember("SetScale",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewScale});
        }

        public int SetTableBorderColor(int TableID, int BorderIndex, 
            double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetTableBorderColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, BorderIndex, Red, Green, Blue});
        }

        public int SetTableBorderColorCMYK(int TableID, int BorderIndex, 
            double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetTableBorderColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, BorderIndex, C, M, Y, K});
        }

        public int SetTableBorderWidth(int TableID, int BorderIndex, 
            double NewWidth)
        {
            return (int)comType.InvokeMember("SetTableBorderWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, BorderIndex, NewWidth});
        }

        public int SetTableCellAlignment(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, 
            int NewCellAlignment)
        {
            return (int)comType.InvokeMember("SetTableCellAlignment",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                NewCellAlignment});
        }

        public int SetTableCellBackgroundColor(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, double Red, 
            double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetTableCellBackgroundColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, Red, 
                Green, Blue});
        }

        public int SetTableCellBackgroundColorCMYK(int TableID, 
            int FirstRow, int FirstColumn, int LastRow, int LastColumn, 
            double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetTableCellBackgroundColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, C, M, 
                Y, K});
        }

        public int SetTableCellBorderColor(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, int BorderIndex, 
            double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetTableCellBorderColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                BorderIndex, Red, Green, Blue});
        }

        public int SetTableCellBorderColorCMYK(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, int BorderIndex, 
            double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetTableCellBorderColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                BorderIndex, C, M, Y, K});
        }

        public int SetTableCellBorderWidth(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, int BorderIndex, 
            double NewWidth)
        {
            return (int)comType.InvokeMember("SetTableCellBorderWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                BorderIndex, NewWidth});
        }

        public int SetTableCellContent(int TableID, int RowNumber, 
            int ColumnNumber, string HTMLText)
        {
            return (int)comType.InvokeMember("SetTableCellContent",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, RowNumber, ColumnNumber, HTMLText});
        }

        public int SetTableCellPadding(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, int BorderIndex, 
            double NewPadding)
        {
            return (int)comType.InvokeMember("SetTableCellPadding",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                BorderIndex, NewPadding});
        }

        public int SetTableCellTextColor(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, double Red, 
            double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetTableCellTextColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, Red, 
                Green, Blue});
        }

        public int SetTableCellTextColorCMYK(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, double C, 
            double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetTableCellTextColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, C, M, 
                Y, K});
        }

        public int SetTableCellTextSize(int TableID, int FirstRow, 
            int FirstColumn, int LastRow, int LastColumn, 
            double NewTextSize)
        {
            return (int)comType.InvokeMember("SetTableCellTextSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, FirstColumn, LastRow, LastColumn, 
                NewTextSize});
        }

        public int SetTableColumnWidth(int TableID, int FirstColumn, 
            int LastColumn, double NewWidth)
        {
            return (int)comType.InvokeMember("SetTableColumnWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstColumn, LastColumn, NewWidth});
        }

        public int SetTableRowHeight(int TableID, int FirstRow, 
            int LastRow, double NewHeight)
        {
            return (int)comType.InvokeMember("SetTableRowHeight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TableID, FirstRow, LastRow, NewHeight});
        }

        public int SetTempFile(string FileName)
        {
            return (int)comType.InvokeMember("SetTempFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                FileName});
        }

        public int SetTempPath(string NewPath)
        {
            return (int)comType.InvokeMember("SetTempPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                NewPath});
        }

        public int SetTextAlign(int TextAlign)
        {
            return (int)comType.InvokeMember("SetTextAlign",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TextAlign});
        }

        public int SetTextCharSpacing(double CharSpacing)
        {
            return (int)comType.InvokeMember("SetTextCharSpacing",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CharSpacing});
        }

        public int SetTextColor(double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetTextColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Red, Green, Blue});
        }

        public int SetTextColorCMYK(double C, double M, double Y, double K)
        {
            return (int)comType.InvokeMember("SetTextColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                C, M, Y, K});
        }

        public int SetTextColorSep(string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetTextColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, Tint});
        }

        public int SetTextHighlight(int Highlight)
        {
            return (int)comType.InvokeMember("SetTextHighlight",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Highlight});
        }

        public int SetTextHighlightColor(double Red, double Green, 
            double Blue)
        {
            return (int)comType.InvokeMember("SetTextHighlightColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Red, Green, Blue});
        }

        public int SetTextHighlightColorCMYK(double C, double M, double Y, 
            double K)
        {
            return (int)comType.InvokeMember("SetTextHighlightColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                C, M, Y, K});
        }

        public int SetTextHighlightColorSep(string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetTextHighlightColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, Tint});
        }

        public int SetTextMode(int TextMode)
        {
            return (int)comType.InvokeMember("SetTextMode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TextMode});
        }

        public int SetTextRise(double Rise)
        {
            return (int)comType.InvokeMember("SetTextRise",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Rise});
        }

        public int SetTextScaling(double ScalePercentage)
        {
            return (int)comType.InvokeMember("SetTextScaling",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ScalePercentage});
        }

        public int SetTextShader(string ShaderName)
        {
            return (int)comType.InvokeMember("SetTextShader",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ShaderName});
        }

        public int SetTextSize(double TextSize)
        {
            return (int)comType.InvokeMember("SetTextSize",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                TextSize});
        }

        public int SetTextSpacing(double Spacing)
        {
            return (int)comType.InvokeMember("SetTextSpacing",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Spacing});
        }

        public int SetTextUnderline(int Underline)
        {
            return (int)comType.InvokeMember("SetTextUnderline",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Underline});
        }

        public int SetTextUnderlineColor(double Red, double Green, 
            double Blue)
        {
            return (int)comType.InvokeMember("SetTextUnderlineColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Red, Green, Blue});
        }

        public int SetTextUnderlineColorCMYK(double C, double M, double Y, 
            double K)
        {
            return (int)comType.InvokeMember("SetTextUnderlineColorCMYK",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                C, M, Y, K});
        }

        public int SetTextUnderlineColorSep(string ColorName, double Tint)
        {
            return (int)comType.InvokeMember("SetTextUnderlineColorSep",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                ColorName, Tint});
        }

        public int SetTextUnderlineDash(double DashOn, double DashOff)
        {
            return (int)comType.InvokeMember("SetTextUnderlineDash",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                DashOn, DashOff});
        }

        public int SetTextWordSpacing(double WordSpacing)
        {
            return (int)comType.InvokeMember("SetTextWordSpacing",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                WordSpacing});
        }

        public int SetTransparency(int Transparency)
        {
            return (int)comType.InvokeMember("SetTransparency",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Transparency});
        }

        public int SetViewerPreferences(int Option, int NewValue)
        {
            return (int)comType.InvokeMember("SetViewerPreferences",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Option, NewValue});
        }

        public int SetXFAFormFieldAccess(string XFAFieldName, int NewAccess)
        {
            return (int)comType.InvokeMember("SetXFAFormFieldAccess",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName, NewAccess});
        }

        public int SetXFAFormFieldBorderColor(string XFAFieldName, 
            double Red, double Green, double Blue)
        {
            return (int)comType.InvokeMember("SetXFAFormFieldBorderColor",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName, Red, Green, Blue});
        }

        public int SetXFAFormFieldBorderPresence(string XFAFieldName, 
            int NewPresence)
        {
            return (int)comType.InvokeMember("SetXFAFormFieldBorderPresence",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName, NewPresence});
        }

        public int SetXFAFormFieldBorderWidth(string XFAFieldName, 
            double BorderWidth)
        {
            return (int)comType.InvokeMember("SetXFAFormFieldBorderWidth",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName, BorderWidth});
        }

        public int SetXFAFormFieldValue(string XFAFieldName, 
            string NewValue)
        {
            return (int)comType.InvokeMember("SetXFAFormFieldValue",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                XFAFieldName, NewValue});
        }

        public int SetupPrinter(string CustomPrinterName, 
            int Setting, int NewValue)
        {
            return (int)comType.InvokeMember("SetupPrinter",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                CustomPrinterName, Setting, NewValue});
        }

        public int SignFile(string InputFileName, string OpenPassword, 
            string SignatureFieldName, string OutputFileName, 
            string PFXFileName, string PFXPassword, string Reason, 
            string Location, string ContactInfo)
        {
            return (int)comType.InvokeMember("SignFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                InputFileName, OpenPassword, SignatureFieldName, 
                OutputFileName, PFXFileName, PFXPassword, Reason, 
                Location, ContactInfo});
        }

        public int SplitPageText(int Options)
        {
            return (int)comType.InvokeMember("SplitPageText",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Options});
        }

        public int StartPath(double StartX, double StartY)
        {
            return (int)comType.InvokeMember("StartPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                StartX, StartY});
        }

        public int StoreCustomDataFromFile(string Key, string FileName, 
            int Location, int Options)
        {
            return (int)comType.InvokeMember("StoreCustomDataFromFile",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, FileName, Location, Options});
        }

        public int StoreCustomDataFromString(string Key, string NewValue, 
            int Location, int Options)
        {
            return (int)comType.InvokeMember("StoreCustomDataFromString",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, NewValue, Location, Options});
        }

        public int StoreCustomDataFromVariant(string Key, byte[] NewValue, 
            int Location, int Options)
        {
            return (int)comType.InvokeMember("StoreCustomDataFromVariant",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Key, NewValue, Location, Options});
        }

        public int TestTempPath()
        {
            return (int)comType.InvokeMember("TestTempPath",
                BindingFlags.InvokeMethod, null, comObject, new object[] {});
        }

        public string ToPDFUnicode(string Input)
        {
            return (string)comType.InvokeMember("ToPDFUnicode",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Input});
        }

        public int UpdateAppearanceStream(int Index)
        {
            return (int)comType.InvokeMember("UpdateAppearanceStream",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Index});
        }

        public int UseKerning(int Kern)
        {
            return (int)comType.InvokeMember("UseKerning",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                Kern});
        }

        public int UseUnsafeLayers(int SafetyLevel)
        {
            return (int)comType.InvokeMember("UseUnsafeLayers",
                BindingFlags.InvokeMethod, null, comObject, new object[] {
                SafetyLevel});
        }

    }
}
