Example code is for an older version of Toolkit, newer code is available.
' Copyright (c) 2021 ActivePDF, Inc.
' ActivePDF Toolkit 2017
' Example generated 01/26/21
Imports 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.
Public Class Examples
Sub Example()
Dim strPath As String, intOpenOutputFile As Integer, intOpenInputFile As Integer, intCopyForm As Integer
strPath = AppDomain.CurrentDomain.BaseDirectory
' Instantiate Object
Dim oTK As APToolkitNET.Toolkit = 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 Then
ErrorHandler("OpenOutputFile", intOpenOutputFile)
End If
' Open the template PDF
intOpenInputFile = oTK.OpenInputFile(strPath & "form.pdf")
If intOpenInputFile <> 0 Then
ErrorHandler("OpenInputFile", intOpenInputFile)
End If
' 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 Then
ErrorHandler("CopyForm", intCopyForm)
End If
' 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 Then
ErrorHandler("CopyForm", intCopyForm)
End If
' Close the new file to complete PDF creation
oTK.CloseOutputFile()
' Release Object
oTK.Dispose()
' Process Complete
WriteResults("Done!")
End Sub
' Error Handling
' Error messages written to debug output
Sub ErrorHandler(ByVal strMethod, ByVal RtnCode)
WriteResults(strMethod + " error: " + rtnCode.ToString())
End Sub
' Write output data
Sub WriteResults(content As String)
' Choose where to write out results
' Debug output
'System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content)
' Console
Console.WriteLine(content)
' Log file
'Using tw = New System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory & "application.log", True)
' tw.WriteLine("[" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") + "]: => " + content)
'End Using
End Sub
End Class