Exemple #1
0
    public static void Example()
    {
        int    intOpenOutputFile;
        string strPath;
        int    intOpenInputFile;
        int    intCopyForm;
        string memPDF;
        int    intMergeFile;

        strPath = System.AppDomain.CurrentDomain.BaseDirectory;

        // Instantiate Object
        APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();

        // Here you can place any code that will alter the output file
        // Such as adding security, setting page dimensions, etc.

        APToolkitNET.FieldInfo oFI = oTK.FieldInfo("name", 1);

        string TKversion = oTK.ToolkitVersion;


        // Create the new PDF file in memory
        intOpenOutputFile = oTK.OpenOutputFile("MEMORY");
        if (intOpenOutputFile != 0)
        {
            ErrorHandler("OpenOutputFile", intOpenOutputFile);
        }

        //convert pdf to byte array
        byte[] bytes = System.IO.File.ReadAllBytes(strPath + "form.pdf");

        oTK.InputByteArray = bytes;



        // Open the template PDF
        intOpenInputFile = oTK.OpenInputFile("MEMORY");
        if (intOpenInputFile != 0)
        {
            ErrorHandler("OpenInputFile", intOpenInputFile);
        }


        // Here you can call any Toolkit functions that will manipulate
        // the input file such as text and image stamping, form filling, etc.


        short formCount = oTK.CountFormFields();

        Console.WriteLine(TKversion + "Count form fields = " + formCount);

        Console.ReadKey();


        // Copy the template (with any changes) to the new file
        // Start page and end page, 0 = all pages
        intCopyForm = oTK.CopyForm(0, 0);
        if (intCopyForm != 1)
        {
            ErrorHandler("CopyForm", intCopyForm);
        }

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

        // Set the in memory PDF to a variable
        // To retrieve the PDF as a byte array use oTK.BinaryImage
        memPDF = oTK.OutputByteStream;

        // Toolkit can take a PDF in memory and use it as an input file
        // Here we will use the PDF we just created in memory

        // Create the final PDF on disk
        intOpenOutputFile = oTK.OpenOutputFile(strPath + "final.pdf");
        if (intOpenOutputFile != 0)
        {
            ErrorHandler("OpenOutputFile", intOpenOutputFile);
        }

        // Prepare the in memory PDF to be used with Toolkit
        // For .NET Toolkit also has InputByteArray to accept Byte Arrays
        oTK.InputByteStream = memPDF;

        // Now we can use 'MEMORY' as the filename with OpenInputFile or MergeFile
        intMergeFile = oTK.MergeFile("MEMORY", 0, 0);
        if (intMergeFile != 1)
        {
            ErrorHandler("MergeFile", intMergeFile);
        }

        // Close the final file to complete PDF creation
        oTK.CloseOutputFile();

        // To save a PDF in memory to a file directly call SaveMemoryToDisk
        oTK.SaveMemoryToDisk(strPath + "SavedMemory.pdf");

        // Release Object
        oTK.Dispose();

        // Process Complete
        WriteResults("Done!");
    }