' Copyright (c) 2021 ActivePDF, Inc. ' ActivePDF Server 2013 ' Example generated 04/14/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, results As ServerDK.Results.ServerResult strPath = AppDomain.CurrentDomain.BaseDirectory ' Instantiate Object Dim oSVR As APServer.Server = New APServer.Server() ' Set the quality options for the created PDF ' For custom settings to take effect set the configuration to custom oSVR.PredefinedSetting = ADK.PostScript.PredefinedConfiguration.Custom ' Specifies if ASCII85 encoding should be applied to binary streams oSVR.ASCIIEncode = true ' Automatically control the page orientation based on text flow oSVR.AutoRotate = true ' Specifies if CMYK colors should be converted to RGB oSVR.ConvertCMYKToRGB = true ' Set the DPI for the created PDF oSVR.Resolution = 300.0 ' Set whether existing halftone settings should be preserved oSVR.PreserveHalftone = ADK.PostScript.PreserveSettingOption.Preserve ' Set whether existing overprint settings should be preserved oSVR.PreserveOverprint = ADK.PostScript.PreserveSettingOption.Preserve ' Set how transfer functions from the input file are handled oSVR.PreserveTransferFunction = ADK.PostScript.PreserveTransferSettings.Preserve ' Set whether the UCRandBGInfo, from the input file, should be preserved oSVR.UCRandBGInfo = ADK.PostScript.PreserveSettingOption.Preserve ' Color Image Quality Settings oSVR.ColorImageDownsampleThreshold = 1 oSVR.ColorImageDownsampleType = ADK.PostScript.Images.DownsampleOption.None oSVR.ColorImageFilter = ADK.PostScript.Images.CompressionOption.FlateEncode oSVR.ColorImageResolution = 72 ' Gray Image Quality Settings oSVR.GrayImageDownsampleThreshold = 1 oSVR.GrayImageDownsampleType = ADK.PostScript.Images.DownsampleOption.None oSVR.GrayImageFilter = ADK.PostScript.Images.CompressionOption.FlateEncode oSVR.GrayImageResolution = 72 ' Monochrome Image Quality Settings oSVR.MonoImageDownsampleThreshold = 1 oSVR.MonoImageDownsampleType = ADK.PostScript.Images.DownsampleOption.None oSVR.MonoImageFilter = ADK.PostScript.Images.MonochromeCompression.FlateEncode oSVR.MonoImageResolution = 72 ' Path and filename of output oSVR.OutputDirectory = strPath oSVR.NewDocumentName = "quality.pdf" ' Start the print job results = oSVR.BeginPrintToPDF() If results.ServerStatus <> ServerDK.Results.ServerStatus.Success Then ErrorHandler("BeginPrintToPDF", results, results.ServerStatus.ToString()) End If ' Here is where you can print to activePDF Server to create ' a PDF from any print job, set your application to print to ' a static activePDF Server printer or call oSVR.NewPrinterName ' to dynamically create a new printer on the fly ' This example simply calls oSVR.TestPrintToPDF for testing purposes results = oSVR.TestPrintToPDF("Hello World!") If results.ServerStatus <> ServerDK.Results.ServerStatus.Success Then ErrorHandler("TestPrintToPDF", results, results.ServerStatus.ToString()) End If ' Wait(seconds) for job to complete results = oSVR.EndPrintToPDF(30) If results.ServerStatus <> ServerDK.Results.ServerStatus.Success Then ErrorHandler("EndPrintToPDF", results, results.ServerStatus.ToString()) End If ' Release Object oSVR = Nothing ' Process Complete WriteResults("Done!") End Sub ' Error Handling Sub ErrorHandler(ByVal strMethod As String, ByVal results As ADK.Results.Result, ByVal errorStatus As String) WriteResults("Error with " + strMethod) WriteResults(errorStatus) WriteResults(results.Details) If results.Origin.Function <> strMethod Then WriteResults(results.Origin.Class + "." + results.Origin.Function) End If If Not results.ResultException Is Nothing Then ' To view the stack trace on an exception uncomment the line below 'WriteResults(results.ResultException.StackTrace) End If Environment.Exit(1) 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