About the HotDocs Server .NET API

The HotDocs Server .NET API is a set of native .NET classes built on top of the COM API, which you can use to integrate HotDocs Server with host applications built on the ASP.NET framework. It provides essentially the same set of HotDocs features as the COM API, but also incorporates some conveniences such as native .NET collections and implementations of the IDisposable interface (to allow for timely cleanup of managed objects rather than having to wait for system garbage collection).

When developing your host application in ASP.NET, you should include references to the following assemblies, which are installed in the HotDocs Server program files folder (e.g., C:\Program Files\HotDocs Server\bin\11 ):

  • HotDocs.Server.dll: .NET API assembly (defining the HotDocs.Server namespace)

  • HotDocs.Server.Interop.dll: Primary Interop Assembly for HotDocs Server (HotDocs.Server.dll relies on many of the enumerated types defined here.)

All previously-released versions of these assemblies are also installed in the HotDocs Server program files folder. This is done to maintain backwards compatibility, insofar as possible, with existing host applications.

HotDocs.Server Namespace

The native .NET API for HotDocs Server includes the following classes, all in the HotDocs.Server namespace. Many of these are convenience wrappers around classes in the COM Application Interface.

Classes

Class Description
Answer

This class contains methods and properties relating to answers . An Answer is a set of Values for a particular HotDocs Variable.

AnswerCollection

This class contains methods and properties relating to answer collections. An AnswerCollection is a group of Answer objects, which HotDocs Server uses when it assembles a document.  

Application This class contains methods and properties relating to applications. The Application object, representing the HotDocs Server application itself, exposes core HotDocs Server features in a more stateless fashion.
Assembly This class contains methods and properties relating to assembling documents. An Assembly represents a single template that HotDocs Server is currently assembling, waiting to assemble, or has already assembled.
AssemblyCollection This class contains methods and properties relating to assembly collections. An AssemblyCollection represents a group of Assembly objects (templates) that HotDocs Server is either waiting to assemble, or has already assembled.
Component This class contains methods and properties relating to components. A Component represents a single HotDocs component, such as a variable or a dialog.
ComponentCollection This class contains methods and properties relating to component collections. A ComponentCollection represents a HotDocs component file, which is a collection of Component objects like variables and dialogs.
ComponentProperties This class contains methods and properties relating to component properties. ComponentProperties represents a collection of ComponentProperty objects. Each HotDocs component (e.g., variable, dialog, etc.) contains a ComponentProperties collection that defines the component.
ComponentProperty This class contains methods and properties relating to a component property. A ComponentProperty represents a specific property of a HotDocs component.
Dependency This class contains properties relating to dependencies. This object represents a single dependency (file) that is required by a template. A dependency may be a template, component, image, or any other kind of file required by the template.
DependencyCollection This class contains methods and properties relating to dependency collections. This object represents a collection of Dependency objects, which are required by a given template. This collection may be accessed through the TemplateInfo object.
HotDocsServerException This class contains methods relating to HotDocsServerException objects. HotDocsServerException objects are exceptions thrown by HotDocs.Server.dll.
HtmlOutputOptions This class contains methods and properties relating to the output options when converting to HTML. An HtmlOutputOptions object is used to specify details of the conversion to HTML from some other format.
InterviewResponse This class contains methods relating to the handling of interview response data. An InterviewResponse provides a method for converting HTTP POST data into an XML string suitable to be passed to the AnswerCollection.SetXMLAnswers method.
PdfOutputOptions This class contains methods and properties relating to the output options when converting to PDF. A PdfOutputOptions object is used to specify details of the conversion to PDF from some other format.
RepeatIndices This class contains methods and properties relating to repeat indices. This class represents the repeat indexes for an answer.
Session This class contains methods and properties relating to sessions. A Session represents an instance of HotDocs Server for an individual user of your host application.
TemplateInfo This class contains methods and properties relating to template info. This object lets you gather information about the files on which a given HotDocs template depends.
TextOutputOptions This class contains methods and properties relating to the output options when converting to plain text. A TextOutputOptions object is used to specify details of the conversion to plain text from some other format.
UtilityTools This class contains methods relating to utilities. The UtilityTools class contains static methods for converting files, managing temporary files, and other general utilities.
Value This class contains methods and properties relating to values. A Value is the most basic building block of a HotDocs Answer. This is where individual pieces of data, such as text strings, dates, and numbers, are stored.
VariableCollection This class contains methods and properties relating to variable collections. A VariableCollection provides a "data dictionary" of all variables used in a template. On disk, the VariableCollection is contained in the template's .HVC file, which is created by HotDocs when a template is published for use with HotDocs Server.
AssemblyNode [Deprecated] This class contains methods and properties relating to the HotDocs Server Assembly Node.
Manager [Deprecated] This class contains methods and properties relating to managing groups (clusters) of assembly servers.

Enumerations

Enumeration Description
DependencyType This enumeration provides a list of ways a HotDocs template can rely on a another item (represented by a Dependency object).