static void Main(string[] args)
        {
            string strPath = System.AppDomain.CurrentDomain.BaseDirectory;

            // Starting with Toolkit version 10 native DLLs are no longer
            // copied to the system folder. The Toolkit constructor must
            // be called with the path to the native DLLs or place them
            // in your applications working directory. This example
            // assumes they are located in the default installation folder.
            // (Use x86 in the path for 32b applications)
            string toolkitPath = $@"{Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)}\ActivePDF\Toolkit\bin\x64";

            // Instantiate Object
            using (APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit(CoreLibPath: toolkitPath))
            {
                // Here you can place any code that will alter the output file
                // such as adding security, setting page dimensions, etc.

                // Create the new PDF file
                int result = toolkit.OpenOutputFile(FileName: $"{strPath}Toolkit.AddComment.pdf");
                if (result == 0)
                {
                    // Open the template PDF
                    result = toolkit.OpenInputFile(InputFileName: $"{strPath}Toolkit.Input.pdf");
                    if (result == 0)
                    {
                        // Add a comment to first page of the input PDF
                        toolkit.AddComment(
                            Left: 72.0f,
                            Top: 660.0f,
                            Width: 144.0f,
                            Height: 100.0f,
                            Comment: "Adds a note comment with a signifying icon. The icon alerts the reader's attention to the noted area for the signified purpose.",
                            Name: "AddComment",
                            noteType: 0,
                            Flags: 128,
                            Color: "#BEBEBE",
                            isOpened: true,
                            PageNum: 0,
                            UserName: "******",
                            Subject: "Toolkit AddComment");

                        // Copy the template (with any changes) to the new file
                        // Start page and end page, 0 = all pages
                        result = toolkit.CopyForm(FirstPage: 0, LastPage: 0);
                        if (result != 1)
                        {
                            WriteResult($"Error copying file: {result.ToString()}", toolkit);
                            return;
                        }

                        // Extract the comments as XML Data to a variable.
                        // Use the strXMLData variable to handle the XML data.
                        string xmlCommentData = toolkit.ExportComments(PageNumber: 0);
                        Console.WriteLine(xmlCommentData);

                        // Close the new file to complete PDF creation
                        toolkit.CloseOutputFile();
                    }
                    else
                    {
                        WriteResult($"Error opening input file: {result.ToString()}", toolkit);
                        return;
                    }
                }
                else
                {
                    WriteResult($"Error opening output file: {result.ToString()}", toolkit);
                    return;
                }
            }

            // Process Complete
            WriteResult("Success!");
        }
        static void Main(string[] args)
        {
            string strPath = System.AppDomain.CurrentDomain.BaseDirectory;

            // Instantiate Object
            using (APToolkitNET.Toolkit toolkit = new APToolkitNET.Toolkit())
            {
                // Here you can place any code that will alter the output file
                // such as adding security, setting page dimensions, etc.

                // Create the new PDF file
                int result = toolkit.OpenOutputFile(FileName: $"{strPath}Toolkit.AddComment.pdf");
                if (result != 0)
                {
                    WriteResult($"Error opening output file: {result.ToString()}", toolkit);
                    return;
                }

                // Open the template PDF
                result = toolkit.OpenInputFile(InputFileName: $"{strPath}Toolkit.Input.pdf");
                if (result != 0)
                {
                    WriteResult($"Error opening input file: {result.ToString()}", toolkit);
                    return;
                }

                // Add a comment to first page of the input PDF
                toolkit.AddComment(
                    Left: 72.0f,
                    Top: 660.0f,
                    Width: 144.0f,
                    Height: 100.0f,
                    Comment: "Adds a note comment with a signifying icon. The icon alerts the reader's attention to the noted area for the signified purpose.",
                    Name: "AddComment",
                    noteType: 0,
                    Flags: 128,
                    Color: "#BEBEBE",
                    isOpened: true,
                    PageNum: 0,
                    UserName: "******",
                    Subject: "Toolkit AddComment");

                // Copy the template (with any changes) to the new file
                // Start page and end page, 0 = all pages
                result = toolkit.CopyForm(FirstPage: 0, LastPage: 0);
                if (result != 1)
                {
                    WriteResult($"Error copying file: {result.ToString()}", toolkit);
                    return;
                }

                // Extract the comments as XML Data to a variable.
                // Use the strXMLData variable to handle the XML data.
                string xmlCommentData = toolkit.ExportComments(PageNumber: 0);
                Console.WriteLine(xmlCommentData);

                // Close the new file to complete PDF creation
                toolkit.CloseOutputFile();
            }

            // Process Complete
            WriteResult("Success!");
        }