// PDF Library DLL Edition
// Version 2.3.3

// Copyright 2007-2019 losLab


// C# import header for .NET
// https://www.loslab.com/

using System;
using System.Text;
using System.Collections.Generic;
using System.Runtime.InteropServices;

namespace PDFlibDLL
{

    class DLL
    {
        public IntPtr dllHandle = IntPtr.Zero;
        private List<int> shutDownList = new List<int>();

        public void RegisterForShutdown(int instanceID)
        {
            shutDownList.Add(instanceID);
        }

        public DLL(string dllFileName)
        {
            dllHandle = LoadLibrary(dllFileName);
            if (dllHandle != IntPtr.Zero)
            {
                PDFlibAddArcToPath = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddArcToPath"), typeof(DelegateIIDDD));
                PDFlibAddBoxToPath = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddBoxToPath"), typeof(DelegateIIDDDD));
                PDFlibAddCJKFont = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddCJKFont"), typeof(DelegateIII));
                PDFlibAddCurveToPath = (DelegateIIDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddCurveToPath"), typeof(DelegateIIDDDDDD));
                PDFlibAddEmbeddedFile = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddEmbeddedFile"), typeof(DelegateIIWW));
                PDFlibAddFileAttachment = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFileAttachment"), typeof(DelegateIIWI));
                PDFlibAddFormFieldChoiceSub = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFormFieldChoiceSub"), typeof(DelegateIIIWW));
                PDFlibAddFormFieldSub = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFormFieldSub"), typeof(DelegateIIIW));
                PDFlibAddFormFont = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFormFont"), typeof(DelegateIII));
                PDFlibAddFreeTextAnnotation = (DelegateIIDDDDWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFreeTextAnnotation"), typeof(DelegateIIDDDDWII));
                PDFlibAddFreeTextAnnotationEx = (DelegateIIDDDDWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddFreeTextAnnotationEx"), typeof(DelegateIIDDDDWIII));
                PDFlibAddGlobalJavaScript = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddGlobalJavaScript"), typeof(DelegateIIWW));
                PDFlibAddImageFromFile = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddImageFromFile"), typeof(DelegateIIWI));
                PDFlibAddImageFromFileOffset = (DelegateIIWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddImageFromFileOffset"), typeof(DelegateIIWIII));
                PDFlibAddImageFromString = (DelegateIIBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddImageFromString"), typeof(DelegateIIBI));
                PDFlibAddLGIDictToPage = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLGIDictToPage"), typeof(DelegateIIW));
                PDFlibAddLineToPath = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLineToPath"), typeof(DelegateIIDD));
                PDFlibAddLinkToDestination = (DelegateIIDDDDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToDestination"), typeof(DelegateIIDDDDII));
                PDFlibAddLinkToEmbeddedFile = (DelegateIIDDDDIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToEmbeddedFile"), typeof(DelegateIIDDDDIWWII));
                PDFlibAddLinkToFile = (DelegateIIDDDDWIDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToFile"), typeof(DelegateIIDDDDWIDII));
                PDFlibAddLinkToFileDest = (DelegateIIDDDDWWDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToFileDest"), typeof(DelegateIIDDDDWWDII));
                PDFlibAddLinkToFileEx = (DelegateIIDDDDWIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToFileEx"), typeof(DelegateIIDDDDWIIIIIDDDD));
                PDFlibAddLinkToJavaScript = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToJavaScript"), typeof(DelegateIIDDDDWI));
                PDFlibAddLinkToLocalFile = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToLocalFile"), typeof(DelegateIIDDDDWI));
                PDFlibAddLinkToPage = (DelegateIIDDDDIDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToPage"), typeof(DelegateIIDDDDIDI));
                PDFlibAddLinkToWeb = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddLinkToWeb"), typeof(DelegateIIDDDDWI));
                PDFlibAddNoteAnnotation = (DelegateIIDDIDDDDWWDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddNoteAnnotation"), typeof(DelegateIIDDIDDDDWWDDDI));
                PDFlibAddOpenTypeFontFromFile = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddOpenTypeFontFromFile"), typeof(DelegateIIWI));
                PDFlibAddPageLabels = (DelegateIIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddPageLabels"), typeof(DelegateIIIIIW));
                PDFlibAddPageMatrix = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddPageMatrix"), typeof(DelegateIIDDDD));
                PDFlibAddRelativeLinkToFile = (DelegateIIDDDDWIDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddRelativeLinkToFile"), typeof(DelegateIIDDDDWIDII));
                PDFlibAddRelativeLinkToFileDest = (DelegateIIDDDDWWDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddRelativeLinkToFileDest"), typeof(DelegateIIDDDDWWDII));
                PDFlibAddRelativeLinkToFileEx = (DelegateIIDDDDWIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddRelativeLinkToFileEx"), typeof(DelegateIIDDDDWIIIIIDDDD));
                PDFlibAddRelativeLinkToLocalFile = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddRelativeLinkToLocalFile"), typeof(DelegateIIDDDDWI));
                PDFlibAddSVGAnnotationFromFile = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddSVGAnnotationFromFile"), typeof(DelegateIIDDDDWI));
                PDFlibAddSWFAnnotationFromFile = (DelegateIIDDDDWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddSWFAnnotationFromFile"), typeof(DelegateIIDDDDWWI));
                PDFlibAddSeparationColor = (DelegateIIWDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddSeparationColor"), typeof(DelegateIIWDDDDI));
                PDFlibAddStampAnnotation = (DelegateIIDDDDIWWDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddStampAnnotation"), typeof(DelegateIIDDDDIWWDDDI));
                PDFlibAddStampAnnotationFromImage = (DelegateIIDDDDWWWDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddStampAnnotationFromImage"), typeof(DelegateIIDDDDWWWDDDI));
                PDFlibAddStampAnnotationFromImageID = (DelegateIIDDDDIWWDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddStampAnnotationFromImageID"), typeof(DelegateIIDDDDIWWDDDI));
                PDFlibAddStandardFont = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddStandardFont"), typeof(DelegateIII));
                PDFlibAddSubsettedFont = (DelegateIIWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddSubsettedFont"), typeof(DelegateIIWIW));
                PDFlibAddTextMarkupAnnotation = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddTextMarkupAnnotation"), typeof(DelegateIIIDDDD));
                PDFlibAddToBuffer = (DelegateIIBBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddToBuffer"), typeof(DelegateIIBBI));
                PDFlibAddToFileList = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddToFileList"), typeof(DelegateIIWW));
                PDFlibAddTrueTypeFont = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddTrueTypeFont"), typeof(DelegateIIWI));
                PDFlibAddTrueTypeFontFromFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddTrueTypeFontFromFile"), typeof(DelegateIIW));
                PDFlibAddTrueTypeSubsettedFont = (DelegateIIWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddTrueTypeSubsettedFont"), typeof(DelegateIIWWI));
                PDFlibAddType1Font = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddType1Font"), typeof(DelegateIIW));
                PDFlibAddU3DAnnotationFromFile = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAddU3DAnnotationFromFile"), typeof(DelegateIIDDDDWI));
                PDFlibAnalyseFile = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAnalyseFile"), typeof(DelegateIIWW));
                PDFlibAnnotationCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAnnotationCount"), typeof(DelegateII));
                PDFlibAnsiStringResultLength = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAnsiStringResultLength"), typeof(DelegateII));
                PDFlibAppendSpace = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendSpace"), typeof(DelegateIID));
                PDFlibAppendTableColumns = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendTableColumns"), typeof(DelegateIIII));
                PDFlibAppendTableRows = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendTableRows"), typeof(DelegateIIII));
                PDFlibAppendText = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendText"), typeof(DelegateIIW));
                PDFlibAppendToFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendToFile"), typeof(DelegateIIW));
                PDFlibAppendToString = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAppendToString"), typeof(DelegateBII));
                PDFlibApplyStyle = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLApplyStyle"), typeof(DelegateIIW));
                PDFlibAttachAnnotToForm = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLAttachAnnotToForm"), typeof(DelegateIII));
                PDFlibBalanceContentStream = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLBalanceContentStream"), typeof(DelegateII));
                PDFlibBalancePageTree = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLBalancePageTree"), typeof(DelegateIII));
                PDFlibBeginPageUpdate = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLBeginPageUpdate"), typeof(DelegateII));
                PDFlibCapturePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCapturePage"), typeof(DelegateIII));
                PDFlibCapturePageEx = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCapturePageEx"), typeof(DelegateIIII));
                PDFlibCharWidth = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCharWidth"), typeof(DelegateIII));
                PDFlibCheckFileCompliance = (DelegateIIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCheckFileCompliance"), typeof(DelegateIIWWII));
                PDFlibCheckObjects = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCheckObjects"), typeof(DelegateII));
                PDFlibCheckPageAnnots = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCheckPageAnnots"), typeof(DelegateII));
                PDFlibCheckPassword = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCheckPassword"), typeof(DelegateIIW));
                PDFlibClearFileList = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClearFileList"), typeof(DelegateIIW));
                PDFlibClearImage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClearImage"), typeof(DelegateIII));
                PDFlibClearPageLabels = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClearPageLabels"), typeof(DelegateII));
                PDFlibClearTextFormatting = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClearTextFormatting"), typeof(DelegateII));
                PDFlibCloneOutlineAction = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCloneOutlineAction"), typeof(DelegateIII));
                PDFlibClonePages = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClonePages"), typeof(DelegateIIIII));
                PDFlibCloseOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCloseOutline"), typeof(DelegateIII));
                PDFlibClosePath = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLClosePath"), typeof(DelegateII));
                PDFlibCombineContentStreams = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCombineContentStreams"), typeof(DelegateII));
                PDFlibCompareOutlines = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCompareOutlines"), typeof(DelegateIIII));
                PDFlibCompressContent = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCompressContent"), typeof(DelegateII));
                PDFlibCompressFonts = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCompressFonts"), typeof(DelegateIII));
                PDFlibCompressImages = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCompressImages"), typeof(DelegateIII));
                PDFlibCompressPage = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCompressPage"), typeof(DelegateII));
                PDFlibContentStreamCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLContentStreamCount"), typeof(DelegateII));
                PDFlibContentStreamSafe = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLContentStreamSafe"), typeof(DelegateII));
                PDFlibCopyPageRanges = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCopyPageRanges"), typeof(DelegateIIIW));
                PDFlibCopyPageRangesEx = (DelegateIIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCopyPageRangesEx"), typeof(DelegateIIIWI));
                PDFlibCreateBuffer = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCreateBuffer"), typeof(DelegateBII));
                PDFlibCreateLibrary = (DelegateI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCreateLibrary"), typeof(DelegateI));
                PDFlibCreateNewObject = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCreateNewObject"), typeof(DelegateII));
                PDFlibCreateTable = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLCreateTable"), typeof(DelegateIIII));
                PDFlibDAAppendFile = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAAppendFile"), typeof(DelegateIII));
                PDFlibDACapturePage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDACapturePage"), typeof(DelegateIIII));
                PDFlibDACapturePageEx = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDACapturePageEx"), typeof(DelegateIIIII));
                PDFlibDACloseFile = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDACloseFile"), typeof(DelegateIII));
                PDFlibDADrawCapturedPage = (DelegateIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDADrawCapturedPage"), typeof(DelegateIIIIIDDDD));
                PDFlibDADrawRotatedCapturedPage = (DelegateIIIIIDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDADrawRotatedCapturedPage"), typeof(DelegateIIIIIDDDDD));
                PDFlibDAEmbedFileStreams = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAEmbedFileStreams"), typeof(DelegateIIIW));
                PDFlibDAExtractPageText = (DelegateWIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAExtractPageText"), typeof(DelegateWIIII));
                PDFlibDAExtractPageTextBlocks = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAExtractPageTextBlocks"), typeof(DelegateIIIII));
                PDFlibDAFindPage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAFindPage"), typeof(DelegateIIII));
                PDFlibDAGetAnnotationCount = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetAnnotationCount"), typeof(DelegateIIII));
                PDFlibDAGetFormFieldCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetFormFieldCount"), typeof(DelegateIII));
                PDFlibDAGetFormFieldTitle = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetFormFieldTitle"), typeof(DelegateWIII));
                PDFlibDAGetFormFieldValue = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetFormFieldValue"), typeof(DelegateWIII));
                PDFlibDAGetImageDataToString = (DelegateBIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetImageDataToString"), typeof(DelegateBIIII));
                PDFlibDAGetImageDblProperty = (DelegateDIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetImageDblProperty"), typeof(DelegateDIIIII));
                PDFlibDAGetImageIntProperty = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetImageIntProperty"), typeof(DelegateIIIIII));
                PDFlibDAGetImageListCount = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetImageListCount"), typeof(DelegateIIII));
                PDFlibDAGetInformation = (DelegateWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetInformation"), typeof(DelegateWIIW));
                PDFlibDAGetObjectCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetObjectCount"), typeof(DelegateIII));
                PDFlibDAGetObjectToString = (DelegateBIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetObjectToString"), typeof(DelegateBIII));
                PDFlibDAGetPageBox = (DelegateDIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageBox"), typeof(DelegateDIIIII));
                PDFlibDAGetPageContentToString = (DelegateBIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageContentToString"), typeof(DelegateBIII));
                PDFlibDAGetPageCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageCount"), typeof(DelegateIII));
                PDFlibDAGetPageHeight = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageHeight"), typeof(DelegateDIII));
                PDFlibDAGetPageImageList = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageImageList"), typeof(DelegateIIII));
                PDFlibDAGetPageWidth = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetPageWidth"), typeof(DelegateDIII));
                PDFlibDAGetTextBlockAsString = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockAsString"), typeof(DelegateWIII));
                PDFlibDAGetTextBlockBound = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockBound"), typeof(DelegateDIIII));
                PDFlibDAGetTextBlockCharWidth = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockCharWidth"), typeof(DelegateDIIII));
                PDFlibDAGetTextBlockColor = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockColor"), typeof(DelegateDIIII));
                PDFlibDAGetTextBlockColorType = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockColorType"), typeof(DelegateIIII));
                PDFlibDAGetTextBlockCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockCount"), typeof(DelegateIII));
                PDFlibDAGetTextBlockFontName = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockFontName"), typeof(DelegateWIII));
                PDFlibDAGetTextBlockFontSize = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockFontSize"), typeof(DelegateDIII));
                PDFlibDAGetTextBlockText = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAGetTextBlockText"), typeof(DelegateWIII));
                PDFlibDAHasPageBox = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAHasPageBox"), typeof(DelegateIIIII));
                PDFlibDAHidePage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAHidePage"), typeof(DelegateIIII));
                PDFlibDAMovePage = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAMovePage"), typeof(DelegateIIIIII));
                PDFlibDANewPage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDANewPage"), typeof(DelegateIII));
                PDFlibDANewPages = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDANewPages"), typeof(DelegateIIII));
                PDFlibDANormalizePage = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDANormalizePage"), typeof(DelegateIIIII));
                PDFlibDAOpenFile = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAOpenFile"), typeof(DelegateIIWW));
                PDFlibDAOpenFileReadOnly = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAOpenFileReadOnly"), typeof(DelegateIIWW));
                PDFlibDAPageRotation = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAPageRotation"), typeof(DelegateIIII));
                PDFlibDAReleaseImageList = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAReleaseImageList"), typeof(DelegateIIII));
                PDFlibDAReleaseTextBlocks = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAReleaseTextBlocks"), typeof(DelegateIII));
                PDFlibDARemoveUsageRights = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDARemoveUsageRights"), typeof(DelegateIII));
                PDFlibDARenderPageToDC = (DelegateIIIIDC)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDARenderPageToDC"), typeof(DelegateIIIIDC));
                PDFlibDARenderPageToFile = (DelegateIIIIIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDARenderPageToFile"), typeof(DelegateIIIIIDW));
                PDFlibDARenderPageToString = (DelegateBIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDARenderPageToString"), typeof(DelegateBIIIID));
                PDFlibDARotatePage = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDARotatePage"), typeof(DelegateIIIIII));
                PDFlibDASaveAsFile = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASaveAsFile"), typeof(DelegateIIIW));
                PDFlibDASaveImageDataToFile = (DelegateIIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASaveImageDataToFile"), typeof(DelegateIIIIIW));
                PDFlibDASetInformation = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetInformation"), typeof(DelegateIIIWW));
                PDFlibDASetPageBox = (DelegateIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetPageBox"), typeof(DelegateIIIIIDDDD));
                PDFlibDASetPageLayout = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetPageLayout"), typeof(DelegateIIII));
                PDFlibDASetPageMode = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetPageMode"), typeof(DelegateIIII));
                PDFlibDASetPageSize = (DelegateIIIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetPageSize"), typeof(DelegateIIIIDD));
                PDFlibDASetTextExtractionArea = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetTextExtractionArea"), typeof(DelegateIIDDDD));
                PDFlibDASetTextExtractionOptions = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetTextExtractionOptions"), typeof(DelegateIIII));
                PDFlibDASetTextExtractionScaling = (DelegateIIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetTextExtractionScaling"), typeof(DelegateIIIDD));
                PDFlibDASetTextExtractionWordGap = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDASetTextExtractionWordGap"), typeof(DelegateIID));
                PDFlibDAShiftedHeader = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDAShiftedHeader"), typeof(DelegateIII));
                PDFlibDecrypt = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDecrypt"), typeof(DelegateII));
                PDFlibDecryptFile = (DelegateIIWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDecryptFile"), typeof(DelegateIIWWW));
                PDFlibDeleteAnalysis = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeleteAnalysis"), typeof(DelegateIII));
                PDFlibDeleteAnnotation = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeleteAnnotation"), typeof(DelegateIII));
                PDFlibDeleteContentStream = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeleteContentStream"), typeof(DelegateII));
                PDFlibDeleteFormField = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeleteFormField"), typeof(DelegateIII));
                PDFlibDeleteOptionalContentGroup = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeleteOptionalContentGroup"), typeof(DelegateIII));
                PDFlibDeletePageLGIDict = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeletePageLGIDict"), typeof(DelegateIII));
                PDFlibDeletePages = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDeletePages"), typeof(DelegateIIII));
                PDFlibDocJavaScriptAction = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDocJavaScriptAction"), typeof(DelegateIIWW));
                PDFlibDocumentCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDocumentCount"), typeof(DelegateII));
                PDFlibDrawArc = (DelegateIIDDDDDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawArc"), typeof(DelegateIIDDDDDII));
                PDFlibDrawBarcode = (DelegateIIDDDDWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawBarcode"), typeof(DelegateIIDDDDWII));
                PDFlibDrawBox = (DelegateIIDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawBox"), typeof(DelegateIIDDDDI));
                PDFlibDrawCapturedPage = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawCapturedPage"), typeof(DelegateIIIDDDD));
                PDFlibDrawCapturedPageMatrix = (DelegateIIIDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawCapturedPageMatrix"), typeof(DelegateIIIDDDDDD));
                PDFlibDrawCircle = (DelegateIIDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawCircle"), typeof(DelegateIIDDDI));
                PDFlibDrawDataMatrixSymbol = (DelegateIIDDDWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawDataMatrixSymbol"), typeof(DelegateIIDDDWIII));
                PDFlibDrawEllipse = (DelegateIIDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawEllipse"), typeof(DelegateIIDDDDI));
                PDFlibDrawEllipticArc = (DelegateIIDDDDDDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawEllipticArc"), typeof(DelegateIIDDDDDDII));
                PDFlibDrawHTMLText = (DelegateIIDDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawHTMLText"), typeof(DelegateIIDDDW));
                PDFlibDrawHTMLTextBox = (DelegateWIDDDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawHTMLTextBox"), typeof(DelegateWIDDDDW));
                PDFlibDrawHTMLTextBoxMatrix = (DelegateWIDDWDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawHTMLTextBoxMatrix"), typeof(DelegateWIDDWDDDDDD));
                PDFlibDrawHTMLTextMatrix = (DelegateIIDWDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawHTMLTextMatrix"), typeof(DelegateIIDWDDDDDD));
                PDFlibDrawImage = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawImage"), typeof(DelegateIIDDDD));
                PDFlibDrawImageMatrix = (DelegateIIDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawImageMatrix"), typeof(DelegateIIDDDDDD));
                PDFlibDrawIntelligentMailBarcode = (DelegateIIDDDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawIntelligentMailBarcode"), typeof(DelegateIIDDDDDDWI));
                PDFlibDrawLine = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawLine"), typeof(DelegateIIDDDD));
                PDFlibDrawMultiLineText = (DelegateIIDDWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawMultiLineText"), typeof(DelegateIIDDWW));
                PDFlibDrawPDF417Symbol = (DelegateIIDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawPDF417Symbol"), typeof(DelegateIIDDWI));
                PDFlibDrawPDF417SymbolEx = (DelegateIIDDWIIIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawPDF417SymbolEx"), typeof(DelegateIIDDWIIIIDD));
                PDFlibDrawPath = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawPath"), typeof(DelegateIII));
                PDFlibDrawPathEvenOdd = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawPathEvenOdd"), typeof(DelegateIII));
                PDFlibDrawPostScriptXObject = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawPostScriptXObject"), typeof(DelegateIII));
                PDFlibDrawQRCode = (DelegateIIDDDWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawQRCode"), typeof(DelegateIIDDDWII));
                PDFlibDrawRotatedBox = (DelegateIIDDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedBox"), typeof(DelegateIIDDDDDI));
                PDFlibDrawRotatedCapturedPage = (DelegateIIIDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedCapturedPage"), typeof(DelegateIIIDDDDD));
                PDFlibDrawRotatedImage = (DelegateIIDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedImage"), typeof(DelegateIIDDDDD));
                PDFlibDrawRotatedMultiLineText = (DelegateIIDDDWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedMultiLineText"), typeof(DelegateIIDDDWW));
                PDFlibDrawRotatedText = (DelegateIIDDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedText"), typeof(DelegateIIDDDW));
                PDFlibDrawRotatedTextBox = (DelegateIIDDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedTextBox"), typeof(DelegateIIDDDDDWI));
                PDFlibDrawRotatedTextBoxEx = (DelegateIIDDDDDWIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRotatedTextBoxEx"), typeof(DelegateIIDDDDDWIIII));
                PDFlibDrawRoundedBox = (DelegateIIDDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRoundedBox"), typeof(DelegateIIDDDDDI));
                PDFlibDrawRoundedRotatedBox = (DelegateIIDDDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawRoundedRotatedBox"), typeof(DelegateIIDDDDDDI));
                PDFlibDrawScaledImage = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawScaledImage"), typeof(DelegateIIDDD));
                PDFlibDrawSpacedText = (DelegateIIDDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawSpacedText"), typeof(DelegateIIDDDW));
                PDFlibDrawTableRows = (DelegateDIIDDDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawTableRows"), typeof(DelegateDIIDDDII));
                PDFlibDrawText = (DelegateIIDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawText"), typeof(DelegateIIDDW));
                PDFlibDrawTextArc = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawTextArc"), typeof(DelegateIIDDDDWI));
                PDFlibDrawTextBox = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawTextBox"), typeof(DelegateIIDDDDWI));
                PDFlibDrawTextBoxMatrix = (DelegateIIDDWIDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawTextBoxMatrix"), typeof(DelegateIIDDWIDDDDDD));
                PDFlibDrawWrappedText = (DelegateIIDDDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLDrawWrappedText"), typeof(DelegateIIDDDW));
                PDFlibEditableContentStream = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEditableContentStream"), typeof(DelegateII));
                PDFlibEmbedFile = (DelegateIIWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEmbedFile"), typeof(DelegateIIWWW));
                PDFlibEmbeddedFileCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEmbeddedFileCount"), typeof(DelegateII));
                PDFlibEncapsulateContentStream = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncapsulateContentStream"), typeof(DelegateII));
                PDFlibEncodePermissions = (DelegateIIIIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncodePermissions"), typeof(DelegateIIIIIIIIII));
                PDFlibEncrypt = (DelegateIIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncrypt"), typeof(DelegateIIWWII));
                PDFlibEncryptFile = (DelegateIIWWWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncryptFile"), typeof(DelegateIIWWWWII));
                PDFlibEncryptWithFingerprint = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncryptWithFingerprint"), typeof(DelegateIIW));
                PDFlibEncryptionAlgorithm = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncryptionAlgorithm"), typeof(DelegateII));
                PDFlibEncryptionStatus = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncryptionStatus"), typeof(DelegateII));
                PDFlibEncryptionStrength = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEncryptionStrength"), typeof(DelegateII));
                PDFlibEndPageUpdate = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEndPageUpdate"), typeof(DelegateII));
                PDFlibEndSignProcessToFile = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEndSignProcessToFile"), typeof(DelegateIIIW));
                PDFlibEndSignProcessToString = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLEndSignProcessToString"), typeof(DelegateBII));
                PDFlibExtractFilePageContentToString = (DelegateBIWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractFilePageContentToString"), typeof(DelegateBIWWI));
                PDFlibExtractFilePageText = (DelegateWIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractFilePageText"), typeof(DelegateWIWWII));
                PDFlibExtractFilePageTextBlocks = (DelegateIIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractFilePageTextBlocks"), typeof(DelegateIIWWII));
                PDFlibExtractFilePages = (DelegateIIWWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractFilePages"), typeof(DelegateIIWWWW));
                PDFlibExtractFilePagesEx = (DelegateIIWWWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractFilePagesEx"), typeof(DelegateIIWWWWI));
                PDFlibExtractPageRanges = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractPageRanges"), typeof(DelegateIIW));
                PDFlibExtractPageTextBlocks = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractPageTextBlocks"), typeof(DelegateIII));
                PDFlibExtractPages = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLExtractPages"), typeof(DelegateIIII));
                PDFlibFileListCount = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFileListCount"), typeof(DelegateIIW));
                PDFlibFileListItem = (DelegateWIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFileListItem"), typeof(DelegateWIWI));
                PDFlibFindFonts = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFindFonts"), typeof(DelegateII));
                PDFlibFindFormFieldByTitle = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFindFormFieldByTitle"), typeof(DelegateIIW));
                PDFlibFindImages = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFindImages"), typeof(DelegateII));
                PDFlibFitImage = (DelegateIIDDDDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFitImage"), typeof(DelegateIIDDDDIII));
                PDFlibFitRotatedTextBox = (DelegateIIDDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFitRotatedTextBox"), typeof(DelegateIIDDDDDWI));
                PDFlibFitTextBox = (DelegateIIDDDDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFitTextBox"), typeof(DelegateIIDDDDWI));
                PDFlibFlattenAnnot = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFlattenAnnot"), typeof(DelegateIIII));
                PDFlibFlattenFormField = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFlattenFormField"), typeof(DelegateIII));
                PDFlibFontCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontCount"), typeof(DelegateII));
                PDFlibFontFamily = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontFamily"), typeof(DelegateWI));
                PDFlibFontHasKerning = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontHasKerning"), typeof(DelegateII));
                PDFlibFontName = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontName"), typeof(DelegateWI));
                PDFlibFontReference = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontReference"), typeof(DelegateWI));
                PDFlibFontSize = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontSize"), typeof(DelegateII));
                PDFlibFontType = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFontType"), typeof(DelegateII));
                PDFlibFormFieldCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFormFieldCount"), typeof(DelegateII));
                PDFlibFormFieldHasParent = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFormFieldHasParent"), typeof(DelegateIII));
                PDFlibFormFieldJavaScriptAction = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFormFieldJavaScriptAction"), typeof(DelegateIIIWW));
                PDFlibFormFieldWebLinkAction = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLFormFieldWebLinkAction"), typeof(DelegateIIIWW));
                PDFlibGetActionDest = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetActionDest"), typeof(DelegateIII));
                PDFlibGetActionType = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetActionType"), typeof(DelegateWII));
                PDFlibGetActionURL = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetActionURL"), typeof(DelegateWII));
                PDFlibGetAnalysisInfo = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnalysisInfo"), typeof(DelegateWIII));
                PDFlibGetAnnotActionID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotActionID"), typeof(DelegateIII));
                PDFlibGetAnnotDblProperty = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotDblProperty"), typeof(DelegateDIII));
                PDFlibGetAnnotDest = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotDest"), typeof(DelegateIII));
                PDFlibGetAnnotEmbeddedFileName = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotEmbeddedFileName"), typeof(DelegateWIII));
                PDFlibGetAnnotEmbeddedFileToFile = (DelegateIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotEmbeddedFileToFile"), typeof(DelegateIIIIW));
                PDFlibGetAnnotEmbeddedFileToString = (DelegateBIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotEmbeddedFileToString"), typeof(DelegateBIII));
                PDFlibGetAnnotIntProperty = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotIntProperty"), typeof(DelegateIIII));
                PDFlibGetAnnotQuadCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotQuadCount"), typeof(DelegateIII));
                PDFlibGetAnnotQuadPoints = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotQuadPoints"), typeof(DelegateDIIII));
                PDFlibGetAnnotSoundToFile = (DelegateIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotSoundToFile"), typeof(DelegateIIIIW));
                PDFlibGetAnnotSoundToString = (DelegateBIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotSoundToString"), typeof(DelegateBIII));
                PDFlibGetAnnotStrProperty = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetAnnotStrProperty"), typeof(DelegateWIII));
                PDFlibGetBarcodeWidth = (DelegateDIDWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetBarcodeWidth"), typeof(DelegateDIDWI));
                PDFlibGetBaseURL = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetBaseURL"), typeof(DelegateWI));
                PDFlibGetCSDictEPSG = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCSDictEPSG"), typeof(DelegateIII));
                PDFlibGetCSDictType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCSDictType"), typeof(DelegateIII));
                PDFlibGetCSDictWKT = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCSDictWKT"), typeof(DelegateWII));
                PDFlibGetCanvasDC = (DelegateCIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCanvasDC"), typeof(DelegateCIII));
                PDFlibGetCanvasDCEx = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCanvasDCEx"), typeof(DelegateIIIII));
                PDFlibGetCatalogInformation = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCatalogInformation"), typeof(DelegateWIW));
                PDFlibGetContentStreamToString = (DelegateBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetContentStreamToString"), typeof(DelegateBI));
                PDFlibGetCustomInformation = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCustomInformation"), typeof(DelegateWIW));
                PDFlibGetCustomKeys = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetCustomKeys"), typeof(DelegateWII));
                PDFlibGetDefaultPrinterName = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDefaultPrinterName"), typeof(DelegateWI));
                PDFlibGetDestName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDestName"), typeof(DelegateWII));
                PDFlibGetDestPage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDestPage"), typeof(DelegateIII));
                PDFlibGetDestType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDestType"), typeof(DelegateIII));
                PDFlibGetDestValue = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDestValue"), typeof(DelegateDIII));
                PDFlibGetDocJavaScript = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocJavaScript"), typeof(DelegateWIW));
                PDFlibGetDocumentFileName = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentFileName"), typeof(DelegateWI));
                PDFlibGetDocumentFileSize = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentFileSize"), typeof(DelegateII));
                PDFlibGetDocumentID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentID"), typeof(DelegateIII));
                PDFlibGetDocumentIdentifier = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentIdentifier"), typeof(DelegateWIII));
                PDFlibGetDocumentMetadata = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentMetadata"), typeof(DelegateWI));
                PDFlibGetDocumentRepaired = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentRepaired"), typeof(DelegateII));
                PDFlibGetDocumentResourceList = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetDocumentResourceList"), typeof(DelegateWI));
                PDFlibGetEmbeddedFileContentToFile = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEmbeddedFileContentToFile"), typeof(DelegateIIIW));
                PDFlibGetEmbeddedFileContentToString = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEmbeddedFileContentToString"), typeof(DelegateBII));
                PDFlibGetEmbeddedFileID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEmbeddedFileID"), typeof(DelegateIII));
                PDFlibGetEmbeddedFileIntProperty = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEmbeddedFileIntProperty"), typeof(DelegateIIII));
                PDFlibGetEmbeddedFileStrProperty = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEmbeddedFileStrProperty"), typeof(DelegateWIII));
                PDFlibGetEncryptionFingerprint = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetEncryptionFingerprint"), typeof(DelegateWI));
                PDFlibGetFileMetadata = (DelegateWIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFileMetadata"), typeof(DelegateWIWW));
                PDFlibGetFirstChildOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFirstChildOutline"), typeof(DelegateIII));
                PDFlibGetFirstOutline = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFirstOutline"), typeof(DelegateII));
                PDFlibGetFontEncoding = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontEncoding"), typeof(DelegateII));
                PDFlibGetFontFlags = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontFlags"), typeof(DelegateIII));
                PDFlibGetFontID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontID"), typeof(DelegateIII));
                PDFlibGetFontIsEmbedded = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontIsEmbedded"), typeof(DelegateII));
                PDFlibGetFontIsSubsetted = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontIsSubsetted"), typeof(DelegateII));
                PDFlibGetFontMetrics = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontMetrics"), typeof(DelegateIII));
                PDFlibGetFontObjectNumber = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFontObjectNumber"), typeof(DelegateII));
                PDFlibGetFormFieldActionID = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldActionID"), typeof(DelegateIIIW));
                PDFlibGetFormFieldAlignment = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldAlignment"), typeof(DelegateIII));
                PDFlibGetFormFieldAnnotFlags = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldAnnotFlags"), typeof(DelegateIII));
                PDFlibGetFormFieldBackgroundColor = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBackgroundColor"), typeof(DelegateDIII));
                PDFlibGetFormFieldBackgroundColorType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBackgroundColorType"), typeof(DelegateIII));
                PDFlibGetFormFieldBorderColor = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBorderColor"), typeof(DelegateDIII));
                PDFlibGetFormFieldBorderColorType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBorderColorType"), typeof(DelegateIII));
                PDFlibGetFormFieldBorderProperty = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBorderProperty"), typeof(DelegateDIII));
                PDFlibGetFormFieldBorderStyle = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBorderStyle"), typeof(DelegateIII));
                PDFlibGetFormFieldBound = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldBound"), typeof(DelegateDIII));
                PDFlibGetFormFieldCaption = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldCaption"), typeof(DelegateWII));
                PDFlibGetFormFieldCaptionEx = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldCaptionEx"), typeof(DelegateWIII));
                PDFlibGetFormFieldCheckStyle = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldCheckStyle"), typeof(DelegateIII));
                PDFlibGetFormFieldChildTitle = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldChildTitle"), typeof(DelegateWII));
                PDFlibGetFormFieldChoiceType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldChoiceType"), typeof(DelegateIII));
                PDFlibGetFormFieldColor = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldColor"), typeof(DelegateDIII));
                PDFlibGetFormFieldComb = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldComb"), typeof(DelegateIII));
                PDFlibGetFormFieldDefaultValue = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldDefaultValue"), typeof(DelegateWII));
                PDFlibGetFormFieldDescription = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldDescription"), typeof(DelegateWII));
                PDFlibGetFormFieldFlags = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldFlags"), typeof(DelegateIII));
                PDFlibGetFormFieldFontName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldFontName"), typeof(DelegateWII));
                PDFlibGetFormFieldJavaScript = (DelegateWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldJavaScript"), typeof(DelegateWIIW));
                PDFlibGetFormFieldKidCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldKidCount"), typeof(DelegateIII));
                PDFlibGetFormFieldKidTempIndex = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldKidTempIndex"), typeof(DelegateIIII));
                PDFlibGetFormFieldMaxLen = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldMaxLen"), typeof(DelegateIII));
                PDFlibGetFormFieldNoExport = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldNoExport"), typeof(DelegateIII));
                PDFlibGetFormFieldPage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldPage"), typeof(DelegateIII));
                PDFlibGetFormFieldPrintable = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldPrintable"), typeof(DelegateIII));
                PDFlibGetFormFieldReadOnly = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldReadOnly"), typeof(DelegateIII));
                PDFlibGetFormFieldRequired = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldRequired"), typeof(DelegateIII));
                PDFlibGetFormFieldRichTextString = (DelegateWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldRichTextString"), typeof(DelegateWIIW));
                PDFlibGetFormFieldRotation = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldRotation"), typeof(DelegateIII));
                PDFlibGetFormFieldSubCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldSubCount"), typeof(DelegateIII));
                PDFlibGetFormFieldSubDisplayName = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldSubDisplayName"), typeof(DelegateWIII));
                PDFlibGetFormFieldSubName = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldSubName"), typeof(DelegateWIII));
                PDFlibGetFormFieldSubmitActionString = (DelegateWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldSubmitActionString"), typeof(DelegateWIIW));
                PDFlibGetFormFieldTabOrder = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldTabOrder"), typeof(DelegateIII));
                PDFlibGetFormFieldTabOrderEx = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldTabOrderEx"), typeof(DelegateIIII));
                PDFlibGetFormFieldTextFlags = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldTextFlags"), typeof(DelegateIIII));
                PDFlibGetFormFieldTextSize = (DelegateDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldTextSize"), typeof(DelegateDII));
                PDFlibGetFormFieldTitle = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldTitle"), typeof(DelegateWII));
                PDFlibGetFormFieldType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldType"), typeof(DelegateIII));
                PDFlibGetFormFieldValue = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldValue"), typeof(DelegateWII));
                PDFlibGetFormFieldValueByTitle = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldValueByTitle"), typeof(DelegateWIW));
                PDFlibGetFormFieldVisible = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldVisible"), typeof(DelegateIII));
                PDFlibGetFormFieldWebLink = (DelegateWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFieldWebLink"), typeof(DelegateWIIW));
                PDFlibGetFormFontCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFontCount"), typeof(DelegateII));
                PDFlibGetFormFontName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetFormFontName"), typeof(DelegateWII));
                PDFlibGetGlobalJavaScript = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetGlobalJavaScript"), typeof(DelegateWIW));
                PDFlibGetHTMLTextHeight = (DelegateDIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetHTMLTextHeight"), typeof(DelegateDIDW));
                PDFlibGetHTMLTextLineCount = (DelegateIIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetHTMLTextLineCount"), typeof(DelegateIIDW));
                PDFlibGetHTMLTextWidth = (DelegateDIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetHTMLTextWidth"), typeof(DelegateDIDW));
                PDFlibGetImageID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageID"), typeof(DelegateIII));
                PDFlibGetImageListCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageListCount"), typeof(DelegateIII));
                PDFlibGetImageListItemDataToString = (DelegateBIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageListItemDataToString"), typeof(DelegateBIIII));
                PDFlibGetImageListItemDblProperty = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageListItemDblProperty"), typeof(DelegateDIIII));
                PDFlibGetImageListItemFormatDesc = (DelegateWIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageListItemFormatDesc"), typeof(DelegateWIIII));
                PDFlibGetImageListItemIntProperty = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageListItemIntProperty"), typeof(DelegateIIIII));
                PDFlibGetImageMeasureDict = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImageMeasureDict"), typeof(DelegateII));
                PDFlibGetImagePageCount = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImagePageCount"), typeof(DelegateIIW));
                PDFlibGetImagePageCountFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImagePageCountFromString"), typeof(DelegateIIB));
                PDFlibGetImagePtDataDict = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetImagePtDataDict"), typeof(DelegateII));
                PDFlibGetInformation = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetInformation"), typeof(DelegateWII));
                PDFlibGetInstalledFontsByCharset = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetInstalledFontsByCharset"), typeof(DelegateWIII));
                PDFlibGetInstalledFontsByCodePage = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetInstalledFontsByCodePage"), typeof(DelegateWIII));
                PDFlibGetKerning = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetKerning"), typeof(DelegateIIW));
                PDFlibGetLatestPrinterNames = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetLatestPrinterNames"), typeof(DelegateWI));
                PDFlibGetMaxObjectNumber = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMaxObjectNumber"), typeof(DelegateII));
                PDFlibGetMeasureDictBoundsCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictBoundsCount"), typeof(DelegateIII));
                PDFlibGetMeasureDictBoundsItem = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictBoundsItem"), typeof(DelegateDIII));
                PDFlibGetMeasureDictCoordinateSystem = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictCoordinateSystem"), typeof(DelegateIII));
                PDFlibGetMeasureDictDCSDict = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictDCSDict"), typeof(DelegateIII));
                PDFlibGetMeasureDictGCSDict = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictGCSDict"), typeof(DelegateIII));
                PDFlibGetMeasureDictGPTSCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictGPTSCount"), typeof(DelegateIII));
                PDFlibGetMeasureDictGPTSItem = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictGPTSItem"), typeof(DelegateDIII));
                PDFlibGetMeasureDictLPTSCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictLPTSCount"), typeof(DelegateIII));
                PDFlibGetMeasureDictLPTSItem = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictLPTSItem"), typeof(DelegateDIII));
                PDFlibGetMeasureDictPDU = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetMeasureDictPDU"), typeof(DelegateIIII));
                PDFlibGetNamedDestination = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetNamedDestination"), typeof(DelegateIIW));
                PDFlibGetNextOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetNextOutline"), typeof(DelegateIII));
                PDFlibGetObjectCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetObjectCount"), typeof(DelegateII));
                PDFlibGetObjectDecodeError = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetObjectDecodeError"), typeof(DelegateIII));
                PDFlibGetObjectToString = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetObjectToString"), typeof(DelegateBII));
                PDFlibGetOpenActionDestination = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOpenActionDestination"), typeof(DelegateII));
                PDFlibGetOpenActionJavaScript = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOpenActionJavaScript"), typeof(DelegateWI));
                PDFlibGetOptionalContentConfigCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigCount"), typeof(DelegateII));
                PDFlibGetOptionalContentConfigLocked = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigLocked"), typeof(DelegateIIII));
                PDFlibGetOptionalContentConfigOrderCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigOrderCount"), typeof(DelegateIII));
                PDFlibGetOptionalContentConfigOrderItemID = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigOrderItemID"), typeof(DelegateIIII));
                PDFlibGetOptionalContentConfigOrderItemLabel = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigOrderItemLabel"), typeof(DelegateWIII));
                PDFlibGetOptionalContentConfigOrderItemLevel = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigOrderItemLevel"), typeof(DelegateIIII));
                PDFlibGetOptionalContentConfigOrderItemType = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigOrderItemType"), typeof(DelegateIIII));
                PDFlibGetOptionalContentConfigState = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentConfigState"), typeof(DelegateIIII));
                PDFlibGetOptionalContentGroupID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentGroupID"), typeof(DelegateIII));
                PDFlibGetOptionalContentGroupName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentGroupName"), typeof(DelegateWII));
                PDFlibGetOptionalContentGroupPrintable = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentGroupPrintable"), typeof(DelegateIII));
                PDFlibGetOptionalContentGroupVisible = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOptionalContentGroupVisible"), typeof(DelegateIII));
                PDFlibGetOrigin = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOrigin"), typeof(DelegateII));
                PDFlibGetOutlineActionID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineActionID"), typeof(DelegateIII));
                PDFlibGetOutlineColor = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineColor"), typeof(DelegateDIII));
                PDFlibGetOutlineDest = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineDest"), typeof(DelegateIII));
                PDFlibGetOutlineID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineID"), typeof(DelegateIII));
                PDFlibGetOutlineJavaScript = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineJavaScript"), typeof(DelegateWII));
                PDFlibGetOutlineObjectNumber = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineObjectNumber"), typeof(DelegateIII));
                PDFlibGetOutlineOpenFile = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineOpenFile"), typeof(DelegateWII));
                PDFlibGetOutlinePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlinePage"), typeof(DelegateIII));
                PDFlibGetOutlineStyle = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineStyle"), typeof(DelegateIII));
                PDFlibGetOutlineWebLink = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetOutlineWebLink"), typeof(DelegateWII));
                PDFlibGetPageBox = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageBox"), typeof(DelegateDIII));
                PDFlibGetPageColorSpaces = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageColorSpaces"), typeof(DelegateWII));
                PDFlibGetPageContentToString = (DelegateBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageContentToString"), typeof(DelegateBI));
                PDFlibGetPageImageList = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageImageList"), typeof(DelegateIII));
                PDFlibGetPageJavaScript = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageJavaScript"), typeof(DelegateWIW));
                PDFlibGetPageLGIDictContent = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageLGIDictContent"), typeof(DelegateWII));
                PDFlibGetPageLGIDictCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageLGIDictCount"), typeof(DelegateII));
                PDFlibGetPageLabel = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageLabel"), typeof(DelegateWII));
                PDFlibGetPageLayout = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageLayout"), typeof(DelegateII));
                PDFlibGetPageMetricsToString = (DelegateBIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageMetricsToString"), typeof(DelegateBIIII));
                PDFlibGetPageMode = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageMode"), typeof(DelegateII));
                PDFlibGetPageText = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageText"), typeof(DelegateWII));
                PDFlibGetPageUserUnit = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageUserUnit"), typeof(DelegateDI));
                PDFlibGetPageViewPortCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageViewPortCount"), typeof(DelegateII));
                PDFlibGetPageViewPortID = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPageViewPortID"), typeof(DelegateIII));
                PDFlibGetParentOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetParentOutline"), typeof(DelegateIII));
                PDFlibGetPrevOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrevOutline"), typeof(DelegateIII));
                PDFlibGetPrintPreviewBitmapToString = (DelegateBIWIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrintPreviewBitmapToString"), typeof(DelegateBIWIIII));
                PDFlibGetPrinterBins = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrinterBins"), typeof(DelegateWIW));
                PDFlibGetPrinterDevModeToString = (DelegateBIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrinterDevModeToString"), typeof(DelegateBIW));
                PDFlibGetPrinterMediaTypes = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrinterMediaTypes"), typeof(DelegateWIW));
                PDFlibGetPrinterNames = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetPrinterNames"), typeof(DelegateWI));
                PDFlibGetRenderScale = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetRenderScale"), typeof(DelegateDI));
                PDFlibGetSignProcessByteRange = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetSignProcessByteRange"), typeof(DelegateIIII));
                PDFlibGetSignProcessResult = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetSignProcessResult"), typeof(DelegateIII));
                PDFlibGetStringListCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetStringListCount"), typeof(DelegateIII));
                PDFlibGetStringListItem = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetStringListItem"), typeof(DelegateWIII));
                PDFlibGetTabOrderMode = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTabOrderMode"), typeof(DelegateWI));
                PDFlibGetTableCellDblProperty = (DelegateDIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableCellDblProperty"), typeof(DelegateDIIIII));
                PDFlibGetTableCellIntProperty = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableCellIntProperty"), typeof(DelegateIIIIII));
                PDFlibGetTableCellStrProperty = (DelegateWIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableCellStrProperty"), typeof(DelegateWIIIII));
                PDFlibGetTableColumnCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableColumnCount"), typeof(DelegateIII));
                PDFlibGetTableLastDrawnRow = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableLastDrawnRow"), typeof(DelegateIII));
                PDFlibGetTableRowCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTableRowCount"), typeof(DelegateIII));
                PDFlibGetTempPath = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTempPath"), typeof(DelegateWI));
                PDFlibGetTextAscent = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextAscent"), typeof(DelegateDI));
                PDFlibGetTextBlockAsString = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockAsString"), typeof(DelegateWIII));
                PDFlibGetTextBlockBound = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockBound"), typeof(DelegateDIIII));
                PDFlibGetTextBlockCharWidth = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockCharWidth"), typeof(DelegateDIIII));
                PDFlibGetTextBlockColor = (DelegateDIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockColor"), typeof(DelegateDIIII));
                PDFlibGetTextBlockColorType = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockColorType"), typeof(DelegateIIII));
                PDFlibGetTextBlockCount = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockCount"), typeof(DelegateIII));
                PDFlibGetTextBlockFontName = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockFontName"), typeof(DelegateWIII));
                PDFlibGetTextBlockFontSize = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockFontSize"), typeof(DelegateDIII));
                PDFlibGetTextBlockText = (DelegateWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBlockText"), typeof(DelegateWIII));
                PDFlibGetTextBound = (DelegateDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextBound"), typeof(DelegateDII));
                PDFlibGetTextDescent = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextDescent"), typeof(DelegateDI));
                PDFlibGetTextHeight = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextHeight"), typeof(DelegateDI));
                PDFlibGetTextSize = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextSize"), typeof(DelegateDI));
                PDFlibGetTextWidth = (DelegateDIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetTextWidth"), typeof(DelegateDIW));
                PDFlibGetUnicodeCharactersFromEncoding = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetUnicodeCharactersFromEncoding"), typeof(DelegateWII));
                PDFlibGetViewPortBBox = (DelegateDIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetViewPortBBox"), typeof(DelegateDIII));
                PDFlibGetViewPortMeasureDict = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetViewPortMeasureDict"), typeof(DelegateIII));
                PDFlibGetViewPortName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetViewPortName"), typeof(DelegateWII));
                PDFlibGetViewPortPtDataDict = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetViewPortPtDataDict"), typeof(DelegateIII));
                PDFlibGetViewerPreferences = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetViewerPreferences"), typeof(DelegateIII));
                PDFlibGetWrappedText = (DelegateWIDWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetWrappedText"), typeof(DelegateWIDWW));
                PDFlibGetWrappedTextBreakString = (DelegateWIDWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetWrappedTextBreakString"), typeof(DelegateWIDWW));
                PDFlibGetWrappedTextHeight = (DelegateDIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetWrappedTextHeight"), typeof(DelegateDIDW));
                PDFlibGetWrappedTextLineCount = (DelegateIIDW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetWrappedTextLineCount"), typeof(DelegateIIDW));
                PDFlibGetXFAFormFieldCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetXFAFormFieldCount"), typeof(DelegateII));
                PDFlibGetXFAFormFieldName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetXFAFormFieldName"), typeof(DelegateWII));
                PDFlibGetXFAFormFieldNames = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetXFAFormFieldNames"), typeof(DelegateWIW));
                PDFlibGetXFAFormFieldValue = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetXFAFormFieldValue"), typeof(DelegateWIW));
                PDFlibGetXFAToString = (DelegateBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGetXFAToString"), typeof(DelegateBII));
                PDFlibGlobalJavaScriptCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGlobalJavaScriptCount"), typeof(DelegateII));
                PDFlibGlobalJavaScriptPackageName = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLGlobalJavaScriptPackageName"), typeof(DelegateWII));
                PDFlibHasFontResources = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLHasFontResources"), typeof(DelegateII));
                PDFlibHasPageBox = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLHasPageBox"), typeof(DelegateIII));
                PDFlibHidePage = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLHidePage"), typeof(DelegateII));
                PDFlibImageCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageCount"), typeof(DelegateII));
                PDFlibImageFillColor = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageFillColor"), typeof(DelegateII));
                PDFlibImageHeight = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageHeight"), typeof(DelegateII));
                PDFlibImageHorizontalResolution = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageHorizontalResolution"), typeof(DelegateII));
                PDFlibImageResolutionUnits = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageResolutionUnits"), typeof(DelegateII));
                PDFlibImageType = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageType"), typeof(DelegateII));
                PDFlibImageVerticalResolution = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageVerticalResolution"), typeof(DelegateII));
                PDFlibImageWidth = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImageWidth"), typeof(DelegateII));
                PDFlibImportEMFFromFile = (DelegateIIWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLImportEMFFromFile"), typeof(DelegateIIWII));
                PDFlibInsertPages = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLInsertPages"), typeof(DelegateIIII));
                PDFlibInsertTableColumns = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLInsertTableColumns"), typeof(DelegateIIIII));
                PDFlibInsertTableRows = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLInsertTableRows"), typeof(DelegateIIIII));
                PDFlibIsAnnotFormField = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLIsAnnotFormField"), typeof(DelegateIII));
                PDFlibIsLinearized = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLIsLinearized"), typeof(DelegateII));
                PDFlibIsTaggedPDF = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLIsTaggedPDF"), typeof(DelegateII));
                PDFlibLastErrorCode = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLastErrorCode"), typeof(DelegateII));
                PDFlibLastRenderError = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLastRenderError"), typeof(DelegateWI));
                PDFlibLibraryVersion = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLibraryVersion"), typeof(DelegateWI));
                PDFlibLibraryVersionEx = (DelegateWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLibraryVersionEx"), typeof(DelegateWI));

                PDFlibLinearizeFile = (DelegateIIWWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLinearizeFile"), typeof(DelegateIIWWWI));
                PDFlibLoadFromCanvasDC = (DelegateIIDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLoadFromCanvasDC"), typeof(DelegateIIDI));
                PDFlibLoadFromFile = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLoadFromFile"), typeof(DelegateIIWW));
                PDFlibLoadFromString = (DelegateIIBW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLoadFromString"), typeof(DelegateIIBW));
                PDFlibLoadState = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLLoadState"), typeof(DelegateII));
                PDFlibMergeDocument = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMergeDocument"), typeof(DelegateIII));
                PDFlibMergeFileList = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMergeFileList"), typeof(DelegateIIWW));
                PDFlibMergeFileListFast = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMergeFileListFast"), typeof(DelegateIIWW));
                PDFlibMergeFiles = (DelegateIIWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMergeFiles"), typeof(DelegateIIWWW));
                PDFlibMergeTableCells = (DelegateIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMergeTableCells"), typeof(DelegateIIIIIII));
                PDFlibMoveContentStream = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMoveContentStream"), typeof(DelegateIIII));
                PDFlibMoveOutlineAfter = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMoveOutlineAfter"), typeof(DelegateIIII));
                PDFlibMoveOutlineBefore = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMoveOutlineBefore"), typeof(DelegateIIII));
                PDFlibMovePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMovePage"), typeof(DelegateIII));
                PDFlibMovePath = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMovePath"), typeof(DelegateIIDD));
                PDFlibMultiplyScale = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLMultiplyScale"), typeof(DelegateIID));
                PDFlibNewChildFormField = (DelegateIIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewChildFormField"), typeof(DelegateIIIWI));
                PDFlibNewContentStream = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewContentStream"), typeof(DelegateII));
                PDFlibNewCustomPrinter = (DelegateWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewCustomPrinter"), typeof(DelegateWIW));
                PDFlibNewDestination = (DelegateIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewDestination"), typeof(DelegateIIIIIDDDD));
                PDFlibNewDocument = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewDocument"), typeof(DelegateII));
                PDFlibNewFormField = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewFormField"), typeof(DelegateIIWI));
                PDFlibNewInternalPrinterObject = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewInternalPrinterObject"), typeof(DelegateIII));
                PDFlibNewNamedDestination = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewNamedDestination"), typeof(DelegateIIWI));
                PDFlibNewOptionalContentGroup = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewOptionalContentGroup"), typeof(DelegateIIW));
                PDFlibNewOutline = (DelegateIIIWID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewOutline"), typeof(DelegateIIIWID));
                PDFlibNewPage = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewPage"), typeof(DelegateII));
                PDFlibNewPageFromCanvasDC = (DelegateIIDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewPageFromCanvasDC"), typeof(DelegateIIDI));
                PDFlibNewPages = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewPages"), typeof(DelegateIII));
                PDFlibNewPostScriptXObject = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewPostScriptXObject"), typeof(DelegateIIW));
                PDFlibNewRGBAxialShader = (DelegateIIWDDDDDDDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewRGBAxialShader"), typeof(DelegateIIWDDDDDDDDDDI));
                PDFlibNewSignProcessFromFile = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewSignProcessFromFile"), typeof(DelegateIIWW));
                PDFlibNewSignProcessFromString = (DelegateIIBW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewSignProcessFromString"), typeof(DelegateIIBW));
                PDFlibNewStaticOutline = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewStaticOutline"), typeof(DelegateIIIW));
                PDFlibNewTilingPatternFromCapturedPage = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNewTilingPatternFromCapturedPage"), typeof(DelegateIIWI));
                PDFlibNoEmbedFontListAdd = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListAdd"), typeof(DelegateIIW));
                PDFlibNoEmbedFontListCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListCount"), typeof(DelegateII));
                PDFlibNoEmbedFontListGet = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListGet"), typeof(DelegateWII));
                PDFlibNoEmbedFontListRemoveAll = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListRemoveAll"), typeof(DelegateII));
                PDFlibNoEmbedFontListRemoveIndex = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListRemoveIndex"), typeof(DelegateIII));
                PDFlibNoEmbedFontListRemoveName = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNoEmbedFontListRemoveName"), typeof(DelegateIIW));
                PDFlibNormalizePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLNormalizePage"), typeof(DelegateIII));
                PDFlibOpenOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLOpenOutline"), typeof(DelegateIII));
                PDFlibOptionalContentGroupCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLOptionalContentGroupCount"), typeof(DelegateII));
                PDFlibOutlineCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLOutlineCount"), typeof(DelegateII));
                PDFlibOutlineTitle = (DelegateWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLOutlineTitle"), typeof(DelegateWII));
                PDFlibPageCount = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageCount"), typeof(DelegateII));
                PDFlibPageHasFontResources = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageHasFontResources"), typeof(DelegateIII));
                PDFlibPageHeight = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageHeight"), typeof(DelegateDI));
                PDFlibPageJavaScriptAction = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageJavaScriptAction"), typeof(DelegateIIWW));
                PDFlibPageRotation = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageRotation"), typeof(DelegateII));
                PDFlibPageWidth = (DelegateDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPageWidth"), typeof(DelegateDI));
                PDFlibPrintDocument = (DelegateIIWIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintDocument"), typeof(DelegateIIWIII));
                PDFlibPrintDocumentToFile = (DelegateIIWIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintDocumentToFile"), typeof(DelegateIIWIIIW));
                PDFlibPrintMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintMode"), typeof(DelegateIII));
                PDFlibPrintOptions = (DelegateIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintOptions"), typeof(DelegateIIIIW));
                PDFlibPrintPages = (DelegateIIWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintPages"), typeof(DelegateIIWWI));
                PDFlibPrintPagesToFile = (DelegateIIWWIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLPrintPagesToFile"), typeof(DelegateIIWWIW));
                PDFlibReleaseBuffer = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseBuffer"), typeof(DelegateIIB));
                PDFlibReleaseImage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseImage"), typeof(DelegateIII));
                PDFlibReleaseImageList = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseImageList"), typeof(DelegateIII));
                PDFlibReleaseLibrary = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseLibrary"), typeof(DelegateII));
                PDFlibReleaseSignProcess = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseSignProcess"), typeof(DelegateIII));
                PDFlibReleaseStringList = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseStringList"), typeof(DelegateIII));
                PDFlibReleaseTextBlocks = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReleaseTextBlocks"), typeof(DelegateIII));
                PDFlibRemoveAppearanceStream = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveAppearanceStream"), typeof(DelegateIII));
                PDFlibRemoveCustomInformation = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveCustomInformation"), typeof(DelegateIIW));
                PDFlibRemoveDocument = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveDocument"), typeof(DelegateIII));
                PDFlibRemoveEmbeddedFile = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveEmbeddedFile"), typeof(DelegateIII));
                PDFlibRemoveFormFieldBackgroundColor = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveFormFieldBackgroundColor"), typeof(DelegateIII));
                PDFlibRemoveFormFieldBorderColor = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveFormFieldBorderColor"), typeof(DelegateIII));
                PDFlibRemoveFormFieldChoiceSub = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveFormFieldChoiceSub"), typeof(DelegateIIIW));
                PDFlibRemoveGlobalJavaScript = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveGlobalJavaScript"), typeof(DelegateIIW));
                PDFlibRemoveOpenAction = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveOpenAction"), typeof(DelegateII));
                PDFlibRemoveOutline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveOutline"), typeof(DelegateIII));
                PDFlibRemovePageBox = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemovePageBox"), typeof(DelegateIII));
                PDFlibRemoveSharedContentStreams = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveSharedContentStreams"), typeof(DelegateII));
                PDFlibRemoveStyle = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveStyle"), typeof(DelegateIIW));
                PDFlibRemoveUsageRights = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveUsageRights"), typeof(DelegateII));
                PDFlibRemoveXFAEntries = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRemoveXFAEntries"), typeof(DelegateIII));
                PDFlibRenderAsMultipageTIFFToFile = (DelegateIIDWIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderAsMultipageTIFFToFile"), typeof(DelegateIIDWIIW));
                PDFlibRenderDocumentToFile = (DelegateIIDIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderDocumentToFile"), typeof(DelegateIIDIIIW));
                PDFlibRenderPageToDC = (DelegateIIDIC)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderPageToDC"), typeof(DelegateIIDIC));
                PDFlibRenderPageToDCClip = (DelegateIIDIIS)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderPageToDCClip"), typeof(DelegateIIDIIS));
                PDFlibRenderPageToFile = (DelegateIIDIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderPageToFile"), typeof(DelegateIIDIIW));
                PDFlibRenderPageToString = (DelegateBIDII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRenderPageToString"), typeof(DelegateBIDII));
                PDFlibReplaceFonts = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReplaceFonts"), typeof(DelegateIII));
                PDFlibReplaceImage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReplaceImage"), typeof(DelegateIIII));
                PDFlibReplaceTag = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReplaceTag"), typeof(DelegateIIWW));
                PDFlibRequestPrinterStatus = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRequestPrinterStatus"), typeof(DelegateIII));
                PDFlibRetrieveCustomDataToFile = (DelegateIIWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRetrieveCustomDataToFile"), typeof(DelegateIIWWI));
                PDFlibRetrieveCustomDataToString = (DelegateBISI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRetrieveCustomDataToString"), typeof(DelegateBISI));
                PDFlibReverseImage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLReverseImage"), typeof(DelegateIII));
                PDFlibRotatePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLRotatePage"), typeof(DelegateIII));
                PDFlibSaveFontToFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveFontToFile"), typeof(DelegateIIW));
                PDFlibSaveImageListItemDataToFile = (DelegateIIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveImageListItemDataToFile"), typeof(DelegateIIIIIW));
                PDFlibSaveImageToFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveImageToFile"), typeof(DelegateIIW));
                PDFlibSaveImageToString = (DelegateBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveImageToString"), typeof(DelegateBI));
                PDFlibSaveState = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveState"), typeof(DelegateII));
                PDFlibSaveStyle = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveStyle"), typeof(DelegateIIW));
                PDFlibSaveToFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveToFile"), typeof(DelegateIIW));
                PDFlibSaveToString = (DelegateBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSaveToString"), typeof(DelegateBI));
                PDFlibSecurityInfo = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSecurityInfo"), typeof(DelegateIII));
                PDFlibSelectContentStream = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectContentStream"), typeof(DelegateIII));
                PDFlibSelectDocument = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectDocument"), typeof(DelegateIII));
                PDFlibSelectFont = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectFont"), typeof(DelegateIII));
                PDFlibSelectImage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectImage"), typeof(DelegateIII));
                PDFlibSelectPage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectPage"), typeof(DelegateIII));
                PDFlibSelectRenderer = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectRenderer"), typeof(DelegateIII));
                PDFlibSelectedDocument = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectedDocument"), typeof(DelegateII));
                PDFlibSelectedFont = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectedFont"), typeof(DelegateII));
                PDFlibSelectedImage = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectedImage"), typeof(DelegateII));
                PDFlibSelectedPage = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSelectedPage"), typeof(DelegateII));
                PDFlibSetActionURL = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetActionURL"), typeof(DelegateIIIW));
                PDFlibSetAnnotBorderColor = (DelegateIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotBorderColor"), typeof(DelegateIIIDDD));
                PDFlibSetAnnotBorderStyle = (DelegateIIIDIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotBorderStyle"), typeof(DelegateIIIDIDD));
                PDFlibSetAnnotContents = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotContents"), typeof(DelegateIIIW));
                PDFlibSetAnnotDblProperty = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotDblProperty"), typeof(DelegateIIIID));
                PDFlibSetAnnotIntProperty = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotIntProperty"), typeof(DelegateIIIII));
                PDFlibSetAnnotOptional = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotOptional"), typeof(DelegateIIII));
                PDFlibSetAnnotQuadPoints = (DelegateIIIIDDDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotQuadPoints"), typeof(DelegateIIIIDDDDDDDD));
                PDFlibSetAnnotRect = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotRect"), typeof(DelegateIIIDDDD));
                PDFlibSetAnnotStrProperty = (DelegateIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnnotStrProperty"), typeof(DelegateIIIIW));
                PDFlibSetAnsiMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAnsiMode"), typeof(DelegateIII));
                PDFlibSetAppendInputFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetAppendInputFromString"), typeof(DelegateIIB));
                PDFlibSetBaseURL = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetBaseURL"), typeof(DelegateIIW));
                PDFlibSetBlendMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetBlendMode"), typeof(DelegateIII));
                PDFlibSetBreakString = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetBreakString"), typeof(DelegateIIW));
                PDFlibSetCSDictEPSG = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCSDictEPSG"), typeof(DelegateIIII));
                PDFlibSetCSDictType = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCSDictType"), typeof(DelegateIIII));
                PDFlibSetCSDictWKT = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCSDictWKT"), typeof(DelegateIIIW));
                PDFlibSetCairoFileName = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCairoFileName"), typeof(DelegateIIW));
                PDFlibSetCapturedPageOptional = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCapturedPageOptional"), typeof(DelegateIIII));
                PDFlibSetCapturedPageTransparencyGroup = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCapturedPageTransparencyGroup"), typeof(DelegateIIIIII));
                PDFlibSetCatalogInformation = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCatalogInformation"), typeof(DelegateIIWW));
                PDFlibSetCharWidth = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCharWidth"), typeof(DelegateIIII));
                PDFlibSetClippingPath = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetClippingPath"), typeof(DelegateII));
                PDFlibSetClippingPathEvenOdd = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetClippingPathEvenOdd"), typeof(DelegateII));
                PDFlibSetCompatibility = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCompatibility"), typeof(DelegateIIII));
                PDFlibSetContentStreamFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetContentStreamFromString"), typeof(DelegateIIB));
                PDFlibSetContentStreamOptional = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetContentStreamOptional"), typeof(DelegateIII));
                PDFlibSetCropBox = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCropBox"), typeof(DelegateIIDDDD));
                PDFlibSetCustomInformation = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCustomInformation"), typeof(DelegateIIWW));
                PDFlibSetCustomLineDash = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetCustomLineDash"), typeof(DelegateIIWD));
                PDFlibSetPDFiumFileName = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPDFiumFileName"), typeof(DelegateIIW));
                PDFlibSetDecodeMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetDecodeMode"), typeof(DelegateIII));
                PDFlibSetDestProperties = (DelegateIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetDestProperties"), typeof(DelegateIIIIIDDDD));
                PDFlibSetDestValue = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetDestValue"), typeof(DelegateIIIID));
                PDFlibSetDocumentMetadata = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetDocumentMetadata"), typeof(DelegateIIW));
                PDFlibSetEmbeddedFileStrProperty = (DelegateIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetEmbeddedFileStrProperty"), typeof(DelegateIIIIW));
                PDFlibSetFillColor = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFillColor"), typeof(DelegateIIDDD));
                PDFlibSetFillColorCMYK = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFillColorCMYK"), typeof(DelegateIIDDDD));
                PDFlibSetFillColorSep = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFillColorSep"), typeof(DelegateIIWD));
                PDFlibSetFillShader = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFillShader"), typeof(DelegateIIW));
                PDFlibSetFillTilingPattern = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFillTilingPattern"), typeof(DelegateIIW));
                PDFlibSetFindImagesMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFindImagesMode"), typeof(DelegateIII));
                PDFlibSetFontEncoding = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFontEncoding"), typeof(DelegateIII));
                PDFlibSetFontFlags = (DelegateIIIIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFontFlags"), typeof(DelegateIIIIIIIIII));
                PDFlibSetFormFieldAlignment = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldAlignment"), typeof(DelegateIIII));
                PDFlibSetFormFieldAnnotFlags = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldAnnotFlags"), typeof(DelegateIIII));
                PDFlibSetFormFieldBackgroundColor = (DelegateIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBackgroundColor"), typeof(DelegateIIIDDD));
                PDFlibSetFormFieldBackgroundColorCMYK = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBackgroundColorCMYK"), typeof(DelegateIIIDDDD));
                PDFlibSetFormFieldBackgroundColorGray = (DelegateIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBackgroundColorGray"), typeof(DelegateIIID));
                PDFlibSetFormFieldBackgroundColorSep = (DelegateIIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBackgroundColorSep"), typeof(DelegateIIIWD));
                PDFlibSetFormFieldBorderColor = (DelegateIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBorderColor"), typeof(DelegateIIIDDD));
                PDFlibSetFormFieldBorderColorCMYK = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBorderColorCMYK"), typeof(DelegateIIIDDDD));
                PDFlibSetFormFieldBorderColorGray = (DelegateIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBorderColorGray"), typeof(DelegateIIID));
                PDFlibSetFormFieldBorderColorSep = (DelegateIIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBorderColorSep"), typeof(DelegateIIIWD));
                PDFlibSetFormFieldBorderStyle = (DelegateIIIDIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBorderStyle"), typeof(DelegateIIIDIDD));
                PDFlibSetFormFieldBounds = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldBounds"), typeof(DelegateIIIDDDD));
                PDFlibSetFormFieldCalcOrder = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldCalcOrder"), typeof(DelegateIIII));
                PDFlibSetFormFieldCaption = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldCaption"), typeof(DelegateIIIW));
                PDFlibSetFormFieldCheckStyle = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldCheckStyle"), typeof(DelegateIIIII));
                PDFlibSetFormFieldChildTitle = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldChildTitle"), typeof(DelegateIIIW));
                PDFlibSetFormFieldChoiceSub = (DelegateIIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldChoiceSub"), typeof(DelegateIIIIWW));
                PDFlibSetFormFieldChoiceType = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldChoiceType"), typeof(DelegateIIII));
                PDFlibSetFormFieldColor = (DelegateIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldColor"), typeof(DelegateIIIDDD));
                PDFlibSetFormFieldColorCMYK = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldColorCMYK"), typeof(DelegateIIIDDDD));
                PDFlibSetFormFieldColorSep = (DelegateIIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldColorSep"), typeof(DelegateIIIWD));
                PDFlibSetFormFieldComb = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldComb"), typeof(DelegateIIII));
                PDFlibSetFormFieldDefaultValue = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldDefaultValue"), typeof(DelegateIIIW));
                PDFlibSetFormFieldDescription = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldDescription"), typeof(DelegateIIIW));
                PDFlibSetFormFieldFlags = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldFlags"), typeof(DelegateIIII));
                PDFlibSetFormFieldFont = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldFont"), typeof(DelegateIIII));
                PDFlibSetFormFieldHighlightMode = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldHighlightMode"), typeof(DelegateIIII));
                PDFlibSetFormFieldIcon = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldIcon"), typeof(DelegateIIIII));
                PDFlibSetFormFieldIconStyle = (DelegateIIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldIconStyle"), typeof(DelegateIIIIIIII));
                PDFlibSetFormFieldMaxLen = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldMaxLen"), typeof(DelegateIIII));
                PDFlibSetFormFieldNoExport = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldNoExport"), typeof(DelegateIIII));
                PDFlibSetFormFieldOptional = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldOptional"), typeof(DelegateIIII));
                PDFlibSetFormFieldPage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldPage"), typeof(DelegateIIII));
                PDFlibSetFormFieldPrintable = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldPrintable"), typeof(DelegateIIII));
                PDFlibSetFormFieldReadOnly = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldReadOnly"), typeof(DelegateIIII));
                PDFlibSetFormFieldRequired = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldRequired"), typeof(DelegateIIII));
                PDFlibSetFormFieldResetAction = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldResetAction"), typeof(DelegateIIIW));
                PDFlibSetFormFieldRichTextString = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldRichTextString"), typeof(DelegateIIIWW));
                PDFlibSetFormFieldRotation = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldRotation"), typeof(DelegateIIII));
                PDFlibSetFormFieldSignatureImage = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldSignatureImage"), typeof(DelegateIIIII));
                PDFlibSetFormFieldStandardFont = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldStandardFont"), typeof(DelegateIIII));
                PDFlibSetFormFieldSubmitAction = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldSubmitAction"), typeof(DelegateIIIWW));
                PDFlibSetFormFieldSubmitActionEx = (DelegateIIIWWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldSubmitActionEx"), typeof(DelegateIIIWWI));
                PDFlibSetFormFieldTabOrder = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldTabOrder"), typeof(DelegateIIII));
                PDFlibSetFormFieldTextFlags = (DelegateIIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldTextFlags"), typeof(DelegateIIIIIIII));
                PDFlibSetFormFieldTextSize = (DelegateIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldTextSize"), typeof(DelegateIIID));
                PDFlibSetFormFieldTitle = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldTitle"), typeof(DelegateIIIW));
                PDFlibSetFormFieldValue = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldValue"), typeof(DelegateIIIW));
                PDFlibSetFormFieldValueByTitle = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldValueByTitle"), typeof(DelegateIIWW));
                PDFlibSetFormFieldVisible = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetFormFieldVisible"), typeof(DelegateIIII));
                PDFlibSetGDIPlusFileName = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetGDIPlusFileName"), typeof(DelegateIIW));
                PDFlibSetGDIPlusOptions = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetGDIPlusOptions"), typeof(DelegateIIII));
                PDFlibSetHTMLBoldFont = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetHTMLBoldFont"), typeof(DelegateIIWI));
                PDFlibSetHTMLBoldItalicFont = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetHTMLBoldItalicFont"), typeof(DelegateIIWI));
                PDFlibSetHTMLItalicFont = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetHTMLItalicFont"), typeof(DelegateIIWI));
                PDFlibSetHTMLNormalFont = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetHTMLNormalFont"), typeof(DelegateIIWI));
                PDFlibSetHeaderCommentsFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetHeaderCommentsFromString"), typeof(DelegateIIB));
                PDFlibSetImageAsMask = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageAsMask"), typeof(DelegateIII));
                PDFlibSetImageMask = (DelegateIIDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageMask"), typeof(DelegateIIDDDDDD));
                PDFlibSetImageMaskCMYK = (DelegateIIDDDDDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageMaskCMYK"), typeof(DelegateIIDDDDDDDD));
                PDFlibSetImageMaskFromImage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageMaskFromImage"), typeof(DelegateIII));
                PDFlibSetImageOptional = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageOptional"), typeof(DelegateIII));
                PDFlibSetImageResolution = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetImageResolution"), typeof(DelegateIIIII));
                PDFlibSetInformation = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetInformation"), typeof(DelegateIIIW));
                PDFlibSetJPEGQuality = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetJPEGQuality"), typeof(DelegateIII));
                PDFlibSetJavaScriptMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetJavaScriptMode"), typeof(DelegateIII));
                PDFlibSetKerning = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetKerning"), typeof(DelegateIIWI));
                PDFlibSetLineCap = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineCap"), typeof(DelegateIII));
                PDFlibSetLineColor = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineColor"), typeof(DelegateIIDDD));
                PDFlibSetLineColorCMYK = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineColorCMYK"), typeof(DelegateIIDDDD));
                PDFlibSetLineColorSep = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineColorSep"), typeof(DelegateIIWD));
                PDFlibSetLineDash = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineDash"), typeof(DelegateIIDD));
                PDFlibSetLineDashEx = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineDashEx"), typeof(DelegateIIW));
                PDFlibSetLineJoin = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineJoin"), typeof(DelegateIII));
                PDFlibSetLineShader = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineShader"), typeof(DelegateIIW));
                PDFlibSetLineWidth = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetLineWidth"), typeof(DelegateIID));
                PDFlibSetMarkupAnnotStyle = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMarkupAnnotStyle"), typeof(DelegateIIIDDDD));
                PDFlibSetMeasureDictBoundsCount = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictBoundsCount"), typeof(DelegateIIII));
                PDFlibSetMeasureDictBoundsItem = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictBoundsItem"), typeof(DelegateIIIID));
                PDFlibSetMeasureDictCoordinateSystem = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictCoordinateSystem"), typeof(DelegateIIII));
                PDFlibSetMeasureDictGPTSCount = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictGPTSCount"), typeof(DelegateIIII));
                PDFlibSetMeasureDictGPTSItem = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictGPTSItem"), typeof(DelegateIIIID));
                PDFlibSetMeasureDictLPTSCount = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictLPTSCount"), typeof(DelegateIIII));
                PDFlibSetMeasureDictLPTSItem = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictLPTSItem"), typeof(DelegateIIIID));
                PDFlibSetMeasureDictPDU = (DelegateIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasureDictPDU"), typeof(DelegateIIIIII));
                PDFlibSetMeasurementUnits = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetMeasurementUnits"), typeof(DelegateIII));
                PDFlibSetNeedAppearances = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetNeedAppearances"), typeof(DelegateIII));
                PDFlibSetObjectFromString = (DelegateIIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetObjectFromString"), typeof(DelegateIIIB));
                PDFlibSetOpenActionDestination = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOpenActionDestination"), typeof(DelegateIIII));
                PDFlibSetOpenActionDestinationFull = (DelegateIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOpenActionDestinationFull"), typeof(DelegateIIIIIDDDD));
                PDFlibSetOpenActionJavaScript = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOpenActionJavaScript"), typeof(DelegateIIW));
                PDFlibSetOpenActionMenu = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOpenActionMenu"), typeof(DelegateIIW));
                PDFlibSetOptionalContentConfigLocked = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOptionalContentConfigLocked"), typeof(DelegateIIIII));
                PDFlibSetOptionalContentConfigState = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOptionalContentConfigState"), typeof(DelegateIIIII));
                PDFlibSetOptionalContentGroupName = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOptionalContentGroupName"), typeof(DelegateIIIW));
                PDFlibSetOptionalContentGroupPrintable = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOptionalContentGroupPrintable"), typeof(DelegateIIII));
                PDFlibSetOptionalContentGroupVisible = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOptionalContentGroupVisible"), typeof(DelegateIIII));
                PDFlibSetOrigin = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOrigin"), typeof(DelegateIII));
                PDFlibSetOutlineColor = (DelegateIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineColor"), typeof(DelegateIIIDDD));
                PDFlibSetOutlineDestination = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineDestination"), typeof(DelegateIIIID));
                PDFlibSetOutlineDestinationFull = (DelegateIIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineDestinationFull"), typeof(DelegateIIIIIIDDDD));
                PDFlibSetOutlineDestinationZoom = (DelegateIIIIDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineDestinationZoom"), typeof(DelegateIIIIDI));
                PDFlibSetOutlineJavaScript = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineJavaScript"), typeof(DelegateIIIW));
                PDFlibSetOutlineNamedDestination = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineNamedDestination"), typeof(DelegateIIIW));
                PDFlibSetOutlineOpenFile = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineOpenFile"), typeof(DelegateIIIW));
                PDFlibSetOutlineRemoteDestination = (DelegateIIIWIIIDDDDI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineRemoteDestination"), typeof(DelegateIIIWIIIDDDDI));
                PDFlibSetOutlineStyle = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineStyle"), typeof(DelegateIIIII));
                PDFlibSetOutlineTitle = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineTitle"), typeof(DelegateIIIW));
                PDFlibSetOutlineWebLink = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOutlineWebLink"), typeof(DelegateIIIW));
                PDFlibSetOverprint = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetOverprint"), typeof(DelegateIIIII));
                PDFlibSetPDFAMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPDFAMode"), typeof(DelegateIII));
                PDFlibSetPNGTransparencyColor = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPNGTransparencyColor"), typeof(DelegateIIIII));
                PDFlibSetPageActionMenu = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageActionMenu"), typeof(DelegateIIW));
                PDFlibSetPageBox = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageBox"), typeof(DelegateIIIDDDD));
                PDFlibSetPageContentFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageContentFromString"), typeof(DelegateIIB));
                PDFlibSetPageDimensions = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageDimensions"), typeof(DelegateIIDD));
                PDFlibSetPageLayout = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageLayout"), typeof(DelegateIII));
                PDFlibSetPageMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageMode"), typeof(DelegateIII));
                PDFlibSetPageSize = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageSize"), typeof(DelegateIIW));
                PDFlibSetPageThumbnail = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageThumbnail"), typeof(DelegateII));
                PDFlibSetPageTransparencyGroup = (DelegateIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageTransparencyGroup"), typeof(DelegateIIIII));
                PDFlibSetPageUserUnit = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPageUserUnit"), typeof(DelegateIID));
                PDFlibSetPrecision = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPrecision"), typeof(DelegateIII));
                PDFlibSetPrinterDevModeFromString = (DelegateIIB)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetPrinterDevModeFromString"), typeof(DelegateIIB));
                PDFlibSetRenderCropType = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetRenderCropType"), typeof(DelegateIII));
                PDFlibSetRenderDCErasePage = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetRenderDCErasePage"), typeof(DelegateIII));
                PDFlibSetRenderDCOffset = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetRenderDCOffset"), typeof(DelegateIIII));
                PDFlibSetRenderOptions = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetRenderOptions"), typeof(DelegateIIII));
                PDFlibSetRenderScale = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetRenderScale"), typeof(DelegateIID));
                PDFlibSetScale = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetScale"), typeof(DelegateIID));
                PDFlibSetSignProcessCustomSubFilter = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessCustomSubFilter"), typeof(DelegateIIIW));
                PDFlibSetSignProcessField = (DelegateIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessField"), typeof(DelegateIIIW));
                PDFlibSetSignProcessFieldBounds = (DelegateIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessFieldBounds"), typeof(DelegateIIIDDDD));
                PDFlibSetSignProcessFieldImageFromFile = (DelegateIIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessFieldImageFromFile"), typeof(DelegateIIIWI));
                PDFlibSetSignProcessFieldPage = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessFieldPage"), typeof(DelegateIIII));
                PDFlibSetSignProcessInfo = (DelegateIIIWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessInfo"), typeof(DelegateIIIWWW));
                PDFlibSetSignProcessKeyset = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessKeyset"), typeof(DelegateIIII));
                PDFlibSetSignProcessPFXFromFile = (DelegateIIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessPFXFromFile"), typeof(DelegateIIIWW));
                PDFlibSetSignProcessPassthrough = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessPassthrough"), typeof(DelegateIIII));
                PDFlibSetSignProcessSubFilter = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetSignProcessSubFilter"), typeof(DelegateIIII));
                PDFlibSetTabOrderMode = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTabOrderMode"), typeof(DelegateIIW));
                PDFlibSetTableBorderColor = (DelegateIIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableBorderColor"), typeof(DelegateIIIIDDD));
                PDFlibSetTableBorderColorCMYK = (DelegateIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableBorderColorCMYK"), typeof(DelegateIIIIDDDD));
                PDFlibSetTableBorderWidth = (DelegateIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableBorderWidth"), typeof(DelegateIIIID));
                PDFlibSetTableCellAlignment = (DelegateIIIIIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellAlignment"), typeof(DelegateIIIIIIII));
                PDFlibSetTableCellBackgroundColor = (DelegateIIIIIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellBackgroundColor"), typeof(DelegateIIIIIIIDDD));
                PDFlibSetTableCellBackgroundColorCMYK = (DelegateIIIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellBackgroundColorCMYK"), typeof(DelegateIIIIIIIDDDD));
                PDFlibSetTableCellBorderColor = (DelegateIIIIIIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellBorderColor"), typeof(DelegateIIIIIIIIDDD));
                PDFlibSetTableCellBorderColorCMYK = (DelegateIIIIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellBorderColorCMYK"), typeof(DelegateIIIIIIIIDDDD));
                PDFlibSetTableCellBorderWidth = (DelegateIIIIIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellBorderWidth"), typeof(DelegateIIIIIIIID));
                PDFlibSetTableCellContent = (DelegateIIIIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellContent"), typeof(DelegateIIIIIW));
                PDFlibSetTableCellPadding = (DelegateIIIIIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellPadding"), typeof(DelegateIIIIIIIID));
                PDFlibSetTableCellTextColor = (DelegateIIIIIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellTextColor"), typeof(DelegateIIIIIIIDDD));
                PDFlibSetTableCellTextColorCMYK = (DelegateIIIIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellTextColorCMYK"), typeof(DelegateIIIIIIIDDDD));
                PDFlibSetTableCellTextSize = (DelegateIIIIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableCellTextSize"), typeof(DelegateIIIIIIID));
                PDFlibSetTableColumnWidth = (DelegateIIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableColumnWidth"), typeof(DelegateIIIIID));
                PDFlibSetTableRowHeight = (DelegateIIIIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableRowHeight"), typeof(DelegateIIIIID));
                PDFlibSetTableThinBorders = (DelegateIIIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableThinBorders"), typeof(DelegateIIIIDDD));
                PDFlibSetTableThinBordersCMYK = (DelegateIIIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTableThinBordersCMYK"), typeof(DelegateIIIIDDDD));
                PDFlibSetTempFile = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTempFile"), typeof(DelegateIIW));
                PDFlibSetTempPath = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTempPath"), typeof(DelegateIIW));
                PDFlibSetTextAlign = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextAlign"), typeof(DelegateIII));
                PDFlibSetTextCharSpacing = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextCharSpacing"), typeof(DelegateIID));
                PDFlibSetTextColor = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextColor"), typeof(DelegateIIDDD));
                PDFlibSetTextColorCMYK = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextColorCMYK"), typeof(DelegateIIDDDD));
                PDFlibSetTextColorSep = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextColorSep"), typeof(DelegateIIWD));
                PDFlibSetTextExtractionArea = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextExtractionArea"), typeof(DelegateIIDDDD));
                PDFlibSetTextExtractionOptions = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextExtractionOptions"), typeof(DelegateIIII));
                PDFlibSetTextExtractionScaling = (DelegateIIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextExtractionScaling"), typeof(DelegateIIIDD));
                PDFlibSetTextExtractionWordGap = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextExtractionWordGap"), typeof(DelegateIID));
                PDFlibSetTextHighlight = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextHighlight"), typeof(DelegateIII));
                PDFlibSetTextHighlightColor = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextHighlightColor"), typeof(DelegateIIDDD));
                PDFlibSetTextHighlightColorCMYK = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextHighlightColorCMYK"), typeof(DelegateIIDDDD));
                PDFlibSetTextHighlightColorSep = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextHighlightColorSep"), typeof(DelegateIIWD));
                PDFlibSetTextMode = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextMode"), typeof(DelegateIII));
                PDFlibSetTextRise = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextRise"), typeof(DelegateIID));
                PDFlibSetTextScaling = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextScaling"), typeof(DelegateIID));
                PDFlibSetTextShader = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextShader"), typeof(DelegateIIW));
                PDFlibSetTextSize = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextSize"), typeof(DelegateIID));
                PDFlibSetTextSpacing = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextSpacing"), typeof(DelegateIID));
                PDFlibSetTextUnderline = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderline"), typeof(DelegateIII));
                PDFlibSetTextUnderlineColor = (DelegateIIDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineColor"), typeof(DelegateIIDDD));
                PDFlibSetTextUnderlineColorCMYK = (DelegateIIDDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineColorCMYK"), typeof(DelegateIIDDDD));
                PDFlibSetTextUnderlineColorSep = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineColorSep"), typeof(DelegateIIWD));
                PDFlibSetTextUnderlineCustomDash = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineCustomDash"), typeof(DelegateIIWD));
                PDFlibSetTextUnderlineDash = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineDash"), typeof(DelegateIIDD));
                PDFlibSetTextUnderlineDistance = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineDistance"), typeof(DelegateIID));
                PDFlibSetTextUnderlineWidth = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextUnderlineWidth"), typeof(DelegateIID));
                PDFlibSetTextWordSpacing = (DelegateIID)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTextWordSpacing"), typeof(DelegateIID));
                PDFlibSetTransparency = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetTransparency"), typeof(DelegateIII));
                PDFlibSetViewerPreferences = (DelegateIIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetViewerPreferences"), typeof(DelegateIIII));
                PDFlibSetXFAFormFieldAccess = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFormFieldAccess"), typeof(DelegateIIWI));
                PDFlibSetXFAFormFieldBorderColor = (DelegateIIWDDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFormFieldBorderColor"), typeof(DelegateIIWDDD));
                PDFlibSetXFAFormFieldBorderPresence = (DelegateIIWI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFormFieldBorderPresence"), typeof(DelegateIIWI));
                PDFlibSetXFAFormFieldBorderWidth = (DelegateIIWD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFormFieldBorderWidth"), typeof(DelegateIIWD));
                PDFlibSetXFAFormFieldValue = (DelegateIIWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFormFieldValue"), typeof(DelegateIIWW));
                PDFlibSetXFAFromString = (DelegateIIBI)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetXFAFromString"), typeof(DelegateIIBI));
                PDFlibSetupPrinter = (DelegateIIWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSetupPrinter"), typeof(DelegateIIWII));
                PDFlibSignFile = (DelegateIIWWWWWWWWW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSignFile"), typeof(DelegateIIWWWWWWWWW));
                PDFlibSplitPageText = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLSplitPageText"), typeof(DelegateIII));
                PDFlibStartPath = (DelegateIIDD)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLStartPath"), typeof(DelegateIIDD));
                PDFlibStoreCustomDataFromFile = (DelegateIIWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLStoreCustomDataFromFile"), typeof(DelegateIIWWII));
                PDFlibStoreCustomDataFromString = (DelegateIISBII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLStoreCustomDataFromString"), typeof(DelegateIISBII));
                PDFlibStringResultLength = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLStringResultLength"), typeof(DelegateII));
                PDFlibTestTempPath = (DelegateII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLTestTempPath"), typeof(DelegateII));
                PDFlibTransformFile = (DelegateIIWWWII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLTransformFile"), typeof(DelegateIIWWWII));
                PDFlibUpdateAndFlattenFormField = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLUpdateAndFlattenFormField"), typeof(DelegateIII));
                PDFlibUpdateAppearanceStream = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLUpdateAppearanceStream"), typeof(DelegateIII));
                PDFlibUpdateTrueTypeSubsettedFont = (DelegateIIW)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLUpdateTrueTypeSubsettedFont"), typeof(DelegateIIW));
                PDFlibUseKerning = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLUseKerning"), typeof(DelegateIII));
                PDFlibUseUnsafeContentStreams = (DelegateIII)Marshal.GetDelegateForFunctionPointer(
                    GetProcAddress(dllHandle, "DLUseUnsafeContentStreams"), typeof(DelegateIII));
            }
        }

        ~DLL()
        {
            Release();
        }

        public void Release()
        {
            if (dllHandle != IntPtr.Zero)
            {
                foreach (int instanceID in shutDownList)
                {
                    PDFlibReleaseLibrary(instanceID);
                }
                FreeLibrary(dllHandle);
                dllHandle = IntPtr.Zero;
            }
        }

        internal delegate int DelegateIIDDD(int P1, double P2, double P3, double P4);
        internal delegate int DelegateIIDDDD(int P1, double P2, double P3, double P4, double P5);
        internal delegate int DelegateIII(int P1, int P2);
        internal delegate int DelegateIIDDDDDD(int P1, double P2, double P3, double P4, double P5, double P6, double P7);
        internal delegate int DelegateIIWW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate int DelegateIIWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3);
        internal delegate int DelegateIIIWW(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate int DelegateIIIW(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate int DelegateIIDDDDWII(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, int P7, int P8);
        internal delegate int DelegateIIDDDDWIII(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, int P7, int P8, int P9);
        internal delegate int DelegateIIWIII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3, int P4, int P5);
        internal delegate int DelegateIIBI(int P1, IntPtr P2, int P3);
        internal delegate int DelegateIIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2);
        internal delegate int DelegateIIDD(int P1, double P2, double P3);
        internal delegate int DelegateIIDDDDII(int P1, double P2, double P3, double P4, double P5, int P6, int P7);
        internal delegate int DelegateIIDDDDIWWII(int P1, double P2, double P3, double P4, double P5, int P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, [MarshalAs(UnmanagedType.LPWStr)] string P8, int P9, int P10);
        internal delegate int DelegateIIDDDDWIDII(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, int P7, double P8, int P9, int P10);
        internal delegate int DelegateIIDDDDWWDII(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, double P8, int P9, int P10);
        internal delegate int DelegateIIDDDDWIIIIIDDDD(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, int P7, int P8, int P9, int P10, int P11, double P12, double P13, double P14, double P15);
        internal delegate int DelegateIIDDDDWI(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, int P7);
        internal delegate int DelegateIIDDDDIDI(int P1, double P2, double P3, double P4, double P5, int P6, double P7, int P8);
        internal delegate int DelegateIIDDIDDDDWWDDDI(int P1, double P2, double P3, int P4, double P5, double P6, double P7, double P8, [MarshalAs(UnmanagedType.LPWStr)] string P9, [MarshalAs(UnmanagedType.LPWStr)] string P10, double P11, double P12, double P13, int P14);
        internal delegate int DelegateIIIIIW(int P1, int P2, int P3, int P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIDDDDWWI(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, int P8);
        internal delegate int DelegateIIWDDDDI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, double P3, double P4, double P5, double P6, int P7);
        internal delegate int DelegateIIDDDDIWWDDDI(int P1, double P2, double P3, double P4, double P5, int P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, [MarshalAs(UnmanagedType.LPWStr)] string P8, double P9, double P10, double P11, int P12);
        internal delegate int DelegateIIDDDDWWWDDDI(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, [MarshalAs(UnmanagedType.LPWStr)] string P8, double P9, double P10, double P11, int P12);
        internal delegate int DelegateIIWIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate int DelegateIIIDDDD(int P1, int P2, double P3, double P4, double P5, double P6);
        internal delegate int DelegateIIBBI(int P1, IntPtr P2, IntPtr P3, int P4);
        internal delegate int DelegateIIWWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4);
        internal delegate int DelegateII(int P1);
        internal delegate int DelegateIID(int P1, double P2);
        internal delegate int DelegateIIII(int P1, int P2, int P3);
        internal delegate IntPtr DelegateBII(int P1, int P2);
        internal delegate int DelegateIIWWII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, int P5);
        internal delegate int DelegateIIIII(int P1, int P2, int P3, int P4);
        internal delegate int DelegateIIIWI(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4);
        internal delegate int DelegateI();
        internal delegate int DelegateIIIIIDDDD(int P1, int P2, int P3, int P4, double P5, double P6, double P7, double P8);
        internal delegate int DelegateIIIIIDDDDD(int P1, int P2, int P3, int P4, double P5, double P6, double P7, double P8, double P9);
        internal delegate IntPtr DelegateWIIII(int P1, int P2, int P3, int P4);
        internal delegate IntPtr DelegateWIII(int P1, int P2, int P3);
        internal delegate IntPtr DelegateBIIII(int P1, int P2, int P3, int P4);
        internal delegate double DelegateDIIIII(int P1, int P2, int P3, int P4, int P5);
        internal delegate int DelegateIIIIII(int P1, int P2, int P3, int P4, int P5);
        internal delegate IntPtr DelegateWIIW(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate IntPtr DelegateBIII(int P1, int P2, int P3);
        internal delegate double DelegateDIII(int P1, int P2, int P3);
        internal delegate double DelegateDIIII(int P1, int P2, int P3, int P4);
        internal delegate int DelegateIIIIDC(int P1, int P2, int P3, double P4, IntPtr P5);
        internal delegate int DelegateIIIIIDW(int P1, int P2, int P3, int P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate IntPtr DelegateBIIIID(int P1, int P2, int P3, int P4, double P5);
        internal delegate int DelegateIIIIDD(int P1, int P2, int P3, double P4, double P5);
        internal delegate int DelegateIIIDD(int P1, int P2, double P3, double P4);
        internal delegate int DelegateIIWWW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate int DelegateIIDDDDDII(int P1, double P2, double P3, double P4, double P5, double P6, int P7, int P8);
        internal delegate int DelegateIIDDDDI(int P1, double P2, double P3, double P4, double P5, int P6);
        internal delegate int DelegateIIIDDDDDD(int P1, int P2, double P3, double P4, double P5, double P6, double P7, double P8);
        internal delegate int DelegateIIDDDI(int P1, double P2, double P3, double P4, int P5);
        internal delegate int DelegateIIDDDWIII(int P1, double P2, double P3, double P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, int P6, int P7, int P8);
        internal delegate int DelegateIIDDDDDDII(int P1, double P2, double P3, double P4, double P5, double P6, double P7, int P8, int P9);
        internal delegate int DelegateIIDDDW(int P1, double P2, double P3, double P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate IntPtr DelegateWIDDDDW(int P1, double P2, double P3, double P4, double P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate IntPtr DelegateWIDDWDDDDDD(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, double P5, double P6, double P7, double P8, double P9, double P10);
        internal delegate int DelegateIIDWDDDDDD(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, double P4, double P5, double P6, double P7, double P8, double P9);
        internal delegate int DelegateIIDDDDDDWI(int P1, double P2, double P3, double P4, double P5, double P6, double P7, [MarshalAs(UnmanagedType.LPWStr)] string P8, int P9);
        internal delegate int DelegateIIDDWW(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIDDWI(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5);
        internal delegate int DelegateIIDDWIIIIDD(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5, int P6, int P7, int P8, double P9, double P10);
        internal delegate int DelegateIIDDDWII(int P1, double P2, double P3, double P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, int P6, int P7);
        internal delegate int DelegateIIDDDDDI(int P1, double P2, double P3, double P4, double P5, double P6, int P7);
        internal delegate int DelegateIIIDDDDD(int P1, int P2, double P3, double P4, double P5, double P6, double P7);
        internal delegate int DelegateIIDDDDD(int P1, double P2, double P3, double P4, double P5, double P6);
        internal delegate int DelegateIIDDDWW(int P1, double P2, double P3, double P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate int DelegateIIDDDDDWI(int P1, double P2, double P3, double P4, double P5, double P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, int P8);
        internal delegate int DelegateIIDDDDDWIIII(int P1, double P2, double P3, double P4, double P5, double P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, int P8, int P9, int P10, int P11);
        internal delegate int DelegateIIDDDDDDI(int P1, double P2, double P3, double P4, double P5, double P6, double P7, int P8);
        internal delegate double DelegateDIIDDDII(int P1, int P2, double P3, double P4, double P5, int P6, int P7);
        internal delegate int DelegateIIDDW(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate int DelegateIIDDWIDDDDDD(int P1, double P2, double P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5, double P6, double P7, double P8, double P9, double P10, double P11);
        internal delegate int DelegateIIIIIIIIII(int P1, int P2, int P3, int P4, int P5, int P6, int P7, int P8, int P9);
        internal delegate int DelegateIIWWWWII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, int P6, int P7);
        internal delegate IntPtr DelegateBIWWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4);
        internal delegate IntPtr DelegateWIWWII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, int P5);
        internal delegate int DelegateIIWWWW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIWWWWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, int P6);
        internal delegate IntPtr DelegateWIWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3);
        internal delegate int DelegateIIDDDDIII(int P1, double P2, double P3, double P4, double P5, int P6, int P7, int P8);
        internal delegate IntPtr DelegateWI(int P1);
        internal delegate IntPtr DelegateWII(int P1, int P2);
        internal delegate int DelegateIIIIW(int P1, int P2, int P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate double DelegateDIDWI(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4);
        internal delegate IntPtr DelegateCIII(int P1, int P2, int P3);
        internal delegate IntPtr DelegateWIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2);
        internal delegate IntPtr DelegateBI(int P1);
        internal delegate IntPtr DelegateWIWW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate double DelegateDII(int P1, int P2);
        internal delegate double DelegateDIDW(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate int DelegateIIDW(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate int DelegateIIB(int P1, IntPtr P2);
        internal delegate double DelegateDI(int P1);
        internal delegate IntPtr DelegateBIWIIII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3, int P4, int P5, int P6);
        internal delegate IntPtr DelegateBIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2);
        internal delegate IntPtr DelegateWIIIII(int P1, int P2, int P3, int P4, int P5);
        internal delegate double DelegateDIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2);
        internal delegate IntPtr DelegateWIDWW(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4);
        internal delegate int DelegateIIWII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3, int P4);
        internal delegate int DelegateIIWWWI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5);
        internal delegate int DelegateIIDI(int P1, double P2, int P3);
        internal delegate int DelegateIIBW(int P1, IntPtr P2, [MarshalAs(UnmanagedType.LPWStr)] string P3);
        internal delegate int DelegateIIIIIII(int P1, int P2, int P3, int P4, int P5, int P6);
        internal delegate int DelegateIIIWID(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, double P5);
        internal delegate int DelegateIIWDDDDDDDDDDI(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, double P3, double P4, double P5, double P6, double P7, double P8, double P9, double P10, double P11, double P12, int P13);
        internal delegate int DelegateIIWIIIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, int P3, int P4, int P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate int DelegateIIWWIW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIDWIIW(int P1, double P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, int P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate int DelegateIIDIIIW(int P1, double P2, int P3, int P4, int P5, [MarshalAs(UnmanagedType.LPWStr)] string P6);
        internal delegate int DelegateIIDIC(int P1, double P2, int P3, IntPtr P4);
        internal delegate int DelegateIIDIIS(int P1, double P2, int P3, int P4, string P5);
        internal delegate int DelegateIIDIIW(int P1, double P2, int P3, int P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate IntPtr DelegateBIDII(int P1, double P2, int P3, int P4);
        internal delegate IntPtr DelegateBISI(int P1, string P2, int P3);
        internal delegate int DelegateIIIDDD(int P1, int P2, double P3, double P4, double P5);
        internal delegate int DelegateIIIDIDD(int P1, int P2, double P3, int P4, double P5, double P6);
        internal delegate int DelegateIIIID(int P1, int P2, int P3, double P4);
        internal delegate int DelegateIIIIDDDDDDDD(int P1, int P2, int P3, double P4, double P5, double P6, double P7, double P8, double P9, double P10, double P11);
        internal delegate int DelegateIIWD(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, double P3);
        internal delegate int DelegateIIID(int P1, int P2, double P3);
        internal delegate int DelegateIIIWD(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, double P4);
        internal delegate int DelegateIIIIWW(int P1, int P2, int P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIIIIIII(int P1, int P2, int P3, int P4, int P5, int P6, int P7);
        internal delegate int DelegateIIIWWI(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5);
        internal delegate int DelegateIIDDDDDDDD(int P1, double P2, double P3, double P4, double P5, double P6, double P7, double P8, double P9);
        internal delegate int DelegateIIIB(int P1, int P2, IntPtr P3);
        internal delegate int DelegateIIIIIIDDDD(int P1, int P2, int P3, int P4, int P5, double P6, double P7, double P8, double P9);
        internal delegate int DelegateIIIIDI(int P1, int P2, int P3, double P4, int P5);
        internal delegate int DelegateIIIWIIIDDDDI(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, int P4, int P5, int P6, double P7, double P8, double P9, double P10, int P11);
        internal delegate int DelegateIIIWWW(int P1, int P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5);
        internal delegate int DelegateIIIIDDD(int P1, int P2, int P3, double P4, double P5, double P6);
        internal delegate int DelegateIIIIDDDD(int P1, int P2, int P3, double P4, double P5, double P6, double P7);
        internal delegate int DelegateIIIIIIIDDD(int P1, int P2, int P3, int P4, int P5, int P6, double P7, double P8, double P9);
        internal delegate int DelegateIIIIIIIDDDD(int P1, int P2, int P3, int P4, int P5, int P6, double P7, double P8, double P9, double P10);
        internal delegate int DelegateIIIIIIIIDDD(int P1, int P2, int P3, int P4, int P5, int P6, int P7, double P8, double P9, double P10);
        internal delegate int DelegateIIIIIIIIDDDD(int P1, int P2, int P3, int P4, int P5, int P6, int P7, double P8, double P9, double P10, double P11);
        internal delegate int DelegateIIIIIIIID(int P1, int P2, int P3, int P4, int P5, int P6, int P7, double P8);
        internal delegate int DelegateIIIIIIID(int P1, int P2, int P3, int P4, int P5, int P6, double P7);
        internal delegate int DelegateIIIIID(int P1, int P2, int P3, int P4, double P5);
        internal delegate int DelegateIIWDDD(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, double P3, double P4, double P5);
        internal delegate int DelegateIIWWWWWWWWW(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, [MarshalAs(UnmanagedType.LPWStr)] string P5, [MarshalAs(UnmanagedType.LPWStr)] string P6, [MarshalAs(UnmanagedType.LPWStr)] string P7, [MarshalAs(UnmanagedType.LPWStr)] string P8, [MarshalAs(UnmanagedType.LPWStr)] string P9, [MarshalAs(UnmanagedType.LPWStr)] string P10);
        internal delegate int DelegateIISBII(int P1, string P2, IntPtr P3, int P4, int P5);
        internal delegate int DelegateIIWWWII(int P1, [MarshalAs(UnmanagedType.LPWStr)] string P2, [MarshalAs(UnmanagedType.LPWStr)] string P3, [MarshalAs(UnmanagedType.LPWStr)] string P4, int P5, int P6);
        public DelegateIIDDD PDFlibAddArcToPath;
        public DelegateIIDDDD PDFlibAddBoxToPath;
        public DelegateIII PDFlibAddCJKFont;
        public DelegateIIDDDDDD PDFlibAddCurveToPath;
        public DelegateIIWW PDFlibAddEmbeddedFile;
        public DelegateIIWI PDFlibAddFileAttachment;
        public DelegateIIIWW PDFlibAddFormFieldChoiceSub;
        public DelegateIIIW PDFlibAddFormFieldSub;
        public DelegateIII PDFlibAddFormFont;
        public DelegateIIDDDDWII PDFlibAddFreeTextAnnotation;
        public DelegateIIDDDDWIII PDFlibAddFreeTextAnnotationEx;
        public DelegateIIWW PDFlibAddGlobalJavaScript;
        public DelegateIIWI PDFlibAddImageFromFile;
        public DelegateIIWIII PDFlibAddImageFromFileOffset;
        public DelegateIIBI PDFlibAddImageFromString;
        public DelegateIIW PDFlibAddLGIDictToPage;
        public DelegateIIDD PDFlibAddLineToPath;
        public DelegateIIDDDDII PDFlibAddLinkToDestination;
        public DelegateIIDDDDIWWII PDFlibAddLinkToEmbeddedFile;
        public DelegateIIDDDDWIDII PDFlibAddLinkToFile;
        public DelegateIIDDDDWWDII PDFlibAddLinkToFileDest;
        public DelegateIIDDDDWIIIIIDDDD PDFlibAddLinkToFileEx;
        public DelegateIIDDDDWI PDFlibAddLinkToJavaScript;
        public DelegateIIDDDDWI PDFlibAddLinkToLocalFile;
        public DelegateIIDDDDIDI PDFlibAddLinkToPage;
        public DelegateIIDDDDWI PDFlibAddLinkToWeb;
        public DelegateIIDDIDDDDWWDDDI PDFlibAddNoteAnnotation;
        public DelegateIIWI PDFlibAddOpenTypeFontFromFile;
        public DelegateIIIIIW PDFlibAddPageLabels;
        public DelegateIIDDDD PDFlibAddPageMatrix;
        public DelegateIIDDDDWIDII PDFlibAddRelativeLinkToFile;
        public DelegateIIDDDDWWDII PDFlibAddRelativeLinkToFileDest;
        public DelegateIIDDDDWIIIIIDDDD PDFlibAddRelativeLinkToFileEx;
        public DelegateIIDDDDWI PDFlibAddRelativeLinkToLocalFile;
        public DelegateIIDDDDWI PDFlibAddSVGAnnotationFromFile;
        public DelegateIIDDDDWWI PDFlibAddSWFAnnotationFromFile;
        public DelegateIIWDDDDI PDFlibAddSeparationColor;
        public DelegateIIDDDDIWWDDDI PDFlibAddStampAnnotation;
        public DelegateIIDDDDWWWDDDI PDFlibAddStampAnnotationFromImage;
        public DelegateIIDDDDIWWDDDI PDFlibAddStampAnnotationFromImageID;
        public DelegateIII PDFlibAddStandardFont;
        public DelegateIIWIW PDFlibAddSubsettedFont;
        public DelegateIIIDDDD PDFlibAddTextMarkupAnnotation;
        public DelegateIIBBI PDFlibAddToBuffer;
        public DelegateIIWW PDFlibAddToFileList;
        public DelegateIIWI PDFlibAddTrueTypeFont;
        public DelegateIIW PDFlibAddTrueTypeFontFromFile;
        public DelegateIIWWI PDFlibAddTrueTypeSubsettedFont;
        public DelegateIIW PDFlibAddType1Font;
        public DelegateIIDDDDWI PDFlibAddU3DAnnotationFromFile;
        public DelegateIIWW PDFlibAnalyseFile;
        public DelegateII PDFlibAnnotationCount;
        public DelegateII PDFlibAnsiStringResultLength;
        public DelegateIID PDFlibAppendSpace;
        public DelegateIIII PDFlibAppendTableColumns;
        public DelegateIIII PDFlibAppendTableRows;
        public DelegateIIW PDFlibAppendText;
        public DelegateIIW PDFlibAppendToFile;
        public DelegateBII PDFlibAppendToString;
        public DelegateIIW PDFlibApplyStyle;
        public DelegateIII PDFlibAttachAnnotToForm;
        public DelegateII PDFlibBalanceContentStream;
        public DelegateIII PDFlibBalancePageTree;
        public DelegateII PDFlibBeginPageUpdate;
        public DelegateIII PDFlibCapturePage;
        public DelegateIIII PDFlibCapturePageEx;
        public DelegateIII PDFlibCharWidth;
        public DelegateIIWWII PDFlibCheckFileCompliance;
        public DelegateII PDFlibCheckObjects;
        public DelegateII PDFlibCheckPageAnnots;
        public DelegateIIW PDFlibCheckPassword;
        public DelegateIIW PDFlibClearFileList;
        public DelegateIII PDFlibClearImage;
        public DelegateII PDFlibClearPageLabels;
        public DelegateII PDFlibClearTextFormatting;
        public DelegateIII PDFlibCloneOutlineAction;
        public DelegateIIIII PDFlibClonePages;
        public DelegateIII PDFlibCloseOutline;
        public DelegateII PDFlibClosePath;
        public DelegateII PDFlibCombineContentStreams;
        public DelegateIIII PDFlibCompareOutlines;
        public DelegateII PDFlibCompressContent;
        public DelegateIII PDFlibCompressFonts;
        public DelegateIII PDFlibCompressImages;
        public DelegateII PDFlibCompressPage;
        public DelegateII PDFlibContentStreamCount;
        public DelegateII PDFlibContentStreamSafe;
        public DelegateIIIW PDFlibCopyPageRanges;
        public DelegateIIIWI PDFlibCopyPageRangesEx;
        public DelegateBII PDFlibCreateBuffer;
        public DelegateI PDFlibCreateLibrary;
        public DelegateII PDFlibCreateNewObject;
        public DelegateIIII PDFlibCreateTable;
        public DelegateIII PDFlibDAAppendFile;
        public DelegateIIII PDFlibDACapturePage;
        public DelegateIIIII PDFlibDACapturePageEx;
        public DelegateIII PDFlibDACloseFile;
        public DelegateIIIIIDDDD PDFlibDADrawCapturedPage;
        public DelegateIIIIIDDDDD PDFlibDADrawRotatedCapturedPage;
        public DelegateIIIW PDFlibDAEmbedFileStreams;
        public DelegateWIIII PDFlibDAExtractPageText;
        public DelegateIIIII PDFlibDAExtractPageTextBlocks;
        public DelegateIIII PDFlibDAFindPage;
        public DelegateIIII PDFlibDAGetAnnotationCount;
        public DelegateIII PDFlibDAGetFormFieldCount;
        public DelegateWIII PDFlibDAGetFormFieldTitle;
        public DelegateWIII PDFlibDAGetFormFieldValue;
        public DelegateBIIII PDFlibDAGetImageDataToString;
        public DelegateDIIIII PDFlibDAGetImageDblProperty;
        public DelegateIIIIII PDFlibDAGetImageIntProperty;
        public DelegateIIII PDFlibDAGetImageListCount;
        public DelegateWIIW PDFlibDAGetInformation;
        public DelegateIII PDFlibDAGetObjectCount;
        public DelegateBIII PDFlibDAGetObjectToString;
        public DelegateDIIIII PDFlibDAGetPageBox;
        public DelegateBIII PDFlibDAGetPageContentToString;
        public DelegateIII PDFlibDAGetPageCount;
        public DelegateDIII PDFlibDAGetPageHeight;
        public DelegateIIII PDFlibDAGetPageImageList;
        public DelegateDIII PDFlibDAGetPageWidth;
        public DelegateWIII PDFlibDAGetTextBlockAsString;
        public DelegateDIIII PDFlibDAGetTextBlockBound;
        public DelegateDIIII PDFlibDAGetTextBlockCharWidth;
        public DelegateDIIII PDFlibDAGetTextBlockColor;
        public DelegateIIII PDFlibDAGetTextBlockColorType;
        public DelegateIII PDFlibDAGetTextBlockCount;
        public DelegateWIII PDFlibDAGetTextBlockFontName;
        public DelegateDIII PDFlibDAGetTextBlockFontSize;
        public DelegateWIII PDFlibDAGetTextBlockText;
        public DelegateIIIII PDFlibDAHasPageBox;
        public DelegateIIII PDFlibDAHidePage;
        public DelegateIIIIII PDFlibDAMovePage;
        public DelegateIII PDFlibDANewPage;
        public DelegateIIII PDFlibDANewPages;
        public DelegateIIIII PDFlibDANormalizePage;
        public DelegateIIWW PDFlibDAOpenFile;
        public DelegateIIWW PDFlibDAOpenFileReadOnly;
        public DelegateIIII PDFlibDAPageRotation;
        public DelegateIIII PDFlibDAReleaseImageList;
        public DelegateIII PDFlibDAReleaseTextBlocks;
        public DelegateIII PDFlibDARemoveUsageRights;
        public DelegateIIIIDC PDFlibDARenderPageToDC;
        public DelegateIIIIIDW PDFlibDARenderPageToFile;
        public DelegateBIIIID PDFlibDARenderPageToString;
        public DelegateIIIIII PDFlibDARotatePage;
        public DelegateIIIW PDFlibDASaveAsFile;
        public DelegateIIIIIW PDFlibDASaveImageDataToFile;
        public DelegateIIIWW PDFlibDASetInformation;
        public DelegateIIIIIDDDD PDFlibDASetPageBox;
        public DelegateIIII PDFlibDASetPageLayout;
        public DelegateIIII PDFlibDASetPageMode;
        public DelegateIIIIDD PDFlibDASetPageSize;
        public DelegateIIDDDD PDFlibDASetTextExtractionArea;
        public DelegateIIII PDFlibDASetTextExtractionOptions;
        public DelegateIIIDD PDFlibDASetTextExtractionScaling;
        public DelegateIID PDFlibDASetTextExtractionWordGap;
        public DelegateIII PDFlibDAShiftedHeader;
        public DelegateII PDFlibDecrypt;
        public DelegateIIWWW PDFlibDecryptFile;
        public DelegateIII PDFlibDeleteAnalysis;
        public DelegateIII PDFlibDeleteAnnotation;
        public DelegateII PDFlibDeleteContentStream;
        public DelegateIII PDFlibDeleteFormField;
        public DelegateIII PDFlibDeleteOptionalContentGroup;
        public DelegateIII PDFlibDeletePageLGIDict;
        public DelegateIIII PDFlibDeletePages;
        public DelegateIIWW PDFlibDocJavaScriptAction;
        public DelegateII PDFlibDocumentCount;
        public DelegateIIDDDDDII PDFlibDrawArc;
        public DelegateIIDDDDWII PDFlibDrawBarcode;
        public DelegateIIDDDDI PDFlibDrawBox;
        public DelegateIIIDDDD PDFlibDrawCapturedPage;
        public DelegateIIIDDDDDD PDFlibDrawCapturedPageMatrix;
        public DelegateIIDDDI PDFlibDrawCircle;
        public DelegateIIDDDWIII PDFlibDrawDataMatrixSymbol;
        public DelegateIIDDDDI PDFlibDrawEllipse;
        public DelegateIIDDDDDDII PDFlibDrawEllipticArc;
        public DelegateIIDDDW PDFlibDrawHTMLText;
        public DelegateWIDDDDW PDFlibDrawHTMLTextBox;
        public DelegateWIDDWDDDDDD PDFlibDrawHTMLTextBoxMatrix;
        public DelegateIIDWDDDDDD PDFlibDrawHTMLTextMatrix;
        public DelegateIIDDDD PDFlibDrawImage;
        public DelegateIIDDDDDD PDFlibDrawImageMatrix;
        public DelegateIIDDDDDDWI PDFlibDrawIntelligentMailBarcode;
        public DelegateIIDDDD PDFlibDrawLine;
        public DelegateIIDDWW PDFlibDrawMultiLineText;
        public DelegateIIDDWI PDFlibDrawPDF417Symbol;
        public DelegateIIDDWIIIIDD PDFlibDrawPDF417SymbolEx;
        public DelegateIII PDFlibDrawPath;
        public DelegateIII PDFlibDrawPathEvenOdd;
        public DelegateIII PDFlibDrawPostScriptXObject;
        public DelegateIIDDDWII PDFlibDrawQRCode;
        public DelegateIIDDDDDI PDFlibDrawRotatedBox;
        public DelegateIIIDDDDD PDFlibDrawRotatedCapturedPage;
        public DelegateIIDDDDD PDFlibDrawRotatedImage;
        public DelegateIIDDDWW PDFlibDrawRotatedMultiLineText;
        public DelegateIIDDDW PDFlibDrawRotatedText;
        public DelegateIIDDDDDWI PDFlibDrawRotatedTextBox;
        public DelegateIIDDDDDWIIII PDFlibDrawRotatedTextBoxEx;
        public DelegateIIDDDDDI PDFlibDrawRoundedBox;
        public DelegateIIDDDDDDI PDFlibDrawRoundedRotatedBox;
        public DelegateIIDDD PDFlibDrawScaledImage;
        public DelegateIIDDDW PDFlibDrawSpacedText;
        public DelegateDIIDDDII PDFlibDrawTableRows;
        public DelegateIIDDW PDFlibDrawText;
        public DelegateIIDDDDWI PDFlibDrawTextArc;
        public DelegateIIDDDDWI PDFlibDrawTextBox;
        public DelegateIIDDWIDDDDDD PDFlibDrawTextBoxMatrix;
        public DelegateIIDDDW PDFlibDrawWrappedText;
        public DelegateII PDFlibEditableContentStream;
        public DelegateIIWWW PDFlibEmbedFile;
        public DelegateII PDFlibEmbeddedFileCount;
        public DelegateII PDFlibEncapsulateContentStream;
        public DelegateIIIIIIIIII PDFlibEncodePermissions;
        public DelegateIIWWII PDFlibEncrypt;
        public DelegateIIWWWWII PDFlibEncryptFile;
        public DelegateIIW PDFlibEncryptWithFingerprint;
        public DelegateII PDFlibEncryptionAlgorithm;
        public DelegateII PDFlibEncryptionStatus;
        public DelegateII PDFlibEncryptionStrength;
        public DelegateII PDFlibEndPageUpdate;
        public DelegateIIIW PDFlibEndSignProcessToFile;
        public DelegateBII PDFlibEndSignProcessToString;
        public DelegateBIWWI PDFlibExtractFilePageContentToString;
        public DelegateWIWWII PDFlibExtractFilePageText;
        public DelegateIIWWII PDFlibExtractFilePageTextBlocks;
        public DelegateIIWWWW PDFlibExtractFilePages;
        public DelegateIIWWWWI PDFlibExtractFilePagesEx;
        public DelegateIIW PDFlibExtractPageRanges;
        public DelegateIII PDFlibExtractPageTextBlocks;
        public DelegateIIII PDFlibExtractPages;
        public DelegateIIW PDFlibFileListCount;
        public DelegateWIWI PDFlibFileListItem;
        public DelegateII PDFlibFindFonts;
        public DelegateIIW PDFlibFindFormFieldByTitle;
        public DelegateII PDFlibFindImages;
        public DelegateIIDDDDIII PDFlibFitImage;
        public DelegateIIDDDDDWI PDFlibFitRotatedTextBox;
        public DelegateIIDDDDWI PDFlibFitTextBox;
        public DelegateIIII PDFlibFlattenAnnot;
        public DelegateIII PDFlibFlattenFormField;
        public DelegateII PDFlibFontCount;
        public DelegateWI PDFlibFontFamily;
        public DelegateII PDFlibFontHasKerning;
        public DelegateWI PDFlibFontName;
        public DelegateWI PDFlibFontReference;
        public DelegateII PDFlibFontSize;
        public DelegateII PDFlibFontType;
        public DelegateII PDFlibFormFieldCount;
        public DelegateIII PDFlibFormFieldHasParent;
        public DelegateIIIWW PDFlibFormFieldJavaScriptAction;
        public DelegateIIIWW PDFlibFormFieldWebLinkAction;
        public DelegateIII PDFlibGetActionDest;
        public DelegateWII PDFlibGetActionType;
        public DelegateWII PDFlibGetActionURL;
        public DelegateWIII PDFlibGetAnalysisInfo;
        public DelegateIII PDFlibGetAnnotActionID;
        public DelegateDIII PDFlibGetAnnotDblProperty;
        public DelegateIII PDFlibGetAnnotDest;
        public DelegateWIII PDFlibGetAnnotEmbeddedFileName;
        public DelegateIIIIW PDFlibGetAnnotEmbeddedFileToFile;
        public DelegateBIII PDFlibGetAnnotEmbeddedFileToString;
        public DelegateIIII PDFlibGetAnnotIntProperty;
        public DelegateIII PDFlibGetAnnotQuadCount;
        public DelegateDIIII PDFlibGetAnnotQuadPoints;
        public DelegateIIIIW PDFlibGetAnnotSoundToFile;
        public DelegateBIII PDFlibGetAnnotSoundToString;
        public DelegateWIII PDFlibGetAnnotStrProperty;
        public DelegateDIDWI PDFlibGetBarcodeWidth;
        public DelegateWI PDFlibGetBaseURL;
        public DelegateIII PDFlibGetCSDictEPSG;
        public DelegateIII PDFlibGetCSDictType;
        public DelegateWII PDFlibGetCSDictWKT;
        public DelegateCIII PDFlibGetCanvasDC;
        public DelegateIIIII PDFlibGetCanvasDCEx;
        public DelegateWIW PDFlibGetCatalogInformation;
        public DelegateBI PDFlibGetContentStreamToString;
        public DelegateWIW PDFlibGetCustomInformation;
        public DelegateWII PDFlibGetCustomKeys;
        public DelegateWI PDFlibGetDefaultPrinterName;
        public DelegateWII PDFlibGetDestName;
        public DelegateIII PDFlibGetDestPage;
        public DelegateIII PDFlibGetDestType;
        public DelegateDIII PDFlibGetDestValue;
        public DelegateWIW PDFlibGetDocJavaScript;
        public DelegateWI PDFlibGetDocumentFileName;
        public DelegateII PDFlibGetDocumentFileSize;
        public DelegateIII PDFlibGetDocumentID;
        public DelegateWIII PDFlibGetDocumentIdentifier;
        public DelegateWI PDFlibGetDocumentMetadata;
        public DelegateII PDFlibGetDocumentRepaired;
        public DelegateWI PDFlibGetDocumentResourceList;
        public DelegateIIIW PDFlibGetEmbeddedFileContentToFile;
        public DelegateBII PDFlibGetEmbeddedFileContentToString;
        public DelegateIII PDFlibGetEmbeddedFileID;
        public DelegateIIII PDFlibGetEmbeddedFileIntProperty;
        public DelegateWIII PDFlibGetEmbeddedFileStrProperty;
        public DelegateWI PDFlibGetEncryptionFingerprint;
        public DelegateWIWW PDFlibGetFileMetadata;
        public DelegateIII PDFlibGetFirstChildOutline;
        public DelegateII PDFlibGetFirstOutline;
        public DelegateII PDFlibGetFontEncoding;
        public DelegateIII PDFlibGetFontFlags;
        public DelegateIII PDFlibGetFontID;
        public DelegateII PDFlibGetFontIsEmbedded;
        public DelegateII PDFlibGetFontIsSubsetted;
        public DelegateIII PDFlibGetFontMetrics;
        public DelegateII PDFlibGetFontObjectNumber;
        public DelegateIIIW PDFlibGetFormFieldActionID;
        public DelegateIII PDFlibGetFormFieldAlignment;
        public DelegateIII PDFlibGetFormFieldAnnotFlags;
        public DelegateDIII PDFlibGetFormFieldBackgroundColor;
        public DelegateIII PDFlibGetFormFieldBackgroundColorType;
        public DelegateDIII PDFlibGetFormFieldBorderColor;
        public DelegateIII PDFlibGetFormFieldBorderColorType;
        public DelegateDIII PDFlibGetFormFieldBorderProperty;
        public DelegateIII PDFlibGetFormFieldBorderStyle;
        public DelegateDIII PDFlibGetFormFieldBound;
        public DelegateWII PDFlibGetFormFieldCaption;
        public DelegateWIII PDFlibGetFormFieldCaptionEx;
        public DelegateIII PDFlibGetFormFieldCheckStyle;
        public DelegateWII PDFlibGetFormFieldChildTitle;
        public DelegateIII PDFlibGetFormFieldChoiceType;
        public DelegateDIII PDFlibGetFormFieldColor;
        public DelegateIII PDFlibGetFormFieldComb;
        public DelegateWII PDFlibGetFormFieldDefaultValue;
        public DelegateWII PDFlibGetFormFieldDescription;
        public DelegateIII PDFlibGetFormFieldFlags;
        public DelegateWII PDFlibGetFormFieldFontName;
        public DelegateWIIW PDFlibGetFormFieldJavaScript;
        public DelegateIII PDFlibGetFormFieldKidCount;
        public DelegateIIII PDFlibGetFormFieldKidTempIndex;
        public DelegateIII PDFlibGetFormFieldMaxLen;
        public DelegateIII PDFlibGetFormFieldNoExport;
        public DelegateIII PDFlibGetFormFieldPage;
        public DelegateIII PDFlibGetFormFieldPrintable;
        public DelegateIII PDFlibGetFormFieldReadOnly;
        public DelegateIII PDFlibGetFormFieldRequired;
        public DelegateWIIW PDFlibGetFormFieldRichTextString;
        public DelegateIII PDFlibGetFormFieldRotation;
        public DelegateIII PDFlibGetFormFieldSubCount;
        public DelegateWIII PDFlibGetFormFieldSubDisplayName;
        public DelegateWIII PDFlibGetFormFieldSubName;
        public DelegateWIIW PDFlibGetFormFieldSubmitActionString;
        public DelegateIII PDFlibGetFormFieldTabOrder;
        public DelegateIIII PDFlibGetFormFieldTabOrderEx;
        public DelegateIIII PDFlibGetFormFieldTextFlags;
        public DelegateDII PDFlibGetFormFieldTextSize;
        public DelegateWII PDFlibGetFormFieldTitle;
        public DelegateIII PDFlibGetFormFieldType;
        public DelegateWII PDFlibGetFormFieldValue;
        public DelegateWIW PDFlibGetFormFieldValueByTitle;
        public DelegateIII PDFlibGetFormFieldVisible;
        public DelegateWIIW PDFlibGetFormFieldWebLink;
        public DelegateII PDFlibGetFormFontCount;
        public DelegateWII PDFlibGetFormFontName;
        public DelegateWIW PDFlibGetGlobalJavaScript;
        public DelegateDIDW PDFlibGetHTMLTextHeight;
        public DelegateIIDW PDFlibGetHTMLTextLineCount;
        public DelegateDIDW PDFlibGetHTMLTextWidth;
        public DelegateIII PDFlibGetImageID;
        public DelegateIII PDFlibGetImageListCount;
        public DelegateBIIII PDFlibGetImageListItemDataToString;
        public DelegateDIIII PDFlibGetImageListItemDblProperty;
        public DelegateWIIII PDFlibGetImageListItemFormatDesc;
        public DelegateIIIII PDFlibGetImageListItemIntProperty;
        public DelegateII PDFlibGetImageMeasureDict;
        public DelegateIIW PDFlibGetImagePageCount;
        public DelegateIIB PDFlibGetImagePageCountFromString;
        public DelegateII PDFlibGetImagePtDataDict;
        public DelegateWII PDFlibGetInformation;
        public DelegateWIII PDFlibGetInstalledFontsByCharset;
        public DelegateWIII PDFlibGetInstalledFontsByCodePage;
        public DelegateIIW PDFlibGetKerning;
        public DelegateWI PDFlibGetLatestPrinterNames;
        public DelegateII PDFlibGetMaxObjectNumber;
        public DelegateIII PDFlibGetMeasureDictBoundsCount;
        public DelegateDIII PDFlibGetMeasureDictBoundsItem;
        public DelegateIII PDFlibGetMeasureDictCoordinateSystem;
        public DelegateIII PDFlibGetMeasureDictDCSDict;
        public DelegateIII PDFlibGetMeasureDictGCSDict;
        public DelegateIII PDFlibGetMeasureDictGPTSCount;
        public DelegateDIII PDFlibGetMeasureDictGPTSItem;
        public DelegateIII PDFlibGetMeasureDictLPTSCount;
        public DelegateDIII PDFlibGetMeasureDictLPTSItem;
        public DelegateIIII PDFlibGetMeasureDictPDU;
        public DelegateIIW PDFlibGetNamedDestination;
        public DelegateIII PDFlibGetNextOutline;
        public DelegateII PDFlibGetObjectCount;
        public DelegateIII PDFlibGetObjectDecodeError;
        public DelegateBII PDFlibGetObjectToString;
        public DelegateII PDFlibGetOpenActionDestination;
        public DelegateWI PDFlibGetOpenActionJavaScript;
        public DelegateII PDFlibGetOptionalContentConfigCount;
        public DelegateIIII PDFlibGetOptionalContentConfigLocked;
        public DelegateIII PDFlibGetOptionalContentConfigOrderCount;
        public DelegateIIII PDFlibGetOptionalContentConfigOrderItemID;
        public DelegateWIII PDFlibGetOptionalContentConfigOrderItemLabel;
        public DelegateIIII PDFlibGetOptionalContentConfigOrderItemLevel;
        public DelegateIIII PDFlibGetOptionalContentConfigOrderItemType;
        public DelegateIIII PDFlibGetOptionalContentConfigState;
        public DelegateIII PDFlibGetOptionalContentGroupID;
        public DelegateWII PDFlibGetOptionalContentGroupName;
        public DelegateIII PDFlibGetOptionalContentGroupPrintable;
        public DelegateIII PDFlibGetOptionalContentGroupVisible;
        public DelegateII PDFlibGetOrigin;
        public DelegateIII PDFlibGetOutlineActionID;
        public DelegateDIII PDFlibGetOutlineColor;
        public DelegateIII PDFlibGetOutlineDest;
        public DelegateIII PDFlibGetOutlineID;
        public DelegateWII PDFlibGetOutlineJavaScript;
        public DelegateIII PDFlibGetOutlineObjectNumber;
        public DelegateWII PDFlibGetOutlineOpenFile;
        public DelegateIII PDFlibGetOutlinePage;
        public DelegateIII PDFlibGetOutlineStyle;
        public DelegateWII PDFlibGetOutlineWebLink;
        public DelegateDIII PDFlibGetPageBox;
        public DelegateWII PDFlibGetPageColorSpaces;
        public DelegateBI PDFlibGetPageContentToString;
        public DelegateIII PDFlibGetPageImageList;
        public DelegateWIW PDFlibGetPageJavaScript;
        public DelegateWII PDFlibGetPageLGIDictContent;
        public DelegateII PDFlibGetPageLGIDictCount;
        public DelegateWII PDFlibGetPageLabel;
        public DelegateII PDFlibGetPageLayout;
        public DelegateBIIII PDFlibGetPageMetricsToString;
        public DelegateII PDFlibGetPageMode;
        public DelegateWII PDFlibGetPageText;
        public DelegateDI PDFlibGetPageUserUnit;
        public DelegateII PDFlibGetPageViewPortCount;
        public DelegateIII PDFlibGetPageViewPortID;
        public DelegateIII PDFlibGetParentOutline;
        public DelegateIII PDFlibGetPrevOutline;
        public DelegateBIWIIII PDFlibGetPrintPreviewBitmapToString;
        public DelegateWIW PDFlibGetPrinterBins;
        public DelegateBIW PDFlibGetPrinterDevModeToString;
        public DelegateWIW PDFlibGetPrinterMediaTypes;
        public DelegateWI PDFlibGetPrinterNames;
        public DelegateDI PDFlibGetRenderScale;
        public DelegateIIII PDFlibGetSignProcessByteRange;
        public DelegateIII PDFlibGetSignProcessResult;
        public DelegateIII PDFlibGetStringListCount;
        public DelegateWIII PDFlibGetStringListItem;
        public DelegateWI PDFlibGetTabOrderMode;
        public DelegateDIIIII PDFlibGetTableCellDblProperty;
        public DelegateIIIIII PDFlibGetTableCellIntProperty;
        public DelegateWIIIII PDFlibGetTableCellStrProperty;
        public DelegateIII PDFlibGetTableColumnCount;
        public DelegateIII PDFlibGetTableLastDrawnRow;
        public DelegateIII PDFlibGetTableRowCount;
        public DelegateWI PDFlibGetTempPath;
        public DelegateDI PDFlibGetTextAscent;
        public DelegateWIII PDFlibGetTextBlockAsString;
        public DelegateDIIII PDFlibGetTextBlockBound;
        public DelegateDIIII PDFlibGetTextBlockCharWidth;
        public DelegateDIIII PDFlibGetTextBlockColor;
        public DelegateIIII PDFlibGetTextBlockColorType;
        public DelegateIII PDFlibGetTextBlockCount;
        public DelegateWIII PDFlibGetTextBlockFontName;
        public DelegateDIII PDFlibGetTextBlockFontSize;
        public DelegateWIII PDFlibGetTextBlockText;
        public DelegateDII PDFlibGetTextBound;
        public DelegateDI PDFlibGetTextDescent;
        public DelegateDI PDFlibGetTextHeight;
        public DelegateDI PDFlibGetTextSize;
        public DelegateDIW PDFlibGetTextWidth;
        public DelegateWII PDFlibGetUnicodeCharactersFromEncoding;
        public DelegateDIII PDFlibGetViewPortBBox;
        public DelegateIII PDFlibGetViewPortMeasureDict;
        public DelegateWII PDFlibGetViewPortName;
        public DelegateIII PDFlibGetViewPortPtDataDict;
        public DelegateIII PDFlibGetViewerPreferences;
        public DelegateWIDWW PDFlibGetWrappedText;
        public DelegateWIDWW PDFlibGetWrappedTextBreakString;
        public DelegateDIDW PDFlibGetWrappedTextHeight;
        public DelegateIIDW PDFlibGetWrappedTextLineCount;
        public DelegateII PDFlibGetXFAFormFieldCount;
        public DelegateWII PDFlibGetXFAFormFieldName;
        public DelegateWIW PDFlibGetXFAFormFieldNames;
        public DelegateWIW PDFlibGetXFAFormFieldValue;
        public DelegateBII PDFlibGetXFAToString;
        public DelegateII PDFlibGlobalJavaScriptCount;
        public DelegateWII PDFlibGlobalJavaScriptPackageName;
        public DelegateII PDFlibHasFontResources;
        public DelegateIII PDFlibHasPageBox;
        public DelegateII PDFlibHidePage;
        public DelegateII PDFlibImageCount;
        public DelegateII PDFlibImageFillColor;
        public DelegateII PDFlibImageHeight;
        public DelegateII PDFlibImageHorizontalResolution;
        public DelegateII PDFlibImageResolutionUnits;
        public DelegateII PDFlibImageType;
        public DelegateII PDFlibImageVerticalResolution;
        public DelegateII PDFlibImageWidth;
        public DelegateIIWII PDFlibImportEMFFromFile;
        public DelegateIIII PDFlibInsertPages;
        public DelegateIIIII PDFlibInsertTableColumns;
        public DelegateIIIII PDFlibInsertTableRows;
        public DelegateIII PDFlibIsAnnotFormField;
        public DelegateII PDFlibIsLinearized;
        public DelegateII PDFlibIsTaggedPDF;
        public DelegateII PDFlibLastErrorCode;
        public DelegateWI PDFlibLastRenderError;
        public DelegateWI PDFlibLibraryVersion;
        public DelegateWI PDFlibLibraryVersionEx;

        public DelegateIIWWWI PDFlibLinearizeFile;
        public DelegateIIDI PDFlibLoadFromCanvasDC;
        public DelegateIIWW PDFlibLoadFromFile;
        public DelegateIIBW PDFlibLoadFromString;
        public DelegateII PDFlibLoadState;
        public DelegateIII PDFlibMergeDocument;
        public DelegateIIWW PDFlibMergeFileList;
        public DelegateIIWW PDFlibMergeFileListFast;
        public DelegateIIWWW PDFlibMergeFiles;
        public DelegateIIIIIII PDFlibMergeTableCells;
        public DelegateIIII PDFlibMoveContentStream;
        public DelegateIIII PDFlibMoveOutlineAfter;
        public DelegateIIII PDFlibMoveOutlineBefore;
        public DelegateIII PDFlibMovePage;
        public DelegateIIDD PDFlibMovePath;
        public DelegateIID PDFlibMultiplyScale;
        public DelegateIIIWI PDFlibNewChildFormField;
        public DelegateII PDFlibNewContentStream;
        public DelegateWIW PDFlibNewCustomPrinter;
        public DelegateIIIIIDDDD PDFlibNewDestination;
        public DelegateII PDFlibNewDocument;
        public DelegateIIWI PDFlibNewFormField;
        public DelegateIII PDFlibNewInternalPrinterObject;
        public DelegateIIWI PDFlibNewNamedDestination;
        public DelegateIIW PDFlibNewOptionalContentGroup;
        public DelegateIIIWID PDFlibNewOutline;
        public DelegateII PDFlibNewPage;
        public DelegateIIDI PDFlibNewPageFromCanvasDC;
        public DelegateIII PDFlibNewPages;
        public DelegateIIW PDFlibNewPostScriptXObject;
        public DelegateIIWDDDDDDDDDDI PDFlibNewRGBAxialShader;
        public DelegateIIWW PDFlibNewSignProcessFromFile;
        public DelegateIIBW PDFlibNewSignProcessFromString;
        public DelegateIIIW PDFlibNewStaticOutline;
        public DelegateIIWI PDFlibNewTilingPatternFromCapturedPage;
        public DelegateIIW PDFlibNoEmbedFontListAdd;
        public DelegateII PDFlibNoEmbedFontListCount;
        public DelegateWII PDFlibNoEmbedFontListGet;
        public DelegateII PDFlibNoEmbedFontListRemoveAll;
        public DelegateIII PDFlibNoEmbedFontListRemoveIndex;
        public DelegateIIW PDFlibNoEmbedFontListRemoveName;
        public DelegateIII PDFlibNormalizePage;
        public DelegateIII PDFlibOpenOutline;
        public DelegateII PDFlibOptionalContentGroupCount;
        public DelegateII PDFlibOutlineCount;
        public DelegateWII PDFlibOutlineTitle;
        public DelegateII PDFlibPageCount;
        public DelegateIII PDFlibPageHasFontResources;
        public DelegateDI PDFlibPageHeight;
        public DelegateIIWW PDFlibPageJavaScriptAction;
        public DelegateII PDFlibPageRotation;
        public DelegateDI PDFlibPageWidth;
        public DelegateIIWIII PDFlibPrintDocument;
        public DelegateIIWIIIW PDFlibPrintDocumentToFile;
        public DelegateIII PDFlibPrintMode;
        public DelegateIIIIW PDFlibPrintOptions;
        public DelegateIIWWI PDFlibPrintPages;
        public DelegateIIWWIW PDFlibPrintPagesToFile;
        public DelegateIIB PDFlibReleaseBuffer;
        public DelegateIII PDFlibReleaseImage;
        public DelegateIII PDFlibReleaseImageList;
        public DelegateII PDFlibReleaseLibrary;
        public DelegateIII PDFlibReleaseSignProcess;
        public DelegateIII PDFlibReleaseStringList;
        public DelegateIII PDFlibReleaseTextBlocks;
        public DelegateIII PDFlibRemoveAppearanceStream;
        public DelegateIIW PDFlibRemoveCustomInformation;
        public DelegateIII PDFlibRemoveDocument;
        public DelegateIII PDFlibRemoveEmbeddedFile;
        public DelegateIII PDFlibRemoveFormFieldBackgroundColor;
        public DelegateIII PDFlibRemoveFormFieldBorderColor;
        public DelegateIIIW PDFlibRemoveFormFieldChoiceSub;
        public DelegateIIW PDFlibRemoveGlobalJavaScript;
        public DelegateII PDFlibRemoveOpenAction;
        public DelegateIII PDFlibRemoveOutline;
        public DelegateIII PDFlibRemovePageBox;
        public DelegateII PDFlibRemoveSharedContentStreams;
        public DelegateIIW PDFlibRemoveStyle;
        public DelegateII PDFlibRemoveUsageRights;
        public DelegateIII PDFlibRemoveXFAEntries;
        public DelegateIIDWIIW PDFlibRenderAsMultipageTIFFToFile;
        public DelegateIIDIIIW PDFlibRenderDocumentToFile;
        public DelegateIIDIC PDFlibRenderPageToDC;
        public DelegateIIDIIS PDFlibRenderPageToDCClip;
        public DelegateIIDIIW PDFlibRenderPageToFile;
        public DelegateBIDII PDFlibRenderPageToString;
        public DelegateIII PDFlibReplaceFonts;
        public DelegateIIII PDFlibReplaceImage;
        public DelegateIIWW PDFlibReplaceTag;
        public DelegateIII PDFlibRequestPrinterStatus;
        public DelegateIIWWI PDFlibRetrieveCustomDataToFile;
        public DelegateBISI PDFlibRetrieveCustomDataToString;
        public DelegateIII PDFlibReverseImage;
        public DelegateIII PDFlibRotatePage;
        public DelegateIIW PDFlibSaveFontToFile;
        public DelegateIIIIIW PDFlibSaveImageListItemDataToFile;
        public DelegateIIW PDFlibSaveImageToFile;
        public DelegateBI PDFlibSaveImageToString;
        public DelegateII PDFlibSaveState;
        public DelegateIIW PDFlibSaveStyle;
        public DelegateIIW PDFlibSaveToFile;
        public DelegateBI PDFlibSaveToString;
        public DelegateIII PDFlibSecurityInfo;
        public DelegateIII PDFlibSelectContentStream;
        public DelegateIII PDFlibSelectDocument;
        public DelegateIII PDFlibSelectFont;
        public DelegateIII PDFlibSelectImage;
        public DelegateIII PDFlibSelectPage;
        public DelegateIII PDFlibSelectRenderer;
        public DelegateII PDFlibSelectedDocument;
        public DelegateII PDFlibSelectedFont;
        public DelegateII PDFlibSelectedImage;
        public DelegateII PDFlibSelectedPage;
        public DelegateIIIW PDFlibSetActionURL;
        public DelegateIIIDDD PDFlibSetAnnotBorderColor;
        public DelegateIIIDIDD PDFlibSetAnnotBorderStyle;
        public DelegateIIIW PDFlibSetAnnotContents;
        public DelegateIIIID PDFlibSetAnnotDblProperty;
        public DelegateIIIII PDFlibSetAnnotIntProperty;
        public DelegateIIII PDFlibSetAnnotOptional;
        public DelegateIIIIDDDDDDDD PDFlibSetAnnotQuadPoints;
        public DelegateIIIDDDD PDFlibSetAnnotRect;
        public DelegateIIIIW PDFlibSetAnnotStrProperty;
        public DelegateIII PDFlibSetAnsiMode;
        public DelegateIIB PDFlibSetAppendInputFromString;
        public DelegateIIW PDFlibSetBaseURL;
        public DelegateIII PDFlibSetBlendMode;
        public DelegateIIW PDFlibSetBreakString;
        public DelegateIIII PDFlibSetCSDictEPSG;
        public DelegateIIII PDFlibSetCSDictType;
        public DelegateIIIW PDFlibSetCSDictWKT;
        public DelegateIIW PDFlibSetCairoFileName;
        public DelegateIIII PDFlibSetCapturedPageOptional;
        public DelegateIIIIII PDFlibSetCapturedPageTransparencyGroup;
        public DelegateIIWW PDFlibSetCatalogInformation;
        public DelegateIIII PDFlibSetCharWidth;
        public DelegateII PDFlibSetClippingPath;
        public DelegateII PDFlibSetClippingPathEvenOdd;
        public DelegateIIII PDFlibSetCompatibility;
        public DelegateIIB PDFlibSetContentStreamFromString;
        public DelegateIII PDFlibSetContentStreamOptional;
        public DelegateIIDDDD PDFlibSetCropBox;
        public DelegateIIWW PDFlibSetCustomInformation;
        public DelegateIIWD PDFlibSetCustomLineDash;
        public DelegateIIW PDFlibSetPDFiumFileName;
        public DelegateIII PDFlibSetDecodeMode;
        public DelegateIIIIIDDDD PDFlibSetDestProperties;
        public DelegateIIIID PDFlibSetDestValue;
        public DelegateIIW PDFlibSetDocumentMetadata;
        public DelegateIIIIW PDFlibSetEmbeddedFileStrProperty;
        public DelegateIIDDD PDFlibSetFillColor;
        public DelegateIIDDDD PDFlibSetFillColorCMYK;
        public DelegateIIWD PDFlibSetFillColorSep;
        public DelegateIIW PDFlibSetFillShader;
        public DelegateIIW PDFlibSetFillTilingPattern;
        public DelegateIII PDFlibSetFindImagesMode;
        public DelegateIII PDFlibSetFontEncoding;
        public DelegateIIIIIIIIII PDFlibSetFontFlags;
        public DelegateIIII PDFlibSetFormFieldAlignment;
        public DelegateIIII PDFlibSetFormFieldAnnotFlags;
        public DelegateIIIDDD PDFlibSetFormFieldBackgroundColor;
        public DelegateIIIDDDD PDFlibSetFormFieldBackgroundColorCMYK;
        public DelegateIIID PDFlibSetFormFieldBackgroundColorGray;
        public DelegateIIIWD PDFlibSetFormFieldBackgroundColorSep;
        public DelegateIIIDDD PDFlibSetFormFieldBorderColor;
        public DelegateIIIDDDD PDFlibSetFormFieldBorderColorCMYK;
        public DelegateIIID PDFlibSetFormFieldBorderColorGray;
        public DelegateIIIWD PDFlibSetFormFieldBorderColorSep;
        public DelegateIIIDIDD PDFlibSetFormFieldBorderStyle;
        public DelegateIIIDDDD PDFlibSetFormFieldBounds;
        public DelegateIIII PDFlibSetFormFieldCalcOrder;
        public DelegateIIIW PDFlibSetFormFieldCaption;
        public DelegateIIIII PDFlibSetFormFieldCheckStyle;
        public DelegateIIIW PDFlibSetFormFieldChildTitle;
        public DelegateIIIIWW PDFlibSetFormFieldChoiceSub;
        public DelegateIIII PDFlibSetFormFieldChoiceType;
        public DelegateIIIDDD PDFlibSetFormFieldColor;
        public DelegateIIIDDDD PDFlibSetFormFieldColorCMYK;
        public DelegateIIIWD PDFlibSetFormFieldColorSep;
        public DelegateIIII PDFlibSetFormFieldComb;
        public DelegateIIIW PDFlibSetFormFieldDefaultValue;
        public DelegateIIIW PDFlibSetFormFieldDescription;
        public DelegateIIII PDFlibSetFormFieldFlags;
        public DelegateIIII PDFlibSetFormFieldFont;
        public DelegateIIII PDFlibSetFormFieldHighlightMode;
        public DelegateIIIII PDFlibSetFormFieldIcon;
        public DelegateIIIIIIII PDFlibSetFormFieldIconStyle;
        public DelegateIIII PDFlibSetFormFieldMaxLen;
        public DelegateIIII PDFlibSetFormFieldNoExport;
        public DelegateIIII PDFlibSetFormFieldOptional;
        public DelegateIIII PDFlibSetFormFieldPage;
        public DelegateIIII PDFlibSetFormFieldPrintable;
        public DelegateIIII PDFlibSetFormFieldReadOnly;
        public DelegateIIII PDFlibSetFormFieldRequired;
        public DelegateIIIW PDFlibSetFormFieldResetAction;
        public DelegateIIIWW PDFlibSetFormFieldRichTextString;
        public DelegateIIII PDFlibSetFormFieldRotation;
        public DelegateIIIII PDFlibSetFormFieldSignatureImage;
        public DelegateIIII PDFlibSetFormFieldStandardFont;
        public DelegateIIIWW PDFlibSetFormFieldSubmitAction;
        public DelegateIIIWWI PDFlibSetFormFieldSubmitActionEx;
        public DelegateIIII PDFlibSetFormFieldTabOrder;
        public DelegateIIIIIIII PDFlibSetFormFieldTextFlags;
        public DelegateIIID PDFlibSetFormFieldTextSize;
        public DelegateIIIW PDFlibSetFormFieldTitle;
        public DelegateIIIW PDFlibSetFormFieldValue;
        public DelegateIIWW PDFlibSetFormFieldValueByTitle;
        public DelegateIIII PDFlibSetFormFieldVisible;
        public DelegateIIW PDFlibSetGDIPlusFileName;
        public DelegateIIII PDFlibSetGDIPlusOptions;
        public DelegateIIWI PDFlibSetHTMLBoldFont;
        public DelegateIIWI PDFlibSetHTMLBoldItalicFont;
        public DelegateIIWI PDFlibSetHTMLItalicFont;
        public DelegateIIWI PDFlibSetHTMLNormalFont;
        public DelegateIIB PDFlibSetHeaderCommentsFromString;
        public DelegateIII PDFlibSetImageAsMask;
        public DelegateIIDDDDDD PDFlibSetImageMask;
        public DelegateIIDDDDDDDD PDFlibSetImageMaskCMYK;
        public DelegateIII PDFlibSetImageMaskFromImage;
        public DelegateIII PDFlibSetImageOptional;
        public DelegateIIIII PDFlibSetImageResolution;
        public DelegateIIIW PDFlibSetInformation;
        public DelegateIII PDFlibSetJPEGQuality;
        public DelegateIII PDFlibSetJavaScriptMode;
        public DelegateIIWI PDFlibSetKerning;
        public DelegateIII PDFlibSetLineCap;
        public DelegateIIDDD PDFlibSetLineColor;
        public DelegateIIDDDD PDFlibSetLineColorCMYK;
        public DelegateIIWD PDFlibSetLineColorSep;
        public DelegateIIDD PDFlibSetLineDash;
        public DelegateIIW PDFlibSetLineDashEx;
        public DelegateIII PDFlibSetLineJoin;
        public DelegateIIW PDFlibSetLineShader;
        public DelegateIID PDFlibSetLineWidth;
        public DelegateIIIDDDD PDFlibSetMarkupAnnotStyle;
        public DelegateIIII PDFlibSetMeasureDictBoundsCount;
        public DelegateIIIID PDFlibSetMeasureDictBoundsItem;
        public DelegateIIII PDFlibSetMeasureDictCoordinateSystem;
        public DelegateIIII PDFlibSetMeasureDictGPTSCount;
        public DelegateIIIID PDFlibSetMeasureDictGPTSItem;
        public DelegateIIII PDFlibSetMeasureDictLPTSCount;
        public DelegateIIIID PDFlibSetMeasureDictLPTSItem;
        public DelegateIIIIII PDFlibSetMeasureDictPDU;
        public DelegateIII PDFlibSetMeasurementUnits;
        public DelegateIII PDFlibSetNeedAppearances;
        public DelegateIIIB PDFlibSetObjectFromString;
        public DelegateIIII PDFlibSetOpenActionDestination;
        public DelegateIIIIIDDDD PDFlibSetOpenActionDestinationFull;
        public DelegateIIW PDFlibSetOpenActionJavaScript;
        public DelegateIIW PDFlibSetOpenActionMenu;
        public DelegateIIIII PDFlibSetOptionalContentConfigLocked;
        public DelegateIIIII PDFlibSetOptionalContentConfigState;
        public DelegateIIIW PDFlibSetOptionalContentGroupName;
        public DelegateIIII PDFlibSetOptionalContentGroupPrintable;
        public DelegateIIII PDFlibSetOptionalContentGroupVisible;
        public DelegateIII PDFlibSetOrigin;
        public DelegateIIIDDD PDFlibSetOutlineColor;
        public DelegateIIIID PDFlibSetOutlineDestination;
        public DelegateIIIIIIDDDD PDFlibSetOutlineDestinationFull;
        public DelegateIIIIDI PDFlibSetOutlineDestinationZoom;
        public DelegateIIIW PDFlibSetOutlineJavaScript;
        public DelegateIIIW PDFlibSetOutlineNamedDestination;
        public DelegateIIIW PDFlibSetOutlineOpenFile;
        public DelegateIIIWIIIDDDDI PDFlibSetOutlineRemoteDestination;
        public DelegateIIIII PDFlibSetOutlineStyle;
        public DelegateIIIW PDFlibSetOutlineTitle;
        public DelegateIIIW PDFlibSetOutlineWebLink;
        public DelegateIIIII PDFlibSetOverprint;
        public DelegateIII PDFlibSetPDFAMode;
        public DelegateIIIII PDFlibSetPNGTransparencyColor;
        public DelegateIIW PDFlibSetPageActionMenu;
        public DelegateIIIDDDD PDFlibSetPageBox;
        public DelegateIIB PDFlibSetPageContentFromString;
        public DelegateIIDD PDFlibSetPageDimensions;
        public DelegateIII PDFlibSetPageLayout;
        public DelegateIII PDFlibSetPageMode;
        public DelegateIIW PDFlibSetPageSize;
        public DelegateII PDFlibSetPageThumbnail;
        public DelegateIIIII PDFlibSetPageTransparencyGroup;
        public DelegateIID PDFlibSetPageUserUnit;
        public DelegateIII PDFlibSetPrecision;
        public DelegateIIB PDFlibSetPrinterDevModeFromString;
        public DelegateIII PDFlibSetRenderCropType;
        public DelegateIII PDFlibSetRenderDCErasePage;
        public DelegateIIII PDFlibSetRenderDCOffset;
        public DelegateIIII PDFlibSetRenderOptions;
        public DelegateIID PDFlibSetRenderScale;
        public DelegateIID PDFlibSetScale;
        public DelegateIIIW PDFlibSetSignProcessCustomSubFilter;
        public DelegateIIIW PDFlibSetSignProcessField;
        public DelegateIIIDDDD PDFlibSetSignProcessFieldBounds;
        public DelegateIIIWI PDFlibSetSignProcessFieldImageFromFile;
        public DelegateIIII PDFlibSetSignProcessFieldPage;
        public DelegateIIIWWW PDFlibSetSignProcessInfo;
        public DelegateIIII PDFlibSetSignProcessKeyset;
        public DelegateIIIWW PDFlibSetSignProcessPFXFromFile;
        public DelegateIIII PDFlibSetSignProcessPassthrough;
        public DelegateIIII PDFlibSetSignProcessSubFilter;
        public DelegateIIW PDFlibSetTabOrderMode;
        public DelegateIIIIDDD PDFlibSetTableBorderColor;
        public DelegateIIIIDDDD PDFlibSetTableBorderColorCMYK;
        public DelegateIIIID PDFlibSetTableBorderWidth;
        public DelegateIIIIIIII PDFlibSetTableCellAlignment;
        public DelegateIIIIIIIDDD PDFlibSetTableCellBackgroundColor;
        public DelegateIIIIIIIDDDD PDFlibSetTableCellBackgroundColorCMYK;
        public DelegateIIIIIIIIDDD PDFlibSetTableCellBorderColor;
        public DelegateIIIIIIIIDDDD PDFlibSetTableCellBorderColorCMYK;
        public DelegateIIIIIIIID PDFlibSetTableCellBorderWidth;
        public DelegateIIIIIW PDFlibSetTableCellContent;
        public DelegateIIIIIIIID PDFlibSetTableCellPadding;
        public DelegateIIIIIIIDDD PDFlibSetTableCellTextColor;
        public DelegateIIIIIIIDDDD PDFlibSetTableCellTextColorCMYK;
        public DelegateIIIIIIID PDFlibSetTableCellTextSize;
        public DelegateIIIIID PDFlibSetTableColumnWidth;
        public DelegateIIIIID PDFlibSetTableRowHeight;
        public DelegateIIIIDDD PDFlibSetTableThinBorders;
        public DelegateIIIIDDDD PDFlibSetTableThinBordersCMYK;
        public DelegateIIW PDFlibSetTempFile;
        public DelegateIIW PDFlibSetTempPath;
        public DelegateIII PDFlibSetTextAlign;
        public DelegateIID PDFlibSetTextCharSpacing;
        public DelegateIIDDD PDFlibSetTextColor;
        public DelegateIIDDDD PDFlibSetTextColorCMYK;
        public DelegateIIWD PDFlibSetTextColorSep;
        public DelegateIIDDDD PDFlibSetTextExtractionArea;
        public DelegateIIII PDFlibSetTextExtractionOptions;
        public DelegateIIIDD PDFlibSetTextExtractionScaling;
        public DelegateIID PDFlibSetTextExtractionWordGap;
        public DelegateIII PDFlibSetTextHighlight;
        public DelegateIIDDD PDFlibSetTextHighlightColor;
        public DelegateIIDDDD PDFlibSetTextHighlightColorCMYK;
        public DelegateIIWD PDFlibSetTextHighlightColorSep;
        public DelegateIII PDFlibSetTextMode;
        public DelegateIID PDFlibSetTextRise;
        public DelegateIID PDFlibSetTextScaling;
        public DelegateIIW PDFlibSetTextShader;
        public DelegateIID PDFlibSetTextSize;
        public DelegateIID PDFlibSetTextSpacing;
        public DelegateIII PDFlibSetTextUnderline;
        public DelegateIIDDD PDFlibSetTextUnderlineColor;
        public DelegateIIDDDD PDFlibSetTextUnderlineColorCMYK;
        public DelegateIIWD PDFlibSetTextUnderlineColorSep;
        public DelegateIIWD PDFlibSetTextUnderlineCustomDash;
        public DelegateIIDD PDFlibSetTextUnderlineDash;
        public DelegateIID PDFlibSetTextUnderlineDistance;
        public DelegateIID PDFlibSetTextUnderlineWidth;
        public DelegateIID PDFlibSetTextWordSpacing;
        public DelegateIII PDFlibSetTransparency;
        public DelegateIIII PDFlibSetViewerPreferences;
        public DelegateIIWI PDFlibSetXFAFormFieldAccess;
        public DelegateIIWDDD PDFlibSetXFAFormFieldBorderColor;
        public DelegateIIWI PDFlibSetXFAFormFieldBorderPresence;
        public DelegateIIWD PDFlibSetXFAFormFieldBorderWidth;
        public DelegateIIWW PDFlibSetXFAFormFieldValue;
        public DelegateIIBI PDFlibSetXFAFromString;
        public DelegateIIWII PDFlibSetupPrinter;
        public DelegateIIWWWWWWWWW PDFlibSignFile;
        public DelegateIII PDFlibSplitPageText;
        public DelegateIIDD PDFlibStartPath;
        public DelegateIIWWII PDFlibStoreCustomDataFromFile;
        public DelegateIISBII PDFlibStoreCustomDataFromString;
        public DelegateII PDFlibStringResultLength;
        public DelegateII PDFlibTestTempPath;
        public DelegateIIWWWII PDFlibTransformFile;
        public DelegateIII PDFlibUpdateAndFlattenFormField;
        public DelegateIII PDFlibUpdateAppearanceStream;
        public DelegateIIW PDFlibUpdateTrueTypeSubsettedFont;
        public DelegateIII PDFlibUseKerning;
        public DelegateIII PDFlibUseUnsafeContentStreams;
        [DllImport("kernel32.dll")]
        internal static extern IntPtr LoadLibrary(String dllname);
        [DllImport("kernel32.dll")]
        internal static extern int FreeLibrary(IntPtr hModule);
        [DllImport("kernel32.dll")]
        internal static extern IntPtr GetProcAddress(IntPtr hModule, String procname);
    }
    public class PDFlibrary
    {
        private DLL dll = null;
        private int instanceID = 0;

        private string SR(IntPtr data)
        {
            int size = dll.PDFlibStringResultLength(instanceID);
            byte[] result = new byte[size * 2];
            Marshal.Copy(data, result, 0, size * 2);
            return Encoding.Unicode.GetString(result);
        }

        public PDFlibrary(string dllFileName)
        {
            dll = new DLL(dllFileName);
            if (dll.dllHandle != IntPtr.Zero)
            {
                instanceID = dll.PDFlibCreateLibrary();
                dll.RegisterForShutdown(instanceID);
            }
            else
            {
                dll = null;
            }
        }

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

        public void ReleaseLibrary()
        {
            if (dll != null) dll.Release();
            dll = null;
        }

        public int AddArcToPath(double CenterX, double CenterY, double TotalAngle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddArcToPath(instanceID, CenterX, CenterY, TotalAngle);
        }

        public int AddBoxToPath(double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddBoxToPath(instanceID, Left, Top, Width, Height);
        }

        public int AddCJKFont(int CJKFontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddCJKFont(instanceID, CJKFontID);
        }

        public int AddCurveToPath(double CtAX, double CtAY, double CtBX, double CtBY, double EndX, 
            double EndY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddCurveToPath(instanceID, CtAX, CtAY, CtBX, CtBY, EndX, 
                    EndY);
        }

        public int AddEmbeddedFile(string FileName, string MIMEType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddEmbeddedFile(instanceID, FileName, MIMEType);
        }

        public int AddFileAttachment(string Title, int EmbeddedFileID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFileAttachment(instanceID, Title, EmbeddedFileID);
        }

        public int AddFormFieldChoiceSub(int Index, string SubName, string DisplayName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFormFieldChoiceSub(instanceID, Index, SubName, 
                    DisplayName);
        }

        public int AddFormFieldSub(int Index, string SubName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFormFieldSub(instanceID, Index, SubName);
        }

        public int AddFormFont(int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFormFont(instanceID, FontID);
        }

        public int AddFreeTextAnnotation(double Left, double Top, double Width, double Height, 
            string Text, int Angle, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFreeTextAnnotation(instanceID, Left, Top, Width, 
                    Height, Text, Angle, Options);
        }

        public int AddFreeTextAnnotationEx(double Left, double Top, double Width, double Height, 
            string Text, int Angle, int Options, int Transparency)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddFreeTextAnnotationEx(instanceID, Left, Top, Width, 
                    Height, Text, Angle, Options, Transparency);
        }

        public int AddGlobalJavaScript(string PackageName, string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddGlobalJavaScript(instanceID, PackageName, JavaScript);
        }

        public int AddImageFromFile(string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddImageFromFile(instanceID, FileName, Options);
        }

        public int AddImageFromFileOffset(string FileName, int Offset, int DataLength, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddImageFromFileOffset(instanceID, FileName, Offset, 
                    DataLength, Options);
        }

        public int AddImageFromString(byte[] Source, int Options)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibAddImageFromString(instanceID, bufferID, Options);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int AddLGIDictToPage(string DictContent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLGIDictToPage(instanceID, DictContent);
        }

        public int AddLineToPath(double EndX, double EndY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLineToPath(instanceID, EndX, EndY);
        }

        public int AddLinkToDestination(double Left, double Top, double Width, double Height, 
            int DestID, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToDestination(instanceID, Left, Top, Width, Height, 
                    DestID, Options);
        }

        public int AddLinkToEmbeddedFile(double Left, double Top, double Width, double Height, 
            int EmbeddedFileID, string Title, string Contents, int IconType, int Transpareny)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToEmbeddedFile(instanceID, Left, Top, Width, 
                    Height, EmbeddedFileID, Title, Contents, IconType, Transpareny);
        }

        public int AddLinkToFile(double Left, double Top, double Width, double Height, 
            string FileName, int Page, double Position, int NewWindow, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToFile(instanceID, Left, Top, Width, Height, 
                    FileName, Page, Position, NewWindow, Options);
        }

        public int AddLinkToFileDest(double Left, double Top, double Width, double Height, 
            string FileName, string NamedDest, double Position, int NewWindow, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToFileDest(instanceID, Left, Top, Width, Height, 
                    FileName, NamedDest, Position, NewWindow, Options);
        }

        public int AddLinkToFileEx(double Left, double Top, double Width, double Height, 
            string FileName, int DestPage, int NewWindow, int Options, int Zoom, int DestType, 
            double DestLeft, double DestTop, double DestRight, double DestBottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToFileEx(instanceID, Left, Top, Width, Height, 
                    FileName, DestPage, NewWindow, Options, Zoom, DestType, DestLeft, DestTop, 
                    DestRight, DestBottom);
        }

        public int AddLinkToJavaScript(double Left, double Top, double Width, double Height, 
            string JavaScript, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToJavaScript(instanceID, Left, Top, Width, Height, 
                    JavaScript, Options);
        }

        public int AddLinkToLocalFile(double Left, double Top, double Width, double Height, 
            string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToLocalFile(instanceID, Left, Top, Width, Height, 
                    FileName, Options);
        }

        public int AddLinkToPage(double Left, double Top, double Width, double Height, int Page, 
            double Position, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToPage(instanceID, Left, Top, Width, Height, Page, 
                    Position, Options);
        }

        public int AddLinkToWeb(double Left, double Top, double Width, double Height, string Link, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddLinkToWeb(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddNoteAnnotation(instanceID, Left, Top, AnnotType, 
                    PopupLeft, PopupTop, PopupWidth, PopupHeight, Title, Contents, Red, Green, Blue, 
                    Open);
        }

        public int AddOpenTypeFontFromFile(string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddOpenTypeFontFromFile(instanceID, FileName, Options);
        }

        public int AddPageLabels(int Start, int Style, int Offset, string Prefix)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddPageLabels(instanceID, Start, Style, Offset, Prefix);
        }

        public int AddPageMatrix(double xscale, double yscale, double xoffset, double yoffset)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddPageMatrix(instanceID, xscale, yscale, xoffset, 
                    yoffset);
        }

        public int AddRelativeLinkToFile(double Left, double Top, double Width, double Height, 
            string FileName, int Page, double Position, int NewWindow, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddRelativeLinkToFile(instanceID, Left, Top, Width, 
                    Height, FileName, Page, Position, NewWindow, Options);
        }

        public int AddRelativeLinkToFileDest(double Left, double Top, double Width, double Height, 
            string FileName, string NamedDest, double Position, int NewWindow, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddRelativeLinkToFileDest(instanceID, Left, Top, Width, 
                    Height, FileName, NamedDest, Position, NewWindow, Options);
        }

        public int AddRelativeLinkToFileEx(double Left, double Top, double Width, double Height, 
            string FileName, int DestPage, int NewWindow, int Options, int Zoom, int DestType, 
            double DestLeft, double DestTop, double DestRight, double DestBottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddRelativeLinkToFileEx(instanceID, Left, Top, Width, 
                    Height, FileName, DestPage, NewWindow, Options, Zoom, DestType, DestLeft, 
                    DestTop, DestRight, DestBottom);
        }

        public int AddRelativeLinkToLocalFile(double Left, double Top, double Width, double Height, 
            string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddRelativeLinkToLocalFile(instanceID, Left, Top, Width, 
                    Height, FileName, Options);
        }

        public int AddSVGAnnotationFromFile(double Left, double Top, double Width, double Height, 
            string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddSVGAnnotationFromFile(instanceID, Left, Top, Width, 
                    Height, FileName, Options);
        }

        public int AddSWFAnnotationFromFile(double Left, double Top, double Width, double Height, 
            string FileName, string Title, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddSWFAnnotationFromFile(instanceID, Left, Top, Width, 
                    Height, FileName, Title, Options);
        }

        public int AddSeparationColor(string ColorName, double C, double M, double Y, double K, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddSeparationColor(instanceID, ColorName, C, M, Y, K, 
                    Options);
        }

        public int AddStampAnnotation(double Left, double Top, double Width, double Height, 
            int StampType, string Title, string Contents, double Red, double Green, double Blue, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddStampAnnotation(instanceID, Left, Top, Width, Height, 
                    StampType, Title, Contents, Red, Green, Blue, Options);
        }

        public int AddStampAnnotationFromImage(double Left, double Top, double Width, double Height, 
            string FileName, string Title, string Contents, double Red, double Green, double Blue, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddStampAnnotationFromImage(instanceID, Left, Top, Width, 
                    Height, FileName, Title, Contents, Red, Green, Blue, Options);
        }

        public int AddStampAnnotationFromImageID(double Left, double Top, double Width, 
            double Height, int ImageID, string Title, string Contents, double Red, double Green, 
            double Blue, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddStampAnnotationFromImageID(instanceID, Left, Top, 
                    Width, Height, ImageID, Title, Contents, Red, Green, Blue, Options);
        }

        public int AddStandardFont(int StandardFontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddStandardFont(instanceID, StandardFontID);
        }

        public int AddSubsettedFont(string FontName, int CharsetIndex, string SubsetChars)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddSubsettedFont(instanceID, FontName, CharsetIndex, 
                    SubsetChars);
        }

        public int AddTextMarkupAnnotation(int MarkupType, double Left, double Top, double Width, 
            double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddTextMarkupAnnotation(instanceID, MarkupType, Left, Top, 
                    Width, Height);
        }

        public int AddToFileList(string ListName, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddToFileList(instanceID, ListName, FileName);
        }

        public int AddTrueTypeFont(string FontName, int Embed)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddTrueTypeFont(instanceID, FontName, Embed);
        }

        public int AddTrueTypeFontFromFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddTrueTypeFontFromFile(instanceID, FileName);
        }

        public int AddTrueTypeSubsettedFont(string FontName, string SubsetChars, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddTrueTypeSubsettedFont(instanceID, FontName, 
                    SubsetChars, Options);
        }

        public int AddType1Font(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddType1Font(instanceID, FileName);
        }

        public int AddU3DAnnotationFromFile(double Left, double Top, double Width, double Height, 
            string FileName, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAddU3DAnnotationFromFile(instanceID, Left, Top, Width, 
                    Height, FileName, Options);
        }

        public int AnalyseFile(string InputFileName, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAnalyseFile(instanceID, InputFileName, Password);
        }

        public int AnnotationCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAnnotationCount(instanceID);
        }

        public int AnsiStringResultLength()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAnsiStringResultLength(instanceID);
        }

        public int AppendSpace(double RelativeSpace)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAppendSpace(instanceID, RelativeSpace);
        }

        public int AppendTableColumns(int TableID, int NewColumnCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAppendTableColumns(instanceID, TableID, NewColumnCount);
        }

        public int AppendTableRows(int TableID, int NewRowCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAppendTableRows(instanceID, TableID, NewRowCount);
        }

        public int AppendText(string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAppendText(instanceID, Text);
        }

        public int AppendToFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAppendToFile(instanceID, FileName);
        }

        public byte[] AppendToString(int AppendMode)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibAppendToString(instanceID, AppendMode);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int ApplyStyle(string StyleName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibApplyStyle(instanceID, StyleName);
        }

        public int AttachAnnotToForm(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibAttachAnnotToForm(instanceID, Index);
        }

        public int BalanceContentStream()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibBalanceContentStream(instanceID);
        }

        public int BalancePageTree(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibBalancePageTree(instanceID, Options);
        }

        public int BeginPageUpdate()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibBeginPageUpdate(instanceID);
        }

        public int CapturePage(int Page)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCapturePage(instanceID, Page);
        }

        public int CapturePageEx(int Page, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCapturePageEx(instanceID, Page, Options);
        }

        public int CharWidth(int CharCode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCharWidth(instanceID, CharCode);
        }

        public int CheckFileCompliance(string InputFileName, string Password, int ComplianceTest, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCheckFileCompliance(instanceID, InputFileName, Password, 
                    ComplianceTest, Options);
        }

        public int CheckObjects()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCheckObjects(instanceID);
        }

        public int CheckPageAnnots()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCheckPageAnnots(instanceID);
        }

        public int CheckPassword(string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCheckPassword(instanceID, Password);
        }

        public int ClearFileList(string ListName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClearFileList(instanceID, ListName);
        }

        public int ClearImage(int ImageID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClearImage(instanceID, ImageID);
        }

        public int ClearPageLabels()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClearPageLabels(instanceID);
        }

        public int ClearTextFormatting()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClearTextFormatting(instanceID);
        }

        public int CloneOutlineAction(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCloneOutlineAction(instanceID, OutlineID);
        }

        public int ClonePages(int StartPage, int EndPage, int RepeatCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClonePages(instanceID, StartPage, EndPage, RepeatCount);
        }

        public int CloseOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCloseOutline(instanceID, OutlineID);
        }

        public int ClosePath()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibClosePath(instanceID);
        }

        public int CombineContentStreams()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCombineContentStreams(instanceID);
        }

        public int CompareOutlines(int FirstOutlineID, int SecondOutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCompareOutlines(instanceID, FirstOutlineID, 
                    SecondOutlineID);
        }

        public int CompressContent()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCompressContent(instanceID);
        }

        public int CompressFonts(int Compress)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCompressFonts(instanceID, Compress);
        }

        public int CompressImages(int Compress)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCompressImages(instanceID, Compress);
        }

        public int CompressPage()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCompressPage(instanceID);
        }

        public int ContentStreamCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibContentStreamCount(instanceID);
        }

        public int ContentStreamSafe()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibContentStreamSafe(instanceID);
        }

        public int CopyPageRanges(int DocumentID, string RangeList)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCopyPageRanges(instanceID, DocumentID, RangeList);
        }

        public int CopyPageRangesEx(int DocumentID, string RangeList, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCopyPageRangesEx(instanceID, DocumentID, RangeList, 
                    Options);
        }

        public int CreateNewObject()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCreateNewObject(instanceID);
        }

        public int CreateTable(int RowCount, int ColumnCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibCreateTable(instanceID, RowCount, ColumnCount);
        }

        public int DAAppendFile(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAAppendFile(instanceID, FileHandle);
        }

        public int DACapturePage(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDACapturePage(instanceID, FileHandle, PageRef);
        }

        public int DACapturePageEx(int FileHandle, int PageRef, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDACapturePageEx(instanceID, FileHandle, PageRef, Options);
        }

        public int DACloseFile(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDACloseFile(instanceID, FileHandle);
        }

        public int DADrawCapturedPage(int FileHandle, int DACaptureID, int DestPageRef, 
            double PntLeft, double PntBottom, double PntWidth, double PntHeight)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDADrawCapturedPage(instanceID, FileHandle, DACaptureID, 
                    DestPageRef, PntLeft, PntBottom, PntWidth, PntHeight);
        }

        public int DADrawRotatedCapturedPage(int FileHandle, int DACaptureID, int DestPageRef, 
            double PntLeft, double PntBottom, double PntWidth, double PntHeight, double Angle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDADrawRotatedCapturedPage(instanceID, FileHandle, 
                    DACaptureID, DestPageRef, PntLeft, PntBottom, PntWidth, PntHeight, Angle);
        }

        public int DAEmbedFileStreams(int FileHandle, string RootPath)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAEmbedFileStreams(instanceID, FileHandle, RootPath);
        }

        public string DAExtractPageText(int FileHandle, int PageRef, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAExtractPageText(instanceID, FileHandle, PageRef, 
                    Options));
        }

        public int DAExtractPageTextBlocks(int FileHandle, int PageRef, int ExtractOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAExtractPageTextBlocks(instanceID, FileHandle, PageRef, 
                    ExtractOptions);
        }

        public int DAFindPage(int FileHandle, int Page)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAFindPage(instanceID, FileHandle, Page);
        }

        public int DAGetAnnotationCount(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetAnnotationCount(instanceID, FileHandle, PageRef);
        }

        public int DAGetFormFieldCount(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetFormFieldCount(instanceID, FileHandle);
        }

        public string DAGetFormFieldTitle(int FileHandle, int FieldIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetFormFieldTitle(instanceID, FileHandle, FieldIndex));
        }

        public string DAGetFormFieldValue(int FileHandle, int FieldIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetFormFieldValue(instanceID, FileHandle, FieldIndex));
        }

        public byte[] DAGetImageDataToString(int FileHandle, int ImageListID, int ImageIndex)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibDAGetImageDataToString(instanceID, FileHandle, 
                    ImageListID, ImageIndex);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public double DAGetImageDblProperty(int FileHandle, int ImageListID, int ImageIndex, 
            int PropertyID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetImageDblProperty(instanceID, FileHandle, ImageListID, 
                    ImageIndex, PropertyID);
        }

        public int DAGetImageIntProperty(int FileHandle, int ImageListID, int ImageIndex, 
            int PropertyID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetImageIntProperty(instanceID, FileHandle, ImageListID, 
                    ImageIndex, PropertyID);
        }

        public int DAGetImageListCount(int FileHandle, int ImageListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetImageListCount(instanceID, FileHandle, ImageListID);
        }

        public string DAGetInformation(int FileHandle, string Key)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetInformation(instanceID, FileHandle, Key));
        }

        public int DAGetObjectCount(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetObjectCount(instanceID, FileHandle);
        }

        public byte[] DAGetObjectToString(int FileHandle, int ObjectNumber)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibDAGetObjectToString(instanceID, FileHandle, 
                    ObjectNumber);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public double DAGetPageBox(int FileHandle, int PageRef, int BoxIndex, int Dimension)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetPageBox(instanceID, FileHandle, PageRef, BoxIndex, 
                    Dimension);
        }

        public byte[] DAGetPageContentToString(int FileHandle, int PageRef)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibDAGetPageContentToString(instanceID, FileHandle, 
                    PageRef);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int DAGetPageCount(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetPageCount(instanceID, FileHandle);
        }

        public double DAGetPageHeight(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetPageHeight(instanceID, FileHandle, PageRef);
        }

        public int DAGetPageImageList(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetPageImageList(instanceID, FileHandle, PageRef);
        }

        public double DAGetPageWidth(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetPageWidth(instanceID, FileHandle, PageRef);
        }

        public string DAGetTextBlockAsString(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetTextBlockAsString(instanceID, TextBlockListID, 
                    Index));
        }

        public double DAGetTextBlockBound(int TextBlockListID, int Index, int BoundIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockBound(instanceID, TextBlockListID, Index, 
                    BoundIndex);
        }

        public double DAGetTextBlockCharWidth(int TextBlockListID, int Index, int CharIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockCharWidth(instanceID, TextBlockListID, 
                    Index, CharIndex);
        }

        public double DAGetTextBlockColor(int TextBlockListID, int Index, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockColor(instanceID, TextBlockListID, Index, 
                    ColorComponent);
        }

        public int DAGetTextBlockColorType(int TextBlockListID, int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockColorType(instanceID, TextBlockListID, 
                    Index);
        }

        public int DAGetTextBlockCount(int TextBlockListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockCount(instanceID, TextBlockListID);
        }

        public string DAGetTextBlockFontName(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetTextBlockFontName(instanceID, TextBlockListID, 
                    Index));
        }

        public double DAGetTextBlockFontSize(int TextBlockListID, int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAGetTextBlockFontSize(instanceID, TextBlockListID, Index);
        }

        public string DAGetTextBlockText(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDAGetTextBlockText(instanceID, TextBlockListID, Index));
        }

        public int DAHasPageBox(int FileHandle, int PageRef, int BoxIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAHasPageBox(instanceID, FileHandle, PageRef, BoxIndex);
        }

        public int DAHidePage(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAHidePage(instanceID, FileHandle, PageRef);
        }

        public int DAMovePage(int FileHandle, int PageRef, int TargetPageRef, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAMovePage(instanceID, FileHandle, PageRef, TargetPageRef, 
                    Options);
        }

        public int DANewPage(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDANewPage(instanceID, FileHandle);
        }

        public int DANewPages(int FileHandle, int PageCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDANewPages(instanceID, FileHandle, PageCount);
        }

        public int DANormalizePage(int FileHandle, int PageRef, int NormalizeOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDANormalizePage(instanceID, FileHandle, PageRef, 
                    NormalizeOptions);
        }

        public int DAOpenFile(string InputFileName, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAOpenFile(instanceID, InputFileName, Password);
        }

        public int DAOpenFileReadOnly(string InputFileName, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAOpenFileReadOnly(instanceID, InputFileName, Password);
        }

        public int DAPageRotation(int FileHandle, int PageRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAPageRotation(instanceID, FileHandle, PageRef);
        }

        public int DAReleaseImageList(int FileHandle, int ImageListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAReleaseImageList(instanceID, FileHandle, ImageListID);
        }

        public int DAReleaseTextBlocks(int TextBlockListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAReleaseTextBlocks(instanceID, TextBlockListID);
        }

        public int DARemoveUsageRights(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDARemoveUsageRights(instanceID, FileHandle);
        }

        public int DARenderPageToDC(int FileHandle, int PageRef, double DPI, IntPtr DC)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDARenderPageToDC(instanceID, FileHandle, PageRef, DPI, DC);
        }

        public int DARenderPageToFile(int FileHandle, int PageRef, int Options, double DPI, 
            string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDARenderPageToFile(instanceID, FileHandle, PageRef, 
                    Options, DPI, FileName);
        }

        public byte[] DARenderPageToString(int FileHandle, int PageRef, int Options, double DPI)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibDARenderPageToString(instanceID, FileHandle, 
                    PageRef, Options, DPI);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int DARotatePage(int FileHandle, int PageRef, int Angle, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDARotatePage(instanceID, FileHandle, PageRef, Angle, 
                    Options);
        }

        public int DASaveAsFile(int FileHandle, string OutputFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASaveAsFile(instanceID, FileHandle, OutputFileName);
        }

        public int DASaveImageDataToFile(int FileHandle, int ImageListID, int ImageIndex, 
            string ImageFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASaveImageDataToFile(instanceID, FileHandle, ImageListID, 
                    ImageIndex, ImageFileName);
        }

        public int DASetInformation(int FileHandle, string Key, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetInformation(instanceID, FileHandle, Key, NewValue);
        }

        public int DASetPageBox(int FileHandle, int PageRef, int BoxIndex, double X1, double Y1, 
            double X2, double Y2)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetPageBox(instanceID, FileHandle, PageRef, BoxIndex, 
                    X1, Y1, X2, Y2);
        }

        public int DASetPageLayout(int FileHandle, int NewPageLayout)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetPageLayout(instanceID, FileHandle, NewPageLayout);
        }

        public int DASetPageMode(int FileHandle, int NewPageMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetPageMode(instanceID, FileHandle, NewPageMode);
        }

        public int DASetPageSize(int FileHandle, int PageRef, double PntWidth, double PntHeight)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetPageSize(instanceID, FileHandle, PageRef, PntWidth, 
                    PntHeight);
        }

        public int DASetTextExtractionArea(double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetTextExtractionArea(instanceID, Left, Top, Width, 
                    Height);
        }

        public int DASetTextExtractionOptions(int OptionID, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetTextExtractionOptions(instanceID, OptionID, NewValue);
        }

        public int DASetTextExtractionScaling(int Options, double Horizontal, double Vertical)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetTextExtractionScaling(instanceID, Options, 
                    Horizontal, Vertical);
        }

        public int DASetTextExtractionWordGap(double NewWordGap)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDASetTextExtractionWordGap(instanceID, NewWordGap);
        }

        public int DAShiftedHeader(int FileHandle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDAShiftedHeader(instanceID, FileHandle);
        }

        public int Decrypt()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDecrypt(instanceID);
        }

        public int DecryptFile(string InputFileName, string OutputFileName, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDecryptFile(instanceID, InputFileName, OutputFileName, 
                    Password);
        }

        public int DeleteAnalysis(int AnalysisID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeleteAnalysis(instanceID, AnalysisID);
        }

        public int DeleteAnnotation(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeleteAnnotation(instanceID, Index);
        }

        public int DeleteContentStream()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeleteContentStream(instanceID);
        }

        public int DeleteFormField(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeleteFormField(instanceID, Index);
        }

        public int DeleteOptionalContentGroup(int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeleteOptionalContentGroup(instanceID, 
                    OptionalContentGroupID);
        }

        public int DeletePageLGIDict(int DictIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeletePageLGIDict(instanceID, DictIndex);
        }

        public int DeletePages(int StartPage, int PageCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDeletePages(instanceID, StartPage, PageCount);
        }

        public int DocJavaScriptAction(string ActionType, string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDocJavaScriptAction(instanceID, ActionType, JavaScript);
        }

        public int DocumentCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDocumentCount(instanceID);
        }

        public int DrawArc(double XPos, double YPos, double Radius, double StartAngle, 
            double EndAngle, int Pie, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawArc(instanceID, XPos, YPos, Radius, StartAngle, 
                    EndAngle, Pie, DrawOptions);
        }

        public int DrawBarcode(double Left, double Top, double Width, double Height, string Text, 
            int Barcode, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawBarcode(instanceID, Left, Top, Width, Height, Text, 
                    Barcode, Options);
        }

        public int DrawBox(double Left, double Top, double Width, double Height, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawBox(instanceID, Left, Top, Width, Height, DrawOptions);
        }

        public int DrawCapturedPage(int CaptureID, double Left, double Top, double Width, 
            double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawCapturedPage(instanceID, CaptureID, Left, Top, Width, 
                    Height);
        }

        public int DrawCapturedPageMatrix(int CaptureID, double M11, double M12, double M21, 
            double M22, double MDX, double MDY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawCapturedPageMatrix(instanceID, CaptureID, M11, M12, 
                    M21, M22, MDX, MDY);
        }

        public int DrawCircle(double XPos, double YPos, double Radius, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawCircle(instanceID, XPos, YPos, Radius, DrawOptions);
        }

        public int DrawDataMatrixSymbol(double Left, double Top, double ModuleSize, string Text, 
            int Encoding, int SymbolSize, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawDataMatrixSymbol(instanceID, Left, Top, ModuleSize, 
                    Text, Encoding, SymbolSize, Options);
        }

        public int DrawEllipse(double XPos, double YPos, double Width, double Height, 
            int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawEllipse(instanceID, XPos, YPos, Width, Height, 
                    DrawOptions);
        }

        public int DrawEllipticArc(double XPos, double YPos, double Width, double Height, 
            double StartAngle, double EndAngle, int Pie, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawEllipticArc(instanceID, XPos, YPos, Width, Height, 
                    StartAngle, EndAngle, Pie, DrawOptions);
        }

        public int DrawHTMLText(double Left, double Top, double Width, string HTMLText)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawHTMLText(instanceID, Left, Top, Width, HTMLText);
        }

        public string DrawHTMLTextBox(double Left, double Top, double Width, double Height, 
            string HTMLText)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDrawHTMLTextBox(instanceID, Left, Top, Width, Height, 
                    HTMLText));
        }

        public string DrawHTMLTextBoxMatrix(double Width, double Height, string HTMLText, double M11, 
            double M12, double M21, double M22, double MDX, double MDY)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibDrawHTMLTextBoxMatrix(instanceID, Width, Height, 
                    HTMLText, M11, M12, M21, M22, MDX, MDY));
        }

        public int DrawHTMLTextMatrix(double Width, string HTMLText, double M11, double M12, 
            double M21, double M22, double MDX, double MDY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawHTMLTextMatrix(instanceID, Width, HTMLText, M11, M12, 
                    M21, M22, MDX, MDY);
        }

        public int DrawImage(double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawImage(instanceID, Left, Top, Width, Height);
        }

        public int DrawImageMatrix(double M11, double M12, double M21, double M22, double MDX, 
            double MDY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawImageMatrix(instanceID, M11, M12, M21, M22, MDX, MDY);
        }

        public int DrawIntelligentMailBarcode(double Left, double Top, double BarWidth, 
            double FullBarHeight, double TrackerHeight, double SpaceWidth, string BarcodeData, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawIntelligentMailBarcode(instanceID, Left, Top, 
                    BarWidth, FullBarHeight, TrackerHeight, SpaceWidth, BarcodeData, Options);
        }

        public int DrawLine(double StartX, double StartY, double EndX, double EndY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawLine(instanceID, StartX, StartY, EndX, EndY);
        }

        public int DrawMultiLineText(double XPos, double YPos, string Delimiter, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawMultiLineText(instanceID, XPos, YPos, Delimiter, Text);
        }

        public int DrawPDF417Symbol(double Left, double Top, string Text, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawPDF417Symbol(instanceID, Left, Top, Text, Options);
        }

        public int DrawPDF417SymbolEx(double Left, double Top, string Text, int Options, 
            int FixedColumns, int FixedRows, int ErrorLevel, double ModuleSize, 
            double HeightWidthRatio)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawPDF417SymbolEx(instanceID, Left, Top, Text, Options, 
                    FixedColumns, FixedRows, ErrorLevel, ModuleSize, HeightWidthRatio);
        }

        public int DrawPath(int PathOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawPath(instanceID, PathOptions);
        }

        public int DrawPathEvenOdd(int PathOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawPathEvenOdd(instanceID, PathOptions);
        }

        public int DrawPostScriptXObject(int PSRef)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawPostScriptXObject(instanceID, PSRef);
        }

        public int DrawQRCode(double Left, double Top, double SymbolSize, string Text, 
            int EncodeOptions, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawQRCode(instanceID, Left, Top, SymbolSize, Text, 
                    EncodeOptions, DrawOptions);
        }

        public int DrawRotatedBox(double Left, double Bottom, double Width, double Height, 
            double Angle, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedBox(instanceID, Left, Bottom, Width, Height, 
                    Angle, DrawOptions);
        }

        public int DrawRotatedCapturedPage(int CaptureID, double Left, double Bottom, double Width, 
            double Height, double Angle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedCapturedPage(instanceID, CaptureID, Left, 
                    Bottom, Width, Height, Angle);
        }

        public int DrawRotatedImage(double Left, double Bottom, double Width, double Height, 
            double Angle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedImage(instanceID, Left, Bottom, Width, Height, 
                    Angle);
        }

        public int DrawRotatedMultiLineText(double XPos, double YPos, double Angle, string Delimiter, 
            string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedMultiLineText(instanceID, XPos, YPos, Angle, 
                    Delimiter, Text);
        }

        public int DrawRotatedText(double XPos, double YPos, double Angle, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedText(instanceID, XPos, YPos, Angle, Text);
        }

        public int DrawRotatedTextBox(double Left, double Top, double Width, double Height, 
            double Angle, string Text, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedTextBox(instanceID, Left, Top, Width, Height, 
                    Angle, Text, Options);
        }

        public int DrawRotatedTextBoxEx(double Left, double Top, double Width, double Height, 
            double Angle, string Text, int Options, int Border, int Radius, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRotatedTextBoxEx(instanceID, Left, Top, Width, Height, 
                    Angle, Text, Options, Border, Radius, DrawOptions);
        }

        public int DrawRoundedBox(double Left, double Top, double Width, double Height, 
            double Radius, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRoundedBox(instanceID, Left, Top, Width, Height, 
                    Radius, DrawOptions);
        }

        public int DrawRoundedRotatedBox(double Left, double Bottom, double Width, double Height, 
            double Radius, double Angle, int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawRoundedRotatedBox(instanceID, Left, Bottom, Width, 
                    Height, Radius, Angle, DrawOptions);
        }

        public int DrawScaledImage(double Left, double Top, double Scale)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawScaledImage(instanceID, Left, Top, Scale);
        }

        public int DrawSpacedText(double XPos, double YPos, double Spacing, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawSpacedText(instanceID, XPos, YPos, Spacing, Text);
        }

        public double DrawTableRows(int TableID, double Left, double Top, double Height, 
            int FirstRow, int LastRow)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawTableRows(instanceID, TableID, Left, Top, Height, 
                    FirstRow, LastRow);
        }

        public int DrawText(double XPos, double YPos, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawText(instanceID, XPos, YPos, Text);
        }

        public int DrawTextArc(double XPos, double YPos, double Radius, double Angle, string Text, 
            int DrawOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawTextArc(instanceID, XPos, YPos, Radius, Angle, Text, 
                    DrawOptions);
        }

        public int DrawTextBox(double Left, double Top, double Width, double Height, string Text, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawTextBox(instanceID, Left, Top, Width, Height, Text, 
                    Options);
        }

        public int DrawTextBoxMatrix(double Width, double Height, string Text, int Options, 
            double M11, double M12, double M21, double M22, double MDX, double MDY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawTextBoxMatrix(instanceID, Width, Height, Text, 
                    Options, M11, M12, M21, M22, MDX, MDY);
        }

        public int DrawWrappedText(double XPos, double YPos, double Width, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibDrawWrappedText(instanceID, XPos, YPos, Width, Text);
        }

        public int EditableContentStream()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEditableContentStream(instanceID);
        }

        public int EmbedFile(string Title, string FileName, string MIMEType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEmbedFile(instanceID, Title, FileName, MIMEType);
        }

        public int EmbeddedFileCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEmbeddedFileCount(instanceID);
        }

        public int EncapsulateContentStream()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncapsulateContentStream(instanceID);
        }

        public int EncodePermissions(int CanPrint, int CanCopy, int CanChange, int CanAddNotes, 
            int CanFillFields, int CanCopyAccess, int CanAssemble, int CanPrintFull)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncodePermissions(instanceID, CanPrint, CanCopy, 
                    CanChange, CanAddNotes, CanFillFields, CanCopyAccess, CanAssemble, CanPrintFull);
        }

        public int Encrypt(string Owner, string User, int Strength, int Permissions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncrypt(instanceID, Owner, User, Strength, Permissions);
        }

        public int EncryptFile(string InputFileName, string OutputFileName, string Owner, 
            string User, int Strength, int Permissions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncryptFile(instanceID, InputFileName, OutputFileName, 
                    Owner, User, Strength, Permissions);
        }

        public int EncryptWithFingerprint(string Fingerprint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncryptWithFingerprint(instanceID, Fingerprint);
        }

        public int EncryptionAlgorithm()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncryptionAlgorithm(instanceID);
        }

        public int EncryptionStatus()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncryptionStatus(instanceID);
        }

        public int EncryptionStrength()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEncryptionStrength(instanceID);
        }

        public int EndPageUpdate()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEndPageUpdate(instanceID);
        }

        public int EndSignProcessToFile(int SignProcessID, string OutputFile)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibEndSignProcessToFile(instanceID, SignProcessID, 
                    OutputFile);
        }

        public byte[] EndSignProcessToString(int SignProcessID)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibEndSignProcessToString(instanceID, SignProcessID);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public byte[] ExtractFilePageContentToString(string InputFileName, string Password, int Page)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibExtractFilePageContentToString(instanceID, 
                    InputFileName, Password, Page);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public string ExtractFilePageText(string InputFileName, string Password, int Page, 
            int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibExtractFilePageText(instanceID, InputFileName, 
                    Password, Page, Options));
        }

        public int ExtractFilePageTextBlocks(string InputFileName, string Password, int Page, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractFilePageTextBlocks(instanceID, InputFileName, 
                    Password, Page, Options);
        }

        public int ExtractFilePages(string InputFileName, string Password, string OutputFileName, 
            string RangeList)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractFilePages(instanceID, InputFileName, Password, 
                    OutputFileName, RangeList);
        }

        public int ExtractFilePagesEx(string InputFileName, string Password, string OutputFileName, 
            string RangeList, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractFilePagesEx(instanceID, InputFileName, Password, 
                    OutputFileName, RangeList, Options);
        }

        public int ExtractPageRanges(string RangeList)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractPageRanges(instanceID, RangeList);
        }

        public int ExtractPageTextBlocks(int ExtractOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractPageTextBlocks(instanceID, ExtractOptions);
        }

        public int ExtractPages(int StartPage, int PageCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibExtractPages(instanceID, StartPage, PageCount);
        }

        public int FileListCount(string ListName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFileListCount(instanceID, ListName);
        }

        public string FileListItem(string ListName, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibFileListItem(instanceID, ListName, Index));
        }

        public int FindFonts()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFindFonts(instanceID);
        }

        public int FindFormFieldByTitle(string Title)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFindFormFieldByTitle(instanceID, Title);
        }

        public int FindImages()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFindImages(instanceID);
        }

        public int FitImage(double Left, double Top, double Width, double Height, int HAlign, 
            int VAlign, int Rotate)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFitImage(instanceID, Left, Top, Width, Height, HAlign, 
                    VAlign, Rotate);
        }

        public int FitRotatedTextBox(double Left, double Top, double Width, double Height, 
            double Angle, string Text, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFitRotatedTextBox(instanceID, Left, Top, Width, Height, 
                    Angle, Text, Options);
        }

        public int FitTextBox(double Left, double Top, double Width, double Height, string Text, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFitTextBox(instanceID, Left, Top, Width, Height, Text, 
                    Options);
        }

        public int FlattenAnnot(int Index, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFlattenAnnot(instanceID, Index, Options);
        }

        public int FlattenFormField(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFlattenFormField(instanceID, Index);
        }

        public int FontCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFontCount(instanceID);
        }

        public string FontFamily()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibFontFamily(instanceID));
        }

        public int FontHasKerning()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFontHasKerning(instanceID);
        }

        public string FontName()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibFontName(instanceID));
        }

        public string FontReference()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibFontReference(instanceID));
        }

        public int FontSize()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFontSize(instanceID);
        }

        public int FontType()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFontType(instanceID);
        }

        public int FormFieldCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFormFieldCount(instanceID);
        }

        public int FormFieldHasParent(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFormFieldHasParent(instanceID, Index);
        }

        public int FormFieldJavaScriptAction(int Index, string ActionType, string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFormFieldJavaScriptAction(instanceID, Index, ActionType, 
                    JavaScript);
        }

        public int FormFieldWebLinkAction(int Index, string ActionType, string Link)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibFormFieldWebLinkAction(instanceID, Index, ActionType, 
                    Link);
        }

        public int GetActionDest(int ActionID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetActionDest(instanceID, ActionID);
        }

        public string GetActionType(int ActionID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetActionType(instanceID, ActionID));
        }

        public string GetActionURL(int ActionID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetActionURL(instanceID, ActionID));
        }

        public string GetAnalysisInfo(int AnalysisID, int AnalysisItem)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetAnalysisInfo(instanceID, AnalysisID, AnalysisItem));
        }

        public int GetAnnotActionID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotActionID(instanceID, Index);
        }

        public double GetAnnotDblProperty(int Index, int Tag)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotDblProperty(instanceID, Index, Tag);
        }

        public int GetAnnotDest(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotDest(instanceID, Index);
        }

        public string GetAnnotEmbeddedFileName(int Index, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetAnnotEmbeddedFileName(instanceID, Index, Options));
        }

        public int GetAnnotEmbeddedFileToFile(int Index, int Options, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotEmbeddedFileToFile(instanceID, Index, Options, 
                    FileName);
        }

        public byte[] GetAnnotEmbeddedFileToString(int Index, int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetAnnotEmbeddedFileToString(instanceID, Index, 
                    Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GetAnnotIntProperty(int Index, int Tag)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotIntProperty(instanceID, Index, Tag);
        }

        public int GetAnnotQuadCount(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotQuadCount(instanceID, Index);
        }

        public double GetAnnotQuadPoints(int Index, int QuadNumber, int PointNumber)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotQuadPoints(instanceID, Index, QuadNumber, 
                    PointNumber);
        }

        public int GetAnnotSoundToFile(int Index, int Options, string SoundFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetAnnotSoundToFile(instanceID, Index, Options, 
                    SoundFileName);
        }

        public byte[] GetAnnotSoundToString(int Index, int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetAnnotSoundToString(instanceID, Index, Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public string GetAnnotStrProperty(int Index, int Tag)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetAnnotStrProperty(instanceID, Index, Tag));
        }

        public double GetBarcodeWidth(double NominalWidth, string Text, int Barcode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetBarcodeWidth(instanceID, NominalWidth, Text, Barcode);
        }

        public string GetBaseURL()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetBaseURL(instanceID));
        }

        public int GetCSDictEPSG(int CSDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetCSDictEPSG(instanceID, CSDictID);
        }

        public int GetCSDictType(int CSDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetCSDictType(instanceID, CSDictID);
        }

        public string GetCSDictWKT(int CSDictID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetCSDictWKT(instanceID, CSDictID));
        }

        public IntPtr GetCanvasDC(int CanvasWidth, int CanvasHeight)
        {
            if (dll == null) return IntPtr.Zero;
            else
                return dll.PDFlibGetCanvasDC(instanceID, CanvasWidth, CanvasHeight);
        }

        public int GetCanvasDCEx(int CanvasWidth, int CanvasHeight, int ReferenceDC)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetCanvasDCEx(instanceID, CanvasWidth, CanvasHeight, 
                    ReferenceDC);
        }

        public string GetCatalogInformation(string Key)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetCatalogInformation(instanceID, Key));
        }

        public byte[] GetContentStreamToString()
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetContentStreamToString(instanceID);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public string GetCustomInformation(string Key)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetCustomInformation(instanceID, Key));
        }

        public string GetCustomKeys(int Location)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetCustomKeys(instanceID, Location));
        }

        public string GetDefaultPrinterName()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDefaultPrinterName(instanceID));
        }

        public string GetDestName(int DestID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDestName(instanceID, DestID));
        }

        public int GetDestPage(int DestID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDestPage(instanceID, DestID);
        }

        public int GetDestType(int DestID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDestType(instanceID, DestID);
        }

        public double GetDestValue(int DestID, int ValueKey)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDestValue(instanceID, DestID, ValueKey);
        }

        public string GetDocJavaScript(string ActionType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDocJavaScript(instanceID, ActionType));
        }

        public string GetDocumentFileName()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDocumentFileName(instanceID));
        }

        public int GetDocumentFileSize()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDocumentFileSize(instanceID);
        }

        public int GetDocumentID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDocumentID(instanceID, Index);
        }

        public string GetDocumentIdentifier(int Part, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDocumentIdentifier(instanceID, Part, Options));
        }

        public string GetDocumentMetadata()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDocumentMetadata(instanceID));
        }

        public int GetDocumentRepaired()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetDocumentRepaired(instanceID);
        }

        public string GetDocumentResourceList()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetDocumentResourceList(instanceID));
        }

        public int GetEmbeddedFileContentToFile(int Index, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetEmbeddedFileContentToFile(instanceID, Index, FileName);
        }

        public byte[] GetEmbeddedFileContentToString(int Index)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetEmbeddedFileContentToString(instanceID, Index);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GetEmbeddedFileID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetEmbeddedFileID(instanceID, Index);
        }

        public int GetEmbeddedFileIntProperty(int Index, int Tag)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetEmbeddedFileIntProperty(instanceID, Index, Tag);
        }

        public string GetEmbeddedFileStrProperty(int Index, int Tag)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetEmbeddedFileStrProperty(instanceID, Index, Tag));
        }

        public string GetEncryptionFingerprint()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetEncryptionFingerprint(instanceID));
        }

        public string GetFileMetadata(string InputFileName, string Password)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFileMetadata(instanceID, InputFileName, Password));
        }

        public int GetFirstChildOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFirstChildOutline(instanceID, OutlineID);
        }

        public int GetFirstOutline()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFirstOutline(instanceID);
        }

        public int GetFontEncoding()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontEncoding(instanceID);
        }

        public int GetFontFlags(int FontFlagItemID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontFlags(instanceID, FontFlagItemID);
        }

        public int GetFontID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontID(instanceID, Index);
        }

        public int GetFontIsEmbedded()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontIsEmbedded(instanceID);
        }

        public int GetFontIsSubsetted()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontIsSubsetted(instanceID);
        }

        public int GetFontMetrics(int MetricType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontMetrics(instanceID, MetricType);
        }

        public int GetFontObjectNumber()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFontObjectNumber(instanceID);
        }

        public int GetFormFieldActionID(int Index, string TriggerEvent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldActionID(instanceID, Index, TriggerEvent);
        }

        public int GetFormFieldAlignment(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldAlignment(instanceID, Index);
        }

        public int GetFormFieldAnnotFlags(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldAnnotFlags(instanceID, Index);
        }

        public double GetFormFieldBackgroundColor(int Index, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBackgroundColor(instanceID, Index, 
                    ColorComponent);
        }

        public int GetFormFieldBackgroundColorType(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBackgroundColorType(instanceID, Index);
        }

        public double GetFormFieldBorderColor(int Index, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBorderColor(instanceID, Index, ColorComponent);
        }

        public int GetFormFieldBorderColorType(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBorderColorType(instanceID, Index);
        }

        public double GetFormFieldBorderProperty(int Index, int PropKey)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBorderProperty(instanceID, Index, PropKey);
        }

        public int GetFormFieldBorderStyle(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBorderStyle(instanceID, Index);
        }

        public double GetFormFieldBound(int Index, int Edge)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldBound(instanceID, Index, Edge);
        }

        public string GetFormFieldCaption(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldCaption(instanceID, Index));
        }

        public string GetFormFieldCaptionEx(int Index, int StringType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldCaptionEx(instanceID, Index, StringType));
        }

        public int GetFormFieldCheckStyle(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldCheckStyle(instanceID, Index);
        }

        public string GetFormFieldChildTitle(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldChildTitle(instanceID, Index));
        }

        public int GetFormFieldChoiceType(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldChoiceType(instanceID, Index);
        }

        public double GetFormFieldColor(int Index, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldColor(instanceID, Index, ColorComponent);
        }

        public int GetFormFieldComb(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldComb(instanceID, Index);
        }

        public string GetFormFieldDefaultValue(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldDefaultValue(instanceID, Index));
        }

        public string GetFormFieldDescription(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldDescription(instanceID, Index));
        }

        public int GetFormFieldFlags(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldFlags(instanceID, Index);
        }

        public string GetFormFieldFontName(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldFontName(instanceID, Index));
        }

        public string GetFormFieldJavaScript(int Index, string ActionType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldJavaScript(instanceID, Index, ActionType));
        }

        public int GetFormFieldKidCount(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldKidCount(instanceID, Index);
        }

        public int GetFormFieldKidTempIndex(int Index, int SubIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldKidTempIndex(instanceID, Index, SubIndex);
        }

        public int GetFormFieldMaxLen(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldMaxLen(instanceID, Index);
        }

        public int GetFormFieldNoExport(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldNoExport(instanceID, Index);
        }

        public int GetFormFieldPage(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldPage(instanceID, Index);
        }

        public int GetFormFieldPrintable(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldPrintable(instanceID, Index);
        }

        public int GetFormFieldReadOnly(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldReadOnly(instanceID, Index);
        }

        public int GetFormFieldRequired(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldRequired(instanceID, Index);
        }

        public string GetFormFieldRichTextString(int Index, string Key)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldRichTextString(instanceID, Index, Key));
        }

        public int GetFormFieldRotation(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldRotation(instanceID, Index);
        }

        public int GetFormFieldSubCount(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldSubCount(instanceID, Index);
        }

        public string GetFormFieldSubDisplayName(int Index, int SubIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldSubDisplayName(instanceID, Index, SubIndex));
        }

        public string GetFormFieldSubName(int Index, int SubIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldSubName(instanceID, Index, SubIndex));
        }

        public string GetFormFieldSubmitActionString(int Index, string ActionType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldSubmitActionString(instanceID, Index, 
                    ActionType));
        }

        public int GetFormFieldTabOrder(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldTabOrder(instanceID, Index);
        }

        public int GetFormFieldTabOrderEx(int Index, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldTabOrderEx(instanceID, Index, Options);
        }

        public int GetFormFieldTextFlags(int Index, int ValueKey)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldTextFlags(instanceID, Index, ValueKey);
        }

        public double GetFormFieldTextSize(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldTextSize(instanceID, Index);
        }

        public string GetFormFieldTitle(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldTitle(instanceID, Index));
        }

        public int GetFormFieldType(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldType(instanceID, Index);
        }

        public string GetFormFieldValue(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldValue(instanceID, Index));
        }

        public string GetFormFieldValueByTitle(string Title)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldValueByTitle(instanceID, Title));
        }

        public int GetFormFieldVisible(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFieldVisible(instanceID, Index);
        }

        public string GetFormFieldWebLink(int Index, string ActionType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFieldWebLink(instanceID, Index, ActionType));
        }

        public int GetFormFontCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetFormFontCount(instanceID);
        }

        public string GetFormFontName(int FontIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetFormFontName(instanceID, FontIndex));
        }

        public string GetGlobalJavaScript(string PackageName)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetGlobalJavaScript(instanceID, PackageName));
        }

        public double GetHTMLTextHeight(double Width, string HTMLText)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetHTMLTextHeight(instanceID, Width, HTMLText);
        }

        public int GetHTMLTextLineCount(double Width, string HTMLText)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetHTMLTextLineCount(instanceID, Width, HTMLText);
        }

        public double GetHTMLTextWidth(double MaxWidth, string HTMLText)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetHTMLTextWidth(instanceID, MaxWidth, HTMLText);
        }

        public int GetImageID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImageID(instanceID, Index);
        }

        public int GetImageListCount(int ImageListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImageListCount(instanceID, ImageListID);
        }

        public byte[] GetImageListItemDataToString(int ImageListID, int ImageIndex, int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetImageListItemDataToString(instanceID, 
                    ImageListID, ImageIndex, Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public double GetImageListItemDblProperty(int ImageListID, int ImageIndex, int PropertyID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImageListItemDblProperty(instanceID, ImageListID, 
                    ImageIndex, PropertyID);
        }

        public string GetImageListItemFormatDesc(int ImageListID, int ImageIndex, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetImageListItemFormatDesc(instanceID, ImageListID, 
                    ImageIndex, Options));
        }

        public int GetImageListItemIntProperty(int ImageListID, int ImageIndex, int PropertyID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImageListItemIntProperty(instanceID, ImageListID, 
                    ImageIndex, PropertyID);
        }

        public int GetImageMeasureDict()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImageMeasureDict(instanceID);
        }

        public int GetImagePageCount(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImagePageCount(instanceID, FileName);
        }

        public int GetImagePageCountFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibGetImagePageCountFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int GetImagePtDataDict()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetImagePtDataDict(instanceID);
        }

        public string GetInformation(int Key)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetInformation(instanceID, Key));
        }

        public string GetInstalledFontsByCharset(int CharsetIndex, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetInstalledFontsByCharset(instanceID, CharsetIndex, 
                    Options));
        }

        public string GetInstalledFontsByCodePage(int CodePage, int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetInstalledFontsByCodePage(instanceID, CodePage, 
                    Options));
        }

        public int GetKerning(string CharPair)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetKerning(instanceID, CharPair);
        }

        public string GetLatestPrinterNames()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetLatestPrinterNames(instanceID));
        }

        public int GetMaxObjectNumber()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMaxObjectNumber(instanceID);
        }

        public int GetMeasureDictBoundsCount(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictBoundsCount(instanceID, MeasureDictID);
        }

        public double GetMeasureDictBoundsItem(int MeasureDictID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictBoundsItem(instanceID, MeasureDictID, 
                    ItemIndex);
        }

        public int GetMeasureDictCoordinateSystem(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictCoordinateSystem(instanceID, MeasureDictID);
        }

        public int GetMeasureDictDCSDict(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictDCSDict(instanceID, MeasureDictID);
        }

        public int GetMeasureDictGCSDict(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictGCSDict(instanceID, MeasureDictID);
        }

        public int GetMeasureDictGPTSCount(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictGPTSCount(instanceID, MeasureDictID);
        }

        public double GetMeasureDictGPTSItem(int MeasureDictID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictGPTSItem(instanceID, MeasureDictID, 
                    ItemIndex);
        }

        public int GetMeasureDictLPTSCount(int MeasureDictID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictLPTSCount(instanceID, MeasureDictID);
        }

        public double GetMeasureDictLPTSItem(int MeasureDictID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictLPTSItem(instanceID, MeasureDictID, 
                    ItemIndex);
        }

        public int GetMeasureDictPDU(int MeasureDictID, int UnitIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetMeasureDictPDU(instanceID, MeasureDictID, UnitIndex);
        }

        public int GetNamedDestination(string DestName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetNamedDestination(instanceID, DestName);
        }

        public int GetNextOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetNextOutline(instanceID, OutlineID);
        }

        public int GetObjectCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetObjectCount(instanceID);
        }

        public int GetObjectDecodeError(int ObjectNumber)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetObjectDecodeError(instanceID, ObjectNumber);
        }

        public byte[] GetObjectToString(int ObjectNumber)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetObjectToString(instanceID, ObjectNumber);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GetOpenActionDestination()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOpenActionDestination(instanceID);
        }

        public string GetOpenActionJavaScript()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOpenActionJavaScript(instanceID));
        }

        public int GetOptionalContentConfigCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigCount(instanceID);
        }

        public int GetOptionalContentConfigLocked(int OptionalContentConfigID, 
            int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigLocked(instanceID, 
                    OptionalContentConfigID, OptionalContentGroupID);
        }

        public int GetOptionalContentConfigOrderCount(int OptionalContentConfigID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigOrderCount(instanceID, 
                    OptionalContentConfigID);
        }

        public int GetOptionalContentConfigOrderItemID(int OptionalContentConfigID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigOrderItemID(instanceID, 
                    OptionalContentConfigID, ItemIndex);
        }

        public string GetOptionalContentConfigOrderItemLabel(int OptionalContentConfigID, 
            int ItemIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOptionalContentConfigOrderItemLabel(instanceID, 
                    OptionalContentConfigID, ItemIndex));
        }

        public int GetOptionalContentConfigOrderItemLevel(int OptionalContentConfigID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigOrderItemLevel(instanceID, 
                    OptionalContentConfigID, ItemIndex);
        }

        public int GetOptionalContentConfigOrderItemType(int OptionalContentConfigID, int ItemIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigOrderItemType(instanceID, 
                    OptionalContentConfigID, ItemIndex);
        }

        public int GetOptionalContentConfigState(int OptionalContentConfigID, 
            int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentConfigState(instanceID, 
                    OptionalContentConfigID, OptionalContentGroupID);
        }

        public int GetOptionalContentGroupID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentGroupID(instanceID, Index);
        }

        public string GetOptionalContentGroupName(int OptionalContentGroupID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOptionalContentGroupName(instanceID, 
                    OptionalContentGroupID));
        }

        public int GetOptionalContentGroupPrintable(int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentGroupPrintable(instanceID, 
                    OptionalContentGroupID);
        }

        public int GetOptionalContentGroupVisible(int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOptionalContentGroupVisible(instanceID, 
                    OptionalContentGroupID);
        }

        public int GetOrigin()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOrigin(instanceID);
        }

        public int GetOutlineActionID(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineActionID(instanceID, OutlineID);
        }

        public double GetOutlineColor(int OutlineID, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineColor(instanceID, OutlineID, ColorComponent);
        }

        public int GetOutlineDest(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineDest(instanceID, OutlineID);
        }

        public int GetOutlineID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineID(instanceID, Index);
        }

        public string GetOutlineJavaScript(int OutlineID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOutlineJavaScript(instanceID, OutlineID));
        }

        public int GetOutlineObjectNumber(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineObjectNumber(instanceID, OutlineID);
        }

        public string GetOutlineOpenFile(int OutlineID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOutlineOpenFile(instanceID, OutlineID));
        }

        public int GetOutlinePage(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlinePage(instanceID, OutlineID);
        }

        public int GetOutlineStyle(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetOutlineStyle(instanceID, OutlineID);
        }

        public string GetOutlineWebLink(int OutlineID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetOutlineWebLink(instanceID, OutlineID));
        }

        public double GetPageBox(int BoxType, int Dimension)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageBox(instanceID, BoxType, Dimension);
        }

        public string GetPageColorSpaces(int Options)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPageColorSpaces(instanceID, Options));
        }

        public byte[] GetPageContentToString()
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetPageContentToString(instanceID);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GetPageImageList(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageImageList(instanceID, Options);
        }

        public string GetPageJavaScript(string ActionType)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPageJavaScript(instanceID, ActionType));
        }

        public string GetPageLGIDictContent(int DictIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPageLGIDictContent(instanceID, DictIndex));
        }

        public int GetPageLGIDictCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageLGIDictCount(instanceID);
        }

        public string GetPageLabel(int Page)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPageLabel(instanceID, Page));
        }

        public int GetPageLayout()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageLayout(instanceID);
        }

        public byte[] GetPageMetricsToString(int StartPage, int EndPage, int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetPageMetricsToString(instanceID, StartPage, 
                    EndPage, Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GetPageMode()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageMode(instanceID);
        }

        public string GetPageText(int ExtractOptions)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPageText(instanceID, ExtractOptions));
        }

        public double GetPageUserUnit()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageUserUnit(instanceID);
        }

        public int GetPageViewPortCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageViewPortCount(instanceID);
        }

        public int GetPageViewPortID(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPageViewPortID(instanceID, Index);
        }

        public int GetParentOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetParentOutline(instanceID, OutlineID);
        }

        public int GetPrevOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetPrevOutline(instanceID, OutlineID);
        }

        public byte[] GetPrintPreviewBitmapToString(string PrinterName, int PreviewPage, 
            int PrintOptions, int MaxDimension, int PreviewOptions)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetPrintPreviewBitmapToString(instanceID, 
                    PrinterName, PreviewPage, PrintOptions, MaxDimension, PreviewOptions);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public string GetPrinterBins(string PrinterName)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPrinterBins(instanceID, PrinterName));
        }

        public byte[] GetPrinterDevModeToString(string PrinterName)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetPrinterDevModeToString(instanceID, PrinterName);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public string GetPrinterMediaTypes(string PrinterName)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPrinterMediaTypes(instanceID, PrinterName));
        }

        public string GetPrinterNames()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetPrinterNames(instanceID));
        }

        public double GetRenderScale()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetRenderScale(instanceID);
        }

        public int GetSignProcessByteRange(int SignProcessID, int ArrayPosition)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetSignProcessByteRange(instanceID, SignProcessID, 
                    ArrayPosition);
        }

        public int GetSignProcessResult(int SignProcessID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetSignProcessResult(instanceID, SignProcessID);
        }

        public int GetStringListCount(int StringListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetStringListCount(instanceID, StringListID);
        }

        public string GetStringListItem(int StringListID, int ItemIndex)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetStringListItem(instanceID, StringListID, ItemIndex));
        }

        public string GetTabOrderMode()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTabOrderMode(instanceID));
        }

        public double GetTableCellDblProperty(int TableID, int RowNumber, int ColumnNumber, int Tag)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTableCellDblProperty(instanceID, TableID, RowNumber, 
                    ColumnNumber, Tag);
        }

        public int GetTableCellIntProperty(int TableID, int RowNumber, int ColumnNumber, int Tag)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTableCellIntProperty(instanceID, TableID, RowNumber, 
                    ColumnNumber, Tag);
        }

        public string GetTableCellStrProperty(int TableID, int RowNumber, int ColumnNumber, int Tag)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTableCellStrProperty(instanceID, TableID, RowNumber, 
                    ColumnNumber, Tag));
        }

        public int GetTableColumnCount(int TableID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTableColumnCount(instanceID, TableID);
        }

        public int GetTableLastDrawnRow(int TableID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTableLastDrawnRow(instanceID, TableID);
        }

        public int GetTableRowCount(int TableID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTableRowCount(instanceID, TableID);
        }

        public string GetTempPath()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTempPath(instanceID));
        }

        public double GetTextAscent()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextAscent(instanceID);
        }

        public string GetTextBlockAsString(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTextBlockAsString(instanceID, TextBlockListID, 
                    Index));
        }

        public double GetTextBlockBound(int TextBlockListID, int Index, int BoundIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockBound(instanceID, TextBlockListID, Index, 
                    BoundIndex);
        }

        public double GetTextBlockCharWidth(int TextBlockListID, int Index, int CharIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockCharWidth(instanceID, TextBlockListID, Index, 
                    CharIndex);
        }

        public double GetTextBlockColor(int TextBlockListID, int Index, int ColorComponent)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockColor(instanceID, TextBlockListID, Index, 
                    ColorComponent);
        }

        public int GetTextBlockColorType(int TextBlockListID, int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockColorType(instanceID, TextBlockListID, Index);
        }

        public int GetTextBlockCount(int TextBlockListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockCount(instanceID, TextBlockListID);
        }

        public string GetTextBlockFontName(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTextBlockFontName(instanceID, TextBlockListID, 
                    Index));
        }

        public double GetTextBlockFontSize(int TextBlockListID, int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBlockFontSize(instanceID, TextBlockListID, Index);
        }

        public string GetTextBlockText(int TextBlockListID, int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetTextBlockText(instanceID, TextBlockListID, Index));
        }

        public double GetTextBound(int Edge)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextBound(instanceID, Edge);
        }

        public double GetTextDescent()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextDescent(instanceID);
        }

        public double GetTextHeight()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextHeight(instanceID);
        }

        public double GetTextSize()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextSize(instanceID);
        }

        public double GetTextWidth(string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetTextWidth(instanceID, Text);
        }

        public string GetUnicodeCharactersFromEncoding(int Encoding)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetUnicodeCharactersFromEncoding(instanceID, Encoding));
        }

        public double GetViewPortBBox(int ViewPortID, int Dimension)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetViewPortBBox(instanceID, ViewPortID, Dimension);
        }

        public int GetViewPortMeasureDict(int ViewPortID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetViewPortMeasureDict(instanceID, ViewPortID);
        }

        public string GetViewPortName(int ViewPortID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetViewPortName(instanceID, ViewPortID));
        }

        public int GetViewPortPtDataDict(int ViewPortID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetViewPortPtDataDict(instanceID, ViewPortID);
        }

        public int GetViewerPreferences(int Option)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetViewerPreferences(instanceID, Option);
        }

        public string GetWrappedText(double Width, string Delimiter, string Text)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetWrappedText(instanceID, Width, Delimiter, Text));
        }

        public string GetWrappedTextBreakString(double Width, string Delimiter, string Text)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetWrappedTextBreakString(instanceID, Width, Delimiter, 
                    Text));
        }

        public double GetWrappedTextHeight(double Width, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetWrappedTextHeight(instanceID, Width, Text);
        }

        public int GetWrappedTextLineCount(double Width, string Text)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetWrappedTextLineCount(instanceID, Width, Text);
        }

        public int GetXFAFormFieldCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGetXFAFormFieldCount(instanceID);
        }

        public string GetXFAFormFieldName(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetXFAFormFieldName(instanceID, Index));
        }

        public string GetXFAFormFieldNames(string Delimiter)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetXFAFormFieldNames(instanceID, Delimiter));
        }

        public string GetXFAFormFieldValue(string XFAFieldName)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGetXFAFormFieldValue(instanceID, XFAFieldName));
        }

        public byte[] GetXFAToString(int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibGetXFAToString(instanceID, Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int GlobalJavaScriptCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibGlobalJavaScriptCount(instanceID);
        }

        public string GlobalJavaScriptPackageName(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibGlobalJavaScriptPackageName(instanceID, Index));
        }

        public int HasFontResources()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibHasFontResources(instanceID);
        }

        public int HasPageBox(int BoxType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibHasPageBox(instanceID, BoxType);
        }

        public int HidePage()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibHidePage(instanceID);
        }

        public int ImageCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageCount(instanceID);
        }

        public int ImageFillColor()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageFillColor(instanceID);
        }

        public int ImageHeight()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageHeight(instanceID);
        }

        public int ImageHorizontalResolution()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageHorizontalResolution(instanceID);
        }

        public int ImageResolutionUnits()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageResolutionUnits(instanceID);
        }

        public int ImageType()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageType(instanceID);
        }

        public int ImageVerticalResolution()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageVerticalResolution(instanceID);
        }

        public int ImageWidth()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImageWidth(instanceID);
        }

        public int ImportEMFFromFile(string FileName, int FontOptions, int GeneralOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibImportEMFFromFile(instanceID, FileName, FontOptions, 
                    GeneralOptions);
        }

        public int InsertPages(int StartPage, int PageCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibInsertPages(instanceID, StartPage, PageCount);
        }

        public int InsertTableColumns(int TableID, int Position, int NewColumnCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibInsertTableColumns(instanceID, TableID, Position, 
                    NewColumnCount);
        }

        public int InsertTableRows(int TableID, int Position, int NewRowCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibInsertTableRows(instanceID, TableID, Position, 
                    NewRowCount);
        }

        public int IsAnnotFormField(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibIsAnnotFormField(instanceID, Index);
        }

        public int IsLinearized()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibIsLinearized(instanceID);
        }

        public int IsTaggedPDF()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibIsTaggedPDF(instanceID);
        }

        public int LastErrorCode()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibLastErrorCode(instanceID);
        }

        public string LastRenderError()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibLastRenderError(instanceID));
        }

        public string LibraryVersion()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibLibraryVersion(instanceID));
        }

        public string LibraryVersionEx()
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibLibraryVersionEx(instanceID));
        }


        public int LinearizeFile(string InputFileName, string Password, string OutputFileName, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibLinearizeFile(instanceID, InputFileName, Password, 
                    OutputFileName, Options);
        }

        public int LoadFromCanvasDC(double DPI, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibLoadFromCanvasDC(instanceID, DPI, Options);
        }

        public int LoadFromFile(string FileName, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibLoadFromFile(instanceID, FileName, Password);
        }

        public int LoadFromString(byte[] Source, string Password)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibLoadFromString(instanceID, bufferID, Password);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int LoadState()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibLoadState(instanceID);
        }

        public int MergeDocument(int DocumentID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMergeDocument(instanceID, DocumentID);
        }

        public int MergeFileList(string ListName, string OutputFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMergeFileList(instanceID, ListName, OutputFileName);
        }

        public int MergeFileListFast(string ListName, string OutputFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMergeFileListFast(instanceID, ListName, OutputFileName);
        }

        public int MergeFiles(string FirstFileName, string SecondFileName, string OutputFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMergeFiles(instanceID, FirstFileName, SecondFileName, 
                    OutputFileName);
        }

        public int MergeTableCells(int TableID, int FirstRow, int FirstColumn, int LastRow, 
            int LastColumn)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMergeTableCells(instanceID, TableID, FirstRow, 
                    FirstColumn, LastRow, LastColumn);
        }

        public int MoveContentStream(int FromPosition, int ToPosition)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMoveContentStream(instanceID, FromPosition, ToPosition);
        }

        public int MoveOutlineAfter(int OutlineID, int SiblingID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMoveOutlineAfter(instanceID, OutlineID, SiblingID);
        }

        public int MoveOutlineBefore(int OutlineID, int SiblingID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMoveOutlineBefore(instanceID, OutlineID, SiblingID);
        }

        public int MovePage(int NewPosition)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMovePage(instanceID, NewPosition);
        }

        public int MovePath(double NewX, double NewY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMovePath(instanceID, NewX, NewY);
        }

        public int MultiplyScale(double MultScaleBy)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibMultiplyScale(instanceID, MultScaleBy);
        }

        public int NewChildFormField(int Index, string Title, int FieldType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewChildFormField(instanceID, Index, Title, FieldType);
        }

        public int NewContentStream()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewContentStream(instanceID);
        }

        public string NewCustomPrinter(string OriginalPrinterName)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibNewCustomPrinter(instanceID, OriginalPrinterName));
        }

        public int NewDestination(int DestPage, int Zoom, int DestType, double Left, double Top, 
            double Right, double Bottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewDestination(instanceID, DestPage, Zoom, DestType, Left, 
                    Top, Right, Bottom);
        }

        public int NewDocument()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewDocument(instanceID);
        }

        public int NewFormField(string Title, int FieldType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewFormField(instanceID, Title, FieldType);
        }

        public int NewInternalPrinterObject(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewInternalPrinterObject(instanceID, Options);
        }

        public int NewNamedDestination(string DestName, int DestID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewNamedDestination(instanceID, DestName, DestID);
        }

        public int NewOptionalContentGroup(string GroupName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewOptionalContentGroup(instanceID, GroupName);
        }

        public int NewOutline(int Parent, string Title, int DestPage, double DestPosition)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewOutline(instanceID, Parent, Title, DestPage, 
                    DestPosition);
        }

        public int NewPage()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewPage(instanceID);
        }

        public int NewPageFromCanvasDC(double DPI, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewPageFromCanvasDC(instanceID, DPI, Options);
        }

        public int NewPages(int PageCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewPages(instanceID, PageCount);
        }

        public int NewPostScriptXObject(string PS)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewPostScriptXObject(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewRGBAxialShader(instanceID, ShaderName, StartX, StartY, 
                    StartRed, StartGreen, StartBlue, EndX, EndY, EndRed, EndGreen, EndBlue, Extend);
        }

        public int NewSignProcessFromFile(string InputFile, string Password)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewSignProcessFromFile(instanceID, InputFile, Password);
        }

        public int NewSignProcessFromString(byte[] Source, string Password)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibNewSignProcessFromString(instanceID, bufferID, 
                    Password);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int NewStaticOutline(int Parent, string Title)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewStaticOutline(instanceID, Parent, Title);
        }

        public int NewTilingPatternFromCapturedPage(string PatternName, int CaptureID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNewTilingPatternFromCapturedPage(instanceID, PatternName, 
                    CaptureID);
        }

        public int NoEmbedFontListAdd(string FontName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNoEmbedFontListAdd(instanceID, FontName);
        }

        public int NoEmbedFontListCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNoEmbedFontListCount(instanceID);
        }

        public string NoEmbedFontListGet(int Index)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibNoEmbedFontListGet(instanceID, Index));
        }

        public int NoEmbedFontListRemoveAll()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNoEmbedFontListRemoveAll(instanceID);
        }

        public int NoEmbedFontListRemoveIndex(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNoEmbedFontListRemoveIndex(instanceID, Index);
        }

        public int NoEmbedFontListRemoveName(string FontName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNoEmbedFontListRemoveName(instanceID, FontName);
        }

        public int NormalizePage(int NormalizeOptions)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibNormalizePage(instanceID, NormalizeOptions);
        }

        public int OpenOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibOpenOutline(instanceID, OutlineID);
        }

        public int OptionalContentGroupCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibOptionalContentGroupCount(instanceID);
        }

        public int OutlineCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibOutlineCount(instanceID);
        }

        public string OutlineTitle(int OutlineID)
        {
            if (dll == null) return "";
            else
                return SR(dll.PDFlibOutlineTitle(instanceID, OutlineID));
        }

        public int PageCount()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageCount(instanceID);
        }

        public int PageHasFontResources(int PageNumber)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageHasFontResources(instanceID, PageNumber);
        }

        public double PageHeight()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageHeight(instanceID);
        }

        public int PageJavaScriptAction(string ActionType, string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageJavaScriptAction(instanceID, ActionType, JavaScript);
        }

        public int PageRotation()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageRotation(instanceID);
        }

        public double PageWidth()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPageWidth(instanceID);
        }

        public int PrintDocument(string PrinterName, int StartPage, int EndPage, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintDocument(instanceID, PrinterName, StartPage, EndPage, 
                    Options);
        }

        public int PrintDocumentToFile(string PrinterName, int StartPage, int EndPage, int Options, 
            string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintDocumentToFile(instanceID, PrinterName, StartPage, 
                    EndPage, Options, FileName);
        }

        public int PrintMode(int Mode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintMode(instanceID, Mode);
        }

        public int PrintOptions(int PageScaling, int AutoRotateCenter, string Title)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintOptions(instanceID, PageScaling, AutoRotateCenter, 
                    Title);
        }

        public int PrintPages(string PrinterName, string PageRanges, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintPages(instanceID, PrinterName, PageRanges, Options);
        }

        public int PrintPagesToFile(string PrinterName, string PageRanges, int Options, 
            string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibPrintPagesToFile(instanceID, PrinterName, PageRanges, 
                    Options, FileName);
        }

        public int ReleaseImage(int ImageID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReleaseImage(instanceID, ImageID);
        }

        public int ReleaseImageList(int ImageListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReleaseImageList(instanceID, ImageListID);
        }

        public int ReleaseSignProcess(int SignProcessID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReleaseSignProcess(instanceID, SignProcessID);
        }

        public int ReleaseStringList(int StringListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReleaseStringList(instanceID, StringListID);
        }

        public int ReleaseTextBlocks(int TextBlockListID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReleaseTextBlocks(instanceID, TextBlockListID);
        }

        public int RemoveAppearanceStream(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveAppearanceStream(instanceID, Index);
        }

        public int RemoveCustomInformation(string Key)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveCustomInformation(instanceID, Key);
        }

        public int RemoveDocument(int DocumentID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveDocument(instanceID, DocumentID);
        }

        public int RemoveEmbeddedFile(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveEmbeddedFile(instanceID, Index);
        }

        public int RemoveFormFieldBackgroundColor(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveFormFieldBackgroundColor(instanceID, Index);
        }

        public int RemoveFormFieldBorderColor(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveFormFieldBorderColor(instanceID, Index);
        }

        public int RemoveFormFieldChoiceSub(int Index, string SubName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveFormFieldChoiceSub(instanceID, Index, SubName);
        }

        public int RemoveGlobalJavaScript(string PackageName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveGlobalJavaScript(instanceID, PackageName);
        }

        public int RemoveOpenAction()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveOpenAction(instanceID);
        }

        public int RemoveOutline(int OutlineID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveOutline(instanceID, OutlineID);
        }

        public int RemovePageBox(int BoxType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemovePageBox(instanceID, BoxType);
        }

        public int RemoveSharedContentStreams()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveSharedContentStreams(instanceID);
        }

        public int RemoveStyle(string StyleName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveStyle(instanceID, StyleName);
        }

        public int RemoveUsageRights()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveUsageRights(instanceID);
        }

        public int RemoveXFAEntries(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRemoveXFAEntries(instanceID, Options);
        }

        public int RenderAsMultipageTIFFToFile(double DPI, string PageRanges, int ImageOptions, 
            int OutputOptions, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRenderAsMultipageTIFFToFile(instanceID, DPI, PageRanges, 
                    ImageOptions, OutputOptions, FileName);
        }

        public int RenderDocumentToFile(double DPI, int StartPage, int EndPage, int Options, 
            string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRenderDocumentToFile(instanceID, DPI, StartPage, EndPage, 
                    Options, FileName);
        }

        public int RenderPageToDC(double DPI, int Page, IntPtr DC)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRenderPageToDC(instanceID, DPI, Page, DC);
        }

        public int RenderPageToDCClip(double DPI, int Page, int DC, string Clip)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRenderPageToDCClip(instanceID, DPI, Page, DC, Clip);
        }

        public int RenderPageToFile(double DPI, int Page, int Options, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRenderPageToFile(instanceID, DPI, Page, Options, FileName);
        }

        public byte[] RenderPageToString(double DPI, int Page, int Options)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibRenderPageToString(instanceID, DPI, Page, Options);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int ReplaceFonts(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReplaceFonts(instanceID, Options);
        }

        public int ReplaceImage(int OriginalImageID, int NewImageID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReplaceImage(instanceID, OriginalImageID, NewImageID);
        }

        public int ReplaceTag(string Tag, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReplaceTag(instanceID, Tag, NewValue);
        }

        public int RequestPrinterStatus(int StatusCommand)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRequestPrinterStatus(instanceID, StatusCommand);
        }

        public int RetrieveCustomDataToFile(string Key, string FileName, int Location)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRetrieveCustomDataToFile(instanceID, Key, FileName, 
                    Location);
        }

        public byte[] RetrieveCustomDataToString(string Key, int Location)
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibRetrieveCustomDataToString(instanceID, Key, 
                    Location);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int ReverseImage(int Reset)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibReverseImage(instanceID, Reset);
        }

        public int RotatePage(int PageRotation)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibRotatePage(instanceID, PageRotation);
        }

        public int SaveFontToFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveFontToFile(instanceID, FileName);
        }

        public int SaveImageListItemDataToFile(int ImageListID, int ImageIndex, int Options, 
            string ImageFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveImageListItemDataToFile(instanceID, ImageListID, 
                    ImageIndex, Options, ImageFileName);
        }

        public int SaveImageToFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveImageToFile(instanceID, FileName);
        }

        public byte[] SaveImageToString()
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibSaveImageToString(instanceID);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int SaveState()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveState(instanceID);
        }

        public int SaveStyle(string StyleName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveStyle(instanceID, StyleName);
        }

        public int SaveToFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSaveToFile(instanceID, FileName);
        }

        public byte[] SaveToString()
        {
            if (dll == null) return new byte[0];
            else
            {
                IntPtr data = dll.PDFlibSaveToString(instanceID);
                int size = dll.PDFlibAnsiStringResultLength(instanceID);
                byte[] result = new byte[size];
                Marshal.Copy(data, result, 0, size);
                return result;
            }
        }

        public int SecurityInfo(int SecurityItem)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSecurityInfo(instanceID, SecurityItem);
        }

        public int SelectContentStream(int NewIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectContentStream(instanceID, NewIndex);
        }

        public int SelectDocument(int DocumentID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectDocument(instanceID, DocumentID);
        }

        public int SelectFont(int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectFont(instanceID, FontID);
        }

        public int SelectImage(int ImageID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectImage(instanceID, ImageID);
        }

        public int SelectPage(int PageNumber)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectPage(instanceID, PageNumber);
        }

        public int SelectRenderer(int RendererID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectRenderer(instanceID, RendererID);
        }

        public int SelectedDocument()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectedDocument(instanceID);
        }

        public int SelectedFont()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectedFont(instanceID);
        }

        public int SelectedImage()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectedImage(instanceID);
        }

        public int SelectedPage()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSelectedPage(instanceID);
        }

        public int SetActionURL(int ActionID, string NewURL)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetActionURL(instanceID, ActionID, NewURL);
        }

        public int SetAnnotBorderColor(int Index, double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotBorderColor(instanceID, Index, Red, Green, Blue);
        }

        public int SetAnnotBorderStyle(int Index, double Width, int Style, double DashOn, 
            double DashOff)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotBorderStyle(instanceID, Index, Width, Style, 
                    DashOn, DashOff);
        }

        public int SetAnnotContents(int Index, string NewContents)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotContents(instanceID, Index, NewContents);
        }

        public int SetAnnotDblProperty(int Index, int Tag, double NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotDblProperty(instanceID, Index, Tag, NewValue);
        }

        public int SetAnnotIntProperty(int Index, int Tag, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotIntProperty(instanceID, Index, Tag, NewValue);
        }

        public int SetAnnotOptional(int Index, int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotOptional(instanceID, Index, 
                    OptionalContentGroupID);
        }

        public int SetAnnotQuadPoints(int Index, int QuadNumber, double X1, double Y1, double X2, 
            double Y2, double X3, double Y3, double X4, double Y4)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotQuadPoints(instanceID, Index, QuadNumber, X1, Y1, 
                    X2, Y2, X3, Y3, X4, Y4);
        }

        public int SetAnnotRect(int Index, double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotRect(instanceID, Index, Left, Top, Width, Height);
        }

        public int SetAnnotStrProperty(int Index, int Tag, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnnotStrProperty(instanceID, Index, Tag, NewValue);
        }

        public int SetAnsiMode(int NewAnsiMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetAnsiMode(instanceID, NewAnsiMode);
        }

        public int SetAppendInputFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetAppendInputFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetBaseURL(string NewBaseURL)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetBaseURL(instanceID, NewBaseURL);
        }

        public int SetBlendMode(int BlendMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetBlendMode(instanceID, BlendMode);
        }

        public int SetBreakString(string NewBreakString)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetBreakString(instanceID, NewBreakString);
        }

        public int SetCSDictEPSG(int CSDictID, int NewEPSG)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCSDictEPSG(instanceID, CSDictID, NewEPSG);
        }

        public int SetCSDictType(int CSDictID, int NewDictType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCSDictType(instanceID, CSDictID, NewDictType);
        }

        public int SetCSDictWKT(int CSDictID, string NewWKT)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCSDictWKT(instanceID, CSDictID, NewWKT);
        }

        public int SetCairoFileName(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCairoFileName(instanceID, FileName);
        }

        public int SetCapturedPageOptional(int CaptureID, int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCapturedPageOptional(instanceID, CaptureID, 
                    OptionalContentGroupID);
        }

        public int SetCapturedPageTransparencyGroup(int CaptureID, int CS, int Isolate, int Knockout)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCapturedPageTransparencyGroup(instanceID, CaptureID, 
                    CS, Isolate, Knockout);
        }

        public int SetCatalogInformation(string Key, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCatalogInformation(instanceID, Key, NewValue);
        }

        public int SetCharWidth(int CharCode, int NewWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCharWidth(instanceID, CharCode, NewWidth);
        }

        public int SetClippingPath()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetClippingPath(instanceID);
        }

        public int SetClippingPathEvenOdd()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetClippingPathEvenOdd(instanceID);
        }

        public int SetCompatibility(int CompatibilityItem, int CompatibilityMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCompatibility(instanceID, CompatibilityItem, 
                    CompatibilityMode);
        }

        public int SetContentStreamFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetContentStreamFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetContentStreamOptional(int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetContentStreamOptional(instanceID, 
                    OptionalContentGroupID);
        }

        public int SetCropBox(double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCropBox(instanceID, Left, Top, Width, Height);
        }

        public int SetCustomInformation(string Key, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCustomInformation(instanceID, Key, NewValue);
        }

        public int SetCustomLineDash(string DashPattern, double DashPhase)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetCustomLineDash(instanceID, DashPattern, DashPhase);
        }

        public int SetPDFiumFileName(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPDFiumFileName(instanceID, FileName);
        }

        public int SetDecodeMode(int NewDecodeMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetDecodeMode(instanceID, NewDecodeMode);
        }

        public int SetDestProperties(int DestID, int Zoom, int DestType, double Left, double Top, 
            double Right, double Bottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetDestProperties(instanceID, DestID, Zoom, DestType, 
                    Left, Top, Right, Bottom);
        }

        public int SetDestValue(int DestID, int ValueKey, double NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetDestValue(instanceID, DestID, ValueKey, NewValue);
        }

        public int SetDocumentMetadata(string XMP)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetDocumentMetadata(instanceID, XMP);
        }

        public int SetEmbeddedFileStrProperty(int Index, int Tag, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetEmbeddedFileStrProperty(instanceID, Index, Tag, 
                    NewValue);
        }

        public int SetFillColor(double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFillColor(instanceID, Red, Green, Blue);
        }

        public int SetFillColorCMYK(double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFillColorCMYK(instanceID, C, M, Y, K);
        }

        public int SetFillColorSep(string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFillColorSep(instanceID, ColorName, Tint);
        }

        public int SetFillShader(string ShaderName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFillShader(instanceID, ShaderName);
        }

        public int SetFillTilingPattern(string PatternName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFillTilingPattern(instanceID, PatternName);
        }

        public int SetFindImagesMode(int NewFindImagesMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFindImagesMode(instanceID, NewFindImagesMode);
        }

        public int SetFontEncoding(int Encoding)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFontEncoding(instanceID, Encoding);
        }

        public int SetFontFlags(int Fixed, int Serif, int Symbolic, int Script, int Italic, 
            int AllCap, int SmallCap, int ForceBold)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFontFlags(instanceID, Fixed, Serif, Symbolic, Script, 
                    Italic, AllCap, SmallCap, ForceBold);
        }

        public int SetFormFieldAlignment(int Index, int Alignment)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldAlignment(instanceID, Index, Alignment);
        }

        public int SetFormFieldAnnotFlags(int Index, int NewFlags)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldAnnotFlags(instanceID, Index, NewFlags);
        }

        public int SetFormFieldBackgroundColor(int Index, double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBackgroundColor(instanceID, Index, Red, Green, 
                    Blue);
        }

        public int SetFormFieldBackgroundColorCMYK(int Index, double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBackgroundColorCMYK(instanceID, Index, C, M, 
                    Y, K);
        }

        public int SetFormFieldBackgroundColorGray(int Index, double Gray)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBackgroundColorGray(instanceID, Index, Gray);
        }

        public int SetFormFieldBackgroundColorSep(int Index, string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBackgroundColorSep(instanceID, Index, 
                    ColorName, Tint);
        }

        public int SetFormFieldBorderColor(int Index, double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBorderColor(instanceID, Index, Red, Green, 
                    Blue);
        }

        public int SetFormFieldBorderColorCMYK(int Index, double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBorderColorCMYK(instanceID, Index, C, M, Y, K);
        }

        public int SetFormFieldBorderColorGray(int Index, double Gray)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBorderColorGray(instanceID, Index, Gray);
        }

        public int SetFormFieldBorderColorSep(int Index, string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBorderColorSep(instanceID, Index, ColorName, 
                    Tint);
        }

        public int SetFormFieldBorderStyle(int Index, double Width, int Style, double DashOn, 
            double DashOff)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBorderStyle(instanceID, Index, Width, Style, 
                    DashOn, DashOff);
        }

        public int SetFormFieldBounds(int Index, double Left, double Top, double Width, 
            double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldBounds(instanceID, Index, Left, Top, Width, 
                    Height);
        }

        public int SetFormFieldCalcOrder(int Index, int Order)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldCalcOrder(instanceID, Index, Order);
        }

        public int SetFormFieldCaption(int Index, string NewCaption)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldCaption(instanceID, Index, NewCaption);
        }

        public int SetFormFieldCheckStyle(int Index, int CheckStyle, int Position)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldCheckStyle(instanceID, Index, CheckStyle, 
                    Position);
        }

        public int SetFormFieldChildTitle(int Index, string NewTitle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldChildTitle(instanceID, Index, NewTitle);
        }

        public int SetFormFieldChoiceSub(int Index, int SubIndex, string SubName, string DisplayName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldChoiceSub(instanceID, Index, SubIndex, 
                    SubName, DisplayName);
        }

        public int SetFormFieldChoiceType(int Index, int ChoiceType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldChoiceType(instanceID, Index, ChoiceType);
        }

        public int SetFormFieldColor(int Index, double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldColor(instanceID, Index, Red, Green, Blue);
        }

        public int SetFormFieldColorCMYK(int Index, double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldColorCMYK(instanceID, Index, C, M, Y, K);
        }

        public int SetFormFieldColorSep(int Index, string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldColorSep(instanceID, Index, ColorName, Tint);
        }

        public int SetFormFieldComb(int Index, int Comb)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldComb(instanceID, Index, Comb);
        }

        public int SetFormFieldDefaultValue(int Index, string NewDefaultValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldDefaultValue(instanceID, Index, 
                    NewDefaultValue);
        }

        public int SetFormFieldDescription(int Index, string NewDescription)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldDescription(instanceID, Index, NewDescription);
        }

        public int SetFormFieldFlags(int Index, int NewFlags)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldFlags(instanceID, Index, NewFlags);
        }

        public int SetFormFieldFont(int Index, int FontIndex)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldFont(instanceID, Index, FontIndex);
        }

        public int SetFormFieldHighlightMode(int Index, int NewMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldHighlightMode(instanceID, Index, NewMode);
        }

        public int SetFormFieldIcon(int Index, int IconType, int CaptureID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldIcon(instanceID, Index, IconType, CaptureID);
        }

        public int SetFormFieldIconStyle(int Index, int Placement, int Scale, int ScaleType, 
            int HorizontalShift, int VerticalShift)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldIconStyle(instanceID, Index, Placement, Scale, 
                    ScaleType, HorizontalShift, VerticalShift);
        }

        public int SetFormFieldMaxLen(int Index, int NewMaxLen)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldMaxLen(instanceID, Index, NewMaxLen);
        }

        public int SetFormFieldNoExport(int Index, int NoExport)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldNoExport(instanceID, Index, NoExport);
        }

        public int SetFormFieldOptional(int Index, int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldOptional(instanceID, Index, 
                    OptionalContentGroupID);
        }

        public int SetFormFieldPage(int Index, int NewPage)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldPage(instanceID, Index, NewPage);
        }

        public int SetFormFieldPrintable(int Index, int Printable)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldPrintable(instanceID, Index, Printable);
        }

        public int SetFormFieldReadOnly(int Index, int ReadOnly)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldReadOnly(instanceID, Index, ReadOnly);
        }

        public int SetFormFieldRequired(int Index, int Required)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldRequired(instanceID, Index, Required);
        }

        public int SetFormFieldResetAction(int Index, string ActionType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldResetAction(instanceID, Index, ActionType);
        }

        public int SetFormFieldRichTextString(int Index, string Key, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldRichTextString(instanceID, Index, Key, 
                    NewValue);
        }

        public int SetFormFieldRotation(int Index, int Angle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldRotation(instanceID, Index, Angle);
        }

        public int SetFormFieldSignatureImage(int Index, int ImageID, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldSignatureImage(instanceID, Index, ImageID, 
                    Options);
        }

        public int SetFormFieldStandardFont(int Index, int StandardFontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldStandardFont(instanceID, Index, 
                    StandardFontID);
        }

        public int SetFormFieldSubmitAction(int Index, string ActionType, string Link)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldSubmitAction(instanceID, Index, ActionType, 
                    Link);
        }

        public int SetFormFieldSubmitActionEx(int Index, string ActionType, string Link, int Flags)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldSubmitActionEx(instanceID, Index, ActionType, 
                    Link, Flags);
        }

        public int SetFormFieldTabOrder(int Index, int Order)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldTabOrder(instanceID, Index, Order);
        }

        public int SetFormFieldTextFlags(int Index, int Multiline, int Password, int FileSelect, 
            int DoNotSpellCheck, int DoNotScroll)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldTextFlags(instanceID, Index, Multiline, 
                    Password, FileSelect, DoNotSpellCheck, DoNotScroll);
        }

        public int SetFormFieldTextSize(int Index, double NewTextSize)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldTextSize(instanceID, Index, NewTextSize);
        }

        public int SetFormFieldTitle(int Index, string NewTitle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldTitle(instanceID, Index, NewTitle);
        }

        public int SetFormFieldValue(int Index, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldValue(instanceID, Index, NewValue);
        }

        public int SetFormFieldValueByTitle(string Title, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldValueByTitle(instanceID, Title, NewValue);
        }

        public int SetFormFieldVisible(int Index, int Visible)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetFormFieldVisible(instanceID, Index, Visible);
        }

        public int SetGDIPlusFileName(string DLLFileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetGDIPlusFileName(instanceID, DLLFileName);
        }

        public int SetGDIPlusOptions(int OptionID, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetGDIPlusOptions(instanceID, OptionID, NewValue);
        }

        public int SetHTMLBoldFont(string FontSet, int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetHTMLBoldFont(instanceID, FontSet, FontID);
        }

        public int SetHTMLBoldItalicFont(string FontSet, int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetHTMLBoldItalicFont(instanceID, FontSet, FontID);
        }

        public int SetHTMLItalicFont(string FontSet, int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetHTMLItalicFont(instanceID, FontSet, FontID);
        }

        public int SetHTMLNormalFont(string FontSet, int FontID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetHTMLNormalFont(instanceID, FontSet, FontID);
        }

        public int SetHeaderCommentsFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetHeaderCommentsFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetImageAsMask(int MaskType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageAsMask(instanceID, MaskType);
        }

        public int SetImageMask(double FromRed, double FromGreen, double FromBlue, double ToRed, 
            double ToGreen, double ToBlue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageMask(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageMaskCMYK(instanceID, FromC, FromM, FromY, FromK, 
                    ToC, ToM, ToY, ToK);
        }

        public int SetImageMaskFromImage(int ImageID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageMaskFromImage(instanceID, ImageID);
        }

        public int SetImageOptional(int OptionalContentGroupID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageOptional(instanceID, OptionalContentGroupID);
        }

        public int SetImageResolution(int Horizontal, int Vertical, int Units)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetImageResolution(instanceID, Horizontal, Vertical, 
                    Units);
        }

        public int SetInformation(int Key, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetInformation(instanceID, Key, NewValue);
        }

        public int SetJPEGQuality(int Quality)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetJPEGQuality(instanceID, Quality);
        }

        public int SetJavaScriptMode(int JSMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetJavaScriptMode(instanceID, JSMode);
        }

        public int SetKerning(string CharPair, int Adjustment)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetKerning(instanceID, CharPair, Adjustment);
        }

        public int SetLineCap(int LineCap)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineCap(instanceID, LineCap);
        }

        public int SetLineColor(double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineColor(instanceID, Red, Green, Blue);
        }

        public int SetLineColorCMYK(double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineColorCMYK(instanceID, C, M, Y, K);
        }

        public int SetLineColorSep(string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineColorSep(instanceID, ColorName, Tint);
        }

        public int SetLineDash(double DashOn, double DashOff)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineDash(instanceID, DashOn, DashOff);
        }

        public int SetLineDashEx(string DashValues)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineDashEx(instanceID, DashValues);
        }

        public int SetLineJoin(int LineJoin)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineJoin(instanceID, LineJoin);
        }

        public int SetLineShader(string ShaderName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineShader(instanceID, ShaderName);
        }

        public int SetLineWidth(double LineWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetLineWidth(instanceID, LineWidth);
        }

        public int SetMarkupAnnotStyle(int Index, double Red, double Green, double Blue, 
            double Transparency)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMarkupAnnotStyle(instanceID, Index, Red, Green, Blue, 
                    Transparency);
        }

        public int SetMeasureDictBoundsCount(int MeasureDictID, int NewCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictBoundsCount(instanceID, MeasureDictID, 
                    NewCount);
        }

        public int SetMeasureDictBoundsItem(int MeasureDictID, int ItemIndex, double NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictBoundsItem(instanceID, MeasureDictID, 
                    ItemIndex, NewValue);
        }

        public int SetMeasureDictCoordinateSystem(int MeasureDictID, int CoordinateSystemID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictCoordinateSystem(instanceID, MeasureDictID, 
                    CoordinateSystemID);
        }

        public int SetMeasureDictGPTSCount(int MeasureDictID, int NewCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictGPTSCount(instanceID, MeasureDictID, 
                    NewCount);
        }

        public int SetMeasureDictGPTSItem(int MeasureDictID, int ItemIndex, double NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictGPTSItem(instanceID, MeasureDictID, 
                    ItemIndex, NewValue);
        }

        public int SetMeasureDictLPTSCount(int MeasureDictID, int NewCount)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictLPTSCount(instanceID, MeasureDictID, 
                    NewCount);
        }

        public int SetMeasureDictLPTSItem(int MeasureDictID, int ItemIndex, double NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictLPTSItem(instanceID, MeasureDictID, 
                    ItemIndex, NewValue);
        }

        public int SetMeasureDictPDU(int MeasureDictID, int LinearUnit, int AreaUnit, 
            int AngularUnit)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasureDictPDU(instanceID, MeasureDictID, LinearUnit, 
                    AreaUnit, AngularUnit);
        }

        public int SetMeasurementUnits(int MeasurementUnits)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetMeasurementUnits(instanceID, MeasurementUnits);
        }

        public int SetNeedAppearances(int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetNeedAppearances(instanceID, NewValue);
        }

        public int SetObjectFromString(int ObjectNumber, byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetObjectFromString(instanceID, ObjectNumber, 
                    bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetOpenActionDestination(int OpenPage, int Zoom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOpenActionDestination(instanceID, OpenPage, Zoom);
        }

        public int SetOpenActionDestinationFull(int OpenPage, int Zoom, int DestType, double Left, 
            double Top, double Right, double Bottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOpenActionDestinationFull(instanceID, OpenPage, Zoom, 
                    DestType, Left, Top, Right, Bottom);
        }

        public int SetOpenActionJavaScript(string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOpenActionJavaScript(instanceID, JavaScript);
        }

        public int SetOpenActionMenu(string MenuItem)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOpenActionMenu(instanceID, MenuItem);
        }

        public int SetOptionalContentConfigLocked(int OptionalContentConfigID, 
            int OptionalContentGroupID, int NewLocked)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOptionalContentConfigLocked(instanceID, 
                    OptionalContentConfigID, OptionalContentGroupID, NewLocked);
        }

        public int SetOptionalContentConfigState(int OptionalContentConfigID, 
            int OptionalContentGroupID, int NewState)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOptionalContentConfigState(instanceID, 
                    OptionalContentConfigID, OptionalContentGroupID, NewState);
        }

        public int SetOptionalContentGroupName(int OptionalContentGroupID, string NewGroupName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOptionalContentGroupName(instanceID, 
                    OptionalContentGroupID, NewGroupName);
        }

        public int SetOptionalContentGroupPrintable(int OptionalContentGroupID, int Printable)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOptionalContentGroupPrintable(instanceID, 
                    OptionalContentGroupID, Printable);
        }

        public int SetOptionalContentGroupVisible(int OptionalContentGroupID, int Visible)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOptionalContentGroupVisible(instanceID, 
                    OptionalContentGroupID, Visible);
        }

        public int SetOrigin(int Origin)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOrigin(instanceID, Origin);
        }

        public int SetOutlineColor(int OutlineID, double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineColor(instanceID, OutlineID, Red, Green, Blue);
        }

        public int SetOutlineDestination(int OutlineID, int DestPage, double DestPosition)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineDestination(instanceID, OutlineID, DestPage, 
                    DestPosition);
        }

        public int SetOutlineDestinationFull(int OutlineID, int DestPage, int Zoom, int DestType, 
            double Left, double Top, double Right, double Bottom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineDestinationFull(instanceID, OutlineID, DestPage, 
                    Zoom, DestType, Left, Top, Right, Bottom);
        }

        public int SetOutlineDestinationZoom(int OutlineID, int DestPage, double DestPosition, 
            int Zoom)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineDestinationZoom(instanceID, OutlineID, DestPage, 
                    DestPosition, Zoom);
        }

        public int SetOutlineJavaScript(int OutlineID, string JavaScript)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineJavaScript(instanceID, OutlineID, JavaScript);
        }

        public int SetOutlineNamedDestination(int OutlineID, string DestName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineNamedDestination(instanceID, OutlineID, 
                    DestName);
        }

        public int SetOutlineOpenFile(int OutlineID, string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineOpenFile(instanceID, OutlineID, FileName);
        }

        public int SetOutlineRemoteDestination(int OutlineID, string FileName, int OpenPage, 
            int Zoom, int DestType, double PntLeft, double PntTop, double PntRight, double PntBottom, 
            int NewWindow)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineRemoteDestination(instanceID, OutlineID, 
                    FileName, OpenPage, Zoom, DestType, PntLeft, PntTop, PntRight, PntBottom, 
                    NewWindow);
        }

        public int SetOutlineStyle(int OutlineID, int SetItalic, int SetBold)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineStyle(instanceID, OutlineID, SetItalic, SetBold);
        }

        public int SetOutlineTitle(int OutlineID, string NewTitle)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineTitle(instanceID, OutlineID, NewTitle);
        }

        public int SetOutlineWebLink(int OutlineID, string Link)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOutlineWebLink(instanceID, OutlineID, Link);
        }

        public int SetOverprint(int StrokingOverprint, int OtherOverprint, int OverprintMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetOverprint(instanceID, StrokingOverprint, 
                    OtherOverprint, OverprintMode);
        }

        public int SetPDFAMode(int NewMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPDFAMode(instanceID, NewMode);
        }

        public int SetPNGTransparencyColor(int RedByte, int GreenByte, int BlueByte)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPNGTransparencyColor(instanceID, RedByte, GreenByte, 
                    BlueByte);
        }

        public int SetPageActionMenu(string MenuItem)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageActionMenu(instanceID, MenuItem);
        }

        public int SetPageBox(int BoxType, double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageBox(instanceID, BoxType, Left, Top, Width, Height);
        }

        public int SetPageContentFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetPageContentFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetPageDimensions(double NewPageWidth, double NewPageHeight)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageDimensions(instanceID, NewPageWidth, NewPageHeight);
        }

        public int SetPageLayout(int NewPageLayout)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageLayout(instanceID, NewPageLayout);
        }

        public int SetPageMode(int NewPageMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageMode(instanceID, NewPageMode);
        }

        public int SetPageSize(string PaperName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageSize(instanceID, PaperName);
        }

        public int SetPageThumbnail()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageThumbnail(instanceID);
        }

        public int SetPageTransparencyGroup(int CS, int Isolate, int Knockout)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageTransparencyGroup(instanceID, CS, Isolate, 
                    Knockout);
        }

        public int SetPageUserUnit(double UserUnit)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPageUserUnit(instanceID, UserUnit);
        }

        public int SetPrecision(int NewPrecision)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetPrecision(instanceID, NewPrecision);
        }

        public int SetPrinterDevModeFromString(byte[] Source)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetPrinterDevModeFromString(instanceID, bufferID);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetRenderCropType(int NewCropType)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetRenderCropType(instanceID, NewCropType);
        }

        public int SetRenderDCErasePage(int NewErasePage)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetRenderDCErasePage(instanceID, NewErasePage);
        }

        public int SetRenderDCOffset(int NewOffsetX, int NewOffsetY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetRenderDCOffset(instanceID, NewOffsetX, NewOffsetY);
        }

        public int SetRenderOptions(int OptionID, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetRenderOptions(instanceID, OptionID, NewValue);
        }

        public int SetRenderScale(double NewScale)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetRenderScale(instanceID, NewScale);
        }

        public int SetScale(double NewScale)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetScale(instanceID, NewScale);
        }

        public int SetSignProcessCustomSubFilter(int SignProcessID, string SubFilterStr)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessCustomSubFilter(instanceID, SignProcessID, 
                    SubFilterStr);
        }

        public int SetSignProcessField(int SignProcessID, string SignatureFieldName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessField(instanceID, SignProcessID, 
                    SignatureFieldName);
        }

        public int SetSignProcessFieldBounds(int SignProcessID, double Left, double Top, 
            double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessFieldBounds(instanceID, SignProcessID, Left, 
                    Top, Width, Height);
        }

        public int SetSignProcessFieldImageFromFile(int SignProcessID, string ImageFileName, 
            int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessFieldImageFromFile(instanceID, 
                    SignProcessID, ImageFileName, Options);
        }

        public int SetSignProcessFieldPage(int SignProcessID, int SignaturePage)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessFieldPage(instanceID, SignProcessID, 
                    SignaturePage);
        }

        public int SetSignProcessInfo(int SignProcessID, string Reason, string Location, 
            string ContactInfo)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessInfo(instanceID, SignProcessID, Reason, 
                    Location, ContactInfo);
        }

        public int SetSignProcessKeyset(int SignProcessID, int KeysetID)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessKeyset(instanceID, SignProcessID, KeysetID);
        }

        public int SetSignProcessPFXFromFile(int SignProcessID, string PFXFileName, 
            string PFXPassword)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessPFXFromFile(instanceID, SignProcessID, 
                    PFXFileName, PFXPassword);
        }

        public int SetSignProcessPassthrough(int SignProcessID, int SignatureLength)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessPassthrough(instanceID, SignProcessID, 
                    SignatureLength);
        }

        public int SetSignProcessSubFilter(int SignProcessID, int SubFilter)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetSignProcessSubFilter(instanceID, SignProcessID, 
                    SubFilter);
        }

        public int SetTabOrderMode(string Mode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTabOrderMode(instanceID, Mode);
        }

        public int SetTableBorderColor(int TableID, int BorderIndex, double Red, double Green, 
            double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableBorderColor(instanceID, TableID, BorderIndex, Red, 
                    Green, Blue);
        }

        public int SetTableBorderColorCMYK(int TableID, int BorderIndex, double C, double M, 
            double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableBorderColorCMYK(instanceID, TableID, BorderIndex, 
                    C, M, Y, K);
        }

        public int SetTableBorderWidth(int TableID, int BorderIndex, double NewWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableBorderWidth(instanceID, TableID, BorderIndex, 
                    NewWidth);
        }

        public int SetTableCellAlignment(int TableID, int FirstRow, int FirstColumn, int LastRow, 
            int LastColumn, int NewCellAlignment)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellAlignment(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellBackgroundColor(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellBackgroundColorCMYK(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellBorderColor(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellBorderColorCMYK(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellBorderWidth(instanceID, TableID, FirstRow, 
                    FirstColumn, LastRow, LastColumn, BorderIndex, NewWidth);
        }

        public int SetTableCellContent(int TableID, int RowNumber, int ColumnNumber, string HTMLText)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellContent(instanceID, TableID, RowNumber, 
                    ColumnNumber, HTMLText);
        }

        public int SetTableCellPadding(int TableID, int FirstRow, int FirstColumn, int LastRow, 
            int LastColumn, int BorderIndex, double NewPadding)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellPadding(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellTextColor(instanceID, 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)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellTextColorCMYK(instanceID, TableID, FirstRow, 
                    FirstColumn, LastRow, LastColumn, C, M, Y, K);
        }

        public int SetTableCellTextSize(int TableID, int FirstRow, int FirstColumn, int LastRow, 
            int LastColumn, double NewTextSize)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableCellTextSize(instanceID, TableID, FirstRow, 
                    FirstColumn, LastRow, LastColumn, NewTextSize);
        }

        public int SetTableColumnWidth(int TableID, int FirstColumn, int LastColumn, double NewWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableColumnWidth(instanceID, TableID, FirstColumn, 
                    LastColumn, NewWidth);
        }

        public int SetTableRowHeight(int TableID, int FirstRow, int LastRow, double NewHeight)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableRowHeight(instanceID, TableID, FirstRow, LastRow, 
                    NewHeight);
        }

        public int SetTableThinBorders(int TableID, int ThinBorders, double Red, double Green, 
            double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableThinBorders(instanceID, TableID, ThinBorders, Red, 
                    Green, Blue);
        }

        public int SetTableThinBordersCMYK(int TableID, int ThinBorders, double C, double M, 
            double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTableThinBordersCMYK(instanceID, TableID, ThinBorders, 
                    C, M, Y, K);
        }

        public int SetTempFile(string FileName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTempFile(instanceID, FileName);
        }

        public int SetTempPath(string NewPath)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTempPath(instanceID, NewPath);
        }

        public int SetTextAlign(int TextAlign)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextAlign(instanceID, TextAlign);
        }

        public int SetTextCharSpacing(double CharSpacing)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextCharSpacing(instanceID, CharSpacing);
        }

        public int SetTextColor(double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextColor(instanceID, Red, Green, Blue);
        }

        public int SetTextColorCMYK(double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextColorCMYK(instanceID, C, M, Y, K);
        }

        public int SetTextColorSep(string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextColorSep(instanceID, ColorName, Tint);
        }

        public int SetTextExtractionArea(double Left, double Top, double Width, double Height)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextExtractionArea(instanceID, Left, Top, Width, 
                    Height);
        }

        public int SetTextExtractionOptions(int OptionID, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextExtractionOptions(instanceID, OptionID, NewValue);
        }

        public int SetTextExtractionScaling(int Options, double Horizontal, double Vertical)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextExtractionScaling(instanceID, Options, Horizontal, 
                    Vertical);
        }

        public int SetTextExtractionWordGap(double NewWordGap)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextExtractionWordGap(instanceID, NewWordGap);
        }

        public int SetTextHighlight(int Highlight)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextHighlight(instanceID, Highlight);
        }

        public int SetTextHighlightColor(double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextHighlightColor(instanceID, Red, Green, Blue);
        }

        public int SetTextHighlightColorCMYK(double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextHighlightColorCMYK(instanceID, C, M, Y, K);
        }

        public int SetTextHighlightColorSep(string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextHighlightColorSep(instanceID, ColorName, Tint);
        }

        public int SetTextMode(int TextMode)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextMode(instanceID, TextMode);
        }

        public int SetTextRise(double Rise)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextRise(instanceID, Rise);
        }

        public int SetTextScaling(double ScalePercentage)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextScaling(instanceID, ScalePercentage);
        }

        public int SetTextShader(string ShaderName)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextShader(instanceID, ShaderName);
        }

        public int SetTextSize(double TextSize)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextSize(instanceID, TextSize);
        }

        public int SetTextSpacing(double Spacing)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextSpacing(instanceID, Spacing);
        }

        public int SetTextUnderline(int Underline)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderline(instanceID, Underline);
        }

        public int SetTextUnderlineColor(double Red, double Green, double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineColor(instanceID, Red, Green, Blue);
        }

        public int SetTextUnderlineColorCMYK(double C, double M, double Y, double K)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineColorCMYK(instanceID, C, M, Y, K);
        }

        public int SetTextUnderlineColorSep(string ColorName, double Tint)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineColorSep(instanceID, ColorName, Tint);
        }

        public int SetTextUnderlineCustomDash(string DashPattern, double DashPhase)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineCustomDash(instanceID, DashPattern, 
                    DashPhase);
        }

        public int SetTextUnderlineDash(double DashOn, double DashOff)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineDash(instanceID, DashOn, DashOff);
        }

        public int SetTextUnderlineDistance(double UnderlineDistance)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineDistance(instanceID, UnderlineDistance);
        }

        public int SetTextUnderlineWidth(double UnderlineWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextUnderlineWidth(instanceID, UnderlineWidth);
        }

        public int SetTextWordSpacing(double WordSpacing)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTextWordSpacing(instanceID, WordSpacing);
        }

        public int SetTransparency(int Transparency)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetTransparency(instanceID, Transparency);
        }

        public int SetViewerPreferences(int Option, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetViewerPreferences(instanceID, Option, NewValue);
        }

        public int SetXFAFormFieldAccess(string XFAFieldName, int NewAccess)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetXFAFormFieldAccess(instanceID, XFAFieldName, NewAccess);
        }

        public int SetXFAFormFieldBorderColor(string XFAFieldName, double Red, double Green, 
            double Blue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetXFAFormFieldBorderColor(instanceID, XFAFieldName, Red, 
                    Green, Blue);
        }

        public int SetXFAFormFieldBorderPresence(string XFAFieldName, int NewPresence)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetXFAFormFieldBorderPresence(instanceID, XFAFieldName, 
                    NewPresence);
        }

        public int SetXFAFormFieldBorderWidth(string XFAFieldName, double BorderWidth)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetXFAFormFieldBorderWidth(instanceID, XFAFieldName, 
                    BorderWidth);
        }

        public int SetXFAFormFieldValue(string XFAFieldName, string NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetXFAFormFieldValue(instanceID, XFAFieldName, NewValue);
        }

        public int SetXFAFromString(byte[] Source, int Options)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(Source, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, Source.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), Source.Length);
                int result = dll.PDFlibSetXFAFromString(instanceID, bufferID, Options);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int SetupPrinter(string CustomPrinterName, int Setting, int NewValue)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSetupPrinter(instanceID, CustomPrinterName, Setting, 
                    NewValue);
        }

        public int SignFile(string InputFileName, string OpenPassword, string SignatureFieldName, 
            string OutputFileName, string PFXFileName, string PFXPassword, string Reason, 
            string Location, string ContactInfo)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSignFile(instanceID, InputFileName, OpenPassword, 
                    SignatureFieldName, OutputFileName, PFXFileName, PFXPassword, Reason, Location, 
                    ContactInfo);
        }

        public int SplitPageText(int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibSplitPageText(instanceID, Options);
        }

        public int StartPath(double StartX, double StartY)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibStartPath(instanceID, StartX, StartY);
        }

        public int StoreCustomDataFromFile(string Key, string FileName, int Location, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibStoreCustomDataFromFile(instanceID, Key, FileName, 
                    Location, Options);
        }

        public int StoreCustomDataFromString(string Key, byte[] NewValue, int Location, int Options)
        {
            if (dll == null) return 0;
            else
            {
                GCHandle gch = GCHandle.Alloc(NewValue, GCHandleType.Pinned);
                IntPtr bufferID = dll.PDFlibCreateBuffer(instanceID, NewValue.Length);
                dll.PDFlibAddToBuffer(instanceID, bufferID, gch.AddrOfPinnedObject(), NewValue.Length);
                int result = dll.PDFlibStoreCustomDataFromString(instanceID, Key, bufferID, 
                    Location, Options);
                dll.PDFlibReleaseBuffer(instanceID, bufferID);
                gch.Free();
                return result;
            }
        }

        public int StringResultLength()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibStringResultLength(instanceID);
        }

        public int TestTempPath()
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibTestTempPath(instanceID);
        }

        public int TransformFile(string InputFileName, string Password, string OutputFileName, 
            int TransformType, int Options)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibTransformFile(instanceID, InputFileName, Password, 
                    OutputFileName, TransformType, Options);
        }

        public int UpdateAndFlattenFormField(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibUpdateAndFlattenFormField(instanceID, Index);
        }

        public int UpdateAppearanceStream(int Index)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibUpdateAppearanceStream(instanceID, Index);
        }

        public int UpdateTrueTypeSubsettedFont(string SubsetChars)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibUpdateTrueTypeSubsettedFont(instanceID, SubsetChars);
        }

        public int UseKerning(int Kern)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibUseKerning(instanceID, Kern);
        }

        public int UseUnsafeContentStreams(int SafetyLevel)
        {
            if (dll == null) return 0;
            else
                return dll.PDFlibUseUnsafeContentStreams(instanceID, SafetyLevel);
        }
    }
}
