Optimizing and improving performance for Forms

Designer provides a number of ways that you can optimize and improve the performance of your forms when using Forms. Using these improvements, you can configure time-saving features such as faster form rendering times, rendering forms on the client to reduce burden on the server, and prepopulating forms with known data to reduce burden on form fillers.

Form caching

Form caching is an effective way to increase the performance of form rendering. When a form is cached, the data is merged into a pregenerated presentation. Using Forms, you can cache forms to improve rendering performance.

Forms that have a layout that adjusts to accommodate data can always be cached. Forms that have a fixed layout may also be cached but the following restrictions apply:

  • If you have floating fields in forms that have a fixed layout and you select the Allow Form Rendering To Be Cached On Server option, the data in the fields will not render in the output PDF. To render the data in floating fields, ensure that this option is not selected.

  • If the form can be filled by using Acrobat or Adobe Reader 6.0.2, only forms that have a fixed layout are eligible for caching. Form caching with forms that have a flowable layout is only supported by Acrobat and Adobe Reader 7.0.5 and later.

  • All server-side scripting against the form layout is ignored. For example, you cannot script against such things as the fill color, font color, border width, or border color.

  • Server-side scripting that changes the page content, the number of fields, the position of fields, or the appearance is ignored.

  • When using the PDF or PDFForm transformations, you cannot change the layout of the form using client-side scripting. However, using the HTML transformations, client-side scripting to change the appearance of the form at the client is still possible, even when form caching is enabled.

  • Usage rights are applied to the form before caching to further improve form rendering performance.

  • Caching requires that each form be uniquely identified. If you want to create a new form by using an existing form as the starting point, do not use the operating system Copy command to copy the form. Instead, you should use the Designer File > Save As command to create the new form that is uniquely identified for caching.

  • If you open an existing form in Designer and save the changes, the cache will be automatically updated.

    For Forms to cache forms that have a fixed layout, you must select the form caching option in Designer for each form that you create.

To specify form caching for a form that has a fixed layout

  1. Select File > Form Properties.

  2. Click the Defaults tab and select Allow Form Rendering To Be Cached On Server.

  3. Click OK.

Rendering a form design that has a flowable layout on the client

If your form fillers are using Acrobat 7.0.5 or later, or Adobe Reader 7.0.5 or later, you can choose to have your forms render on the client instead of the server.

Rendering interactive or non-interactive forms that have a flowable layout, whether through Acrobat or Adobe Reader on the client side, achieves better performance than rendering on the server. This is because the Acrobat and Adobe Reader client applications, not the server, perform the rendering operation. Even forms that have a flowable layout and that involve data merging can be rendered on the client.

In addition, through client-side rendering, you optimize the delivery of PDF content and improve the ability of Forms to handle network load.

To render a form at the client, Forms must be set to render forms at the client and also generate a shell PDF.

The shell PDF file is a container that lets you deliver an XDP file (as part of the data stream) to the Acrobat or Adobe Reader client. It acts as the shell from which a dynamically rendered PDF is displayed and may contain embedded fonts that the XDP file requires. With the shell PDF file, Acrobat and Adobe Reader are able to open the XDP file and render the PDF on the client.

Prepopulating form fields with data

All form types can be prepopulated with data by using Forms. The data can come from a variety of sources, such as a database, another form, or another application.

Prepopulating a form has several advantages:

  • Enables the user to view custom data in a form

  • Reduces the amount of typing the user does to fill a form

  • Ensures data integrity by having control over where data is placed

Prepopulating forms is faster and more secure when the prepopulation occurs during form rendering on the server instead of on the client.

Verifying your XML data source for data merging

When prepopulating forms with data, it is important to ensure that either the structure of the data conforms to the structure of your form design or that your form design conforms to the structure of your data.

In other words, an XML element must exist within your data source for every form field you want to prepopulate. Any discrepancies between the structures of your form and data source can lead to incorrect output. The XML element name must match a form field name, and XML elements that do not correspond to form fields are ignored.

The following two types of data sources can prepopulate a Designer form:

  • An XDP data source that is XML and that conforms to XML Forms Architecture syntax

  • An arbitrary XML data source that contains name/value pairs matching the form field names

An XML data source is used to prepopulate forms. However, an XML data source that prepopulates a form that has a flexible layout contains repeating XML elements that are used to prepopulate subforms that are repeated within the form itself.

// Ethnio survey code removed