Typically, a form design that is created in Designer ES is passed by reference to the Forms service. Form designs can be large and, as a result, it is more efficient to pass them by reference to avoid having to marshal form design bytes by value. The Forms service can also cache the form design so that when cached, it does not have to continually read the form design.
If a form design contains a UUID attribute, then it is cached. The UUID value is unique for all form designs and is used to uniquely identify a form. When rendering a form by value, the form should only be cached when it is used repeatedly. However, if the form is not used repeatedly and has to be unique, you can avoid caching the form using caching options that are set using the LiveCycle ES API.
The Forms service can also resolve the location of linked content within the form design. For example, linked images that are referenced from within the form design are relative URLs. Linked content is always assumed to be relative to the form design location. Therefore, resolving linked content is a matter of determining its location by applying the relative path to the absolute form design location.
Instead of passing a form design by reference, you can pass a form design by value. Passing a form design by value is efficient when a form design is dynamically created; that is, when a client application generates the XML that creates a form design during run-time. In this situation a form design is not stored in a physical repository because it is stored in memory. When dynamically creating a form design at run-time and passing it by value, you can cache the form and improve performance of the Forms service.
Include necessary files into your development project. If you are creating a client application using Java, then include the necessary JAR files. If you are using web services, then make sure that you include the proxy files.
Before you can programmatically import data into a PDF formClient API, you must create a Data Integration service client. When creating a service client, you define connection settings that are required to invoke a service.
When rendering a form by value, you have to create a com.adobe.idp.Document object that contains the form design to render. You can reference an existing XDP file or you can dynamically create an form design at run-time and populate a
com.adobe.idp.Document with that data.
To render a form by value, pass a com.adobe.idp.Document instance that contains the form design to the render method’s
inDataDoc parameter (can be any of the
FormsServiceClient object’s render methods such as
renderPDFForm,
renderHTMLForm, and so on). This parameter value is normally reserved for data that is merged with the form. Likewise, pass an empty string value to the
formQuery parameter. Normally this parameter requires a string value that specifies the name of the form design.
When the Forms ES service renders a form by value, it returns a form data stream that you must write to the client web browser. When written to the client web browser, the form is visible to the user.