' Copyright (c) 2021 ActivePDF, Inc. ' ActivePDF Toolkit 2018 ' Example generated 04/20/21 Dim FSO, strPath, intOpenOutputFile, intOpenInputFile, _ intCopyForm ' Get current path Set FSO = CreateObject("Scripting.FileSystemObject") strPath = FSO.GetFile(Wscript.ScriptFullName).ParentFolder & "\" Set FSO = Nothing ' Instantiate Object Set oTK = CreateObject("APToolkit.Object") ' 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 Set oTK = Nothing ' Process Complete Wscript.Echo("Done!") ' Error Handling Sub ErrorHandler(method, outputCode) Wscript.Echo("Error in " & method & ": " & outputCode) End Sub