' Copyright (c) 2021 ActivePDF, Inc. ' ActivePDF Toolkit 2018 ' Example generated 02/25/21 Dim FSO, intOpenOutputFile, strPath, intOpenInputFile, _ intCopyForm, memPDF, intMergeFile ' Get current path Set FSO = CreateObject("Scripting.FileSystemObject") strPath = FSO.GetFile(Wscript.ScriptFullName).ParentFolder & "\" Set FSO = Nothing ' Instantiate Object Set oTK = CreateObject("APToolkit.Object") ' 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 in memory intOpenOutputFile = oTK.OpenOutputFile("MEMORY") If intOpenOutputFile <> 0 Then ErrorHandler "OpenOutputFile", intOpenOutputFile End If ' Open the template PDF intOpenInputFile = oTK.OpenInputFile(strPath & "PDF.pdf") If intOpenInputFile <> 0 Then ErrorHandler "OpenInputFile", intOpenInputFile End If ' Here you can call any Toolkit functions that will manipulate ' the input file such as text and image stamping, form filling, etc. ' 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 Then ErrorHandler "CopyForm", intCopyForm End If ' 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 Then ErrorHandler "OpenOutputFile", intOpenOutputFile End If ' Prepare the in memory PDF to be used with Toolkit oTK.InputByteStream = memPDF ' Now we can use 'MEMORY' as the filename with OpenInputFile or MergeFile intMergeFile = oTK.MergeFile("MEMORY", 0, 0) If intMergeFile <> 1 Then ErrorHandler "MergeFile", intMergeFile End If ' 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 Set oTK = Nothing ' Process Complete Wscript.Echo("Done!") ' Error Handling Sub ErrorHandler(method, outputCode) Wscript.Echo("Error in " & method & ": " & outputCode) End Sub