Example code is for an older version of Toolkit, newer code is available.
// Copyright (c) 2021 ActivePDF, Inc.
// ActivePDF Toolkit 2017
// Example generated 04/12/21
using System;
// Make sure to add the ActivePDF product .NET DLL(s) to your application.
// .NET DLL(s) are typically found in the products 'bin' folder.
class Examples
{
public static void Example()
{
string strPath;
int intOpenOutputFile;
int intOpenInputFile;
int intCopyForm;
strPath = System.AppDomain.CurrentDomain.BaseDirectory;
// Instantiate Object
APToolkitNET.Toolkit oTK = new APToolkitNET.Toolkit();
// This example will take one PDF form and fill it out twice
// resulting in a 2 page PDF containing two filled forms
// The new PDF will have renamed fields so they do not conflict
// Unused fields will be flattened (removed)
// Create the new PDF file
intOpenOutputFile = oTK.OpenOutputFile(strPath + "new.pdf");
if (intOpenOutputFile != 0)
{
ErrorHandler("OpenOutputFile", intOpenOutputFile);
}
// Open the template PDF
intOpenInputFile = oTK.OpenInputFile(strPath + "form.pdf");
if (intOpenInputFile != 0)
{
ErrorHandler("OpenInputFile", intOpenInputFile);
}
// Set how you want form field data formatting to be handled
// By default the field will remain the same (1)
// You can have the field formatting be ignored (0)
oTK.DoFormFormatting = 1;
// As we will be using the same PDF form for multiple pages we do not want
// the field names to conflict as different data will be in same named fields
// Using FormNumbering will rename the fields so they do not conflict
// field 'name' would become 'name__1', 'name__2', etc
// 0 = False, 1 = True
oTK.FormNumbering = 1;
// Populate form fields for the first page with data
// Refer to the documentation for possible flag options
oTK.SetFormFieldData("name", "John Doe", 1);
oTK.SetFormFieldData("date", "03-27-1984", -997);
oTK.SetFormFieldData("amount", "4231.34", -997);
// Copy the first page (with field data) to the new pdf
intCopyForm = oTK.CopyForm(0, 0);
if (intCopyForm != 1)
{
ErrorHandler("CopyForm", intCopyForm);
}
// Use ResetFormFields to clear the form data we previously used
oTK.ResetFormFields();
// Populate form fields for the second page with data
oTK.SetFormFieldData("name", "Jane Doe", 1);
oTK.SetFormFieldData("date", "07/13/1988", -997);
oTK.SetFormFieldData("amount", "1567.12", -997);
// Set whether to flatten all other fields not touched by SetFormFieldData
oTK.FlattenRemainingFormFields = 1;
// Copy the second page (with field data) to the new pdf
intCopyForm = oTK.CopyForm(0, 0);
if (intCopyForm != 1)
{
ErrorHandler("CopyForm", intCopyForm);
}
// Close the new file to complete PDF creation
oTK.CloseOutputFile();
// Release Object
oTK.Dispose();
// Process Complete
WriteResults("Done!");
}
// Error Handling
public static void ErrorHandler(string strMethod, object rtnCode)
{
WriteResults(strMethod + " error: " + rtnCode.ToString());
}
// Write output data
public static void WriteResults(string content)
{
// Choose where to write out results
// Debug output
//System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
// Console
Console.WriteLine(content);
// Log file
//using (System.IO.TextWriter writer = new System.IO.StreamWriter(System.AppDomain.CurrentDomain.BaseDirectory + "application.log", true))
//{
// writer.WriteLine("[" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") + "]: => " + content);
//}
}
}