在渲染表单时,您可以设置运行时选项,以优化Forms服务的性能。 您可以执行的另一个任务是将XDP文件存储在存储库中,以提高Forms服务的性能。 但是,本节并未说明如何执行此任务。 (请参阅 使用Java客户端库调用服务.)
有关Forms服务的更多信息,请参阅 AEM Forms服务参考.
要在渲染表单时优化Forms服务的性能,请执行以下任务:
包含项目文件
在开发项目中包含必需的文件。 如果您使用Java创建客户端应用程序,请包含必需的JAR文件。 如果您使用的是Web服务,请确保包含代理文件。
创建Forms客户端API对象
您必须先创建Forms服务客户端,然后才能以编程方式执行Forms服务客户端API操作。 如果您使用的是Java API,请创建 FormsServiceClient
对象。 如果您使用的是Forms Web服务API,请创建 FormsService
对象。
设置性能运行时选项
您可以设置以下性能运行时选项以提高Forms服务的性能:
true
,这会导致表单在渲染时没有状态信息。 如果要向最终用户呈现交互式表单,然后最终用户将信息输入到表单中并将表单提交回Forms服务,则需要提供状态信息。 然后,Forms服务执行计算操作,并将表单呈现回用户,结果显示在表单中。 如果将没有状态信息的表单提交回Forms服务,则只有XML数据可用,且不执行服务器端计算。渲染表单
要在设置性能选项后渲染表单,请使用与渲染不带性能选项的表单相同的应用程序逻辑。
将表单数据流写入客户端Web浏览器
在Forms服务呈现表单后,它将返回一个必须写入客户端Web浏览器的表单数据流。 写入客户端Web浏览器时,用户可以看到该表单。
另请参阅
使用Forms API(Java)渲染性能优化的表单:
包含项目文件
在Java项目的类路径中包含客户端JAR文件,如adobe-forms-client.jar。
创建Forms客户端API对象
ServiceClientFactory
包含连接属性的对象。FormsServiceClient
对象,并使用其构造函数进行传递 ServiceClientFactory
对象。设置性能运行时选项
PDFFormRenderSpec
对象。PDFFormRenderSpec
对象 setCacheEnabled
方法和传递 true
.PDFFormRenderSpec
对象 setLinearizedPDF
方法和传递 true.
渲染表单
调用 FormsServiceClient
对象 renderPDFForm
方法并传递以下值:
com.adobe.idp.Document
包含要与表单合并的数据的对象。 如果不想合并数据,请传递一个空 com.adobe.idp.Document
对象。PDFFormRenderSpec
用于存储运行时选项以提高性能的对象。URLSpec
包含Forms服务所需URI值的对象。java.util.HashMap
用于存储文件附件的对象。 这是一个可选参数,您可以指定 null
如果您不想将文件附加到表单。的 renderPDFForm
方法返回 FormsResult
包含必须写入客户端web浏览器的表单数据流的对象。
将表单数据流写入客户端Web浏览器
javax.servlet.ServletOutputStream
用于将表单数据流发送到客户端web浏览器的对象。com.adobe.idp.Document
对象 FormsResult
对象s getOutputContent
方法。java.io.InputStream
对象 com.adobe.idp.Document
对象 getInputStream
方法。InputStream
对象 read
方法并将字节数组作为参数进行传递。javax.servlet.ServletOutputStream
对象 write
将表单数据流发送到客户端web浏览器的方法。 将字节数组传递到 write
方法。另请参阅
使用Forms API(Web服务)渲染性能优化的表单:
包含项目文件
创建Forms客户端API对象
创建 FormsService
对象,并设置身份验证值。
设置性能运行时选项
PDFFormRenderSpec
对象。PDFFormRenderSpec
对象 setCacheEnabled
方法和传递true。PDFFormRenderSpec
对象 setStandAlone
方法和传递true。PDFFormRenderSpec
对象 setLinearizedPDF
方法和传递true。渲染表单
调用 FormsService
对象 renderPDFForm
方法并传递以下值:
BLOB
包含要与表单合并的数据的对象。 如果不想合并数据,请传递 null
.PDFFormRenderSpecc
用于存储运行时选项的对象。URLSpec
包含Forms服务所需URI值的对象。java.util.HashMap
用于存储文件附件的对象。 这是一个可选参数,您可以指定 null
如果您不想将文件附加到表单。com.adobe.idp.services.holders.BLOBHolder
由方法填充的对象。 用于存储呈现的PDF表单。javax.xml.rpc.holders.LongHolder
由方法填充的对象。 (此参数将以表单存储页数)。javax.xml.rpc.holders.StringHolder
由方法填充的对象。 (此参数将存储区域设置值)。com.adobe.idp.services.holders.FormsResultHolder
包含此操作结果的对象。的 renderPDFForm
方法填充 com.adobe.idp.services.holders.FormsResultHolder
作为最后一个参数值传递的对象,表单数据流必须写入客户端web浏览器。
将表单数据流写入客户端Web浏览器
FormResult
对象,方法是获取 com.adobe.idp.services.holders.FormsResultHolder
对象 value
数据成员。javax.servlet.ServletOutputStream
用于将表单数据流发送到客户端web浏览器的对象。BLOB
通过调用包含表单数据的对象 FormsResult
对象 getOutputContent
方法。BLOB
对象 getBinaryData
方法。 此任务分配 FormsResult
对象。javax.servlet.http.HttpServletResponse
对象 write
将表单数据流发送到客户端web浏览器的方法。 将字节数组传递到 write
方法。另请参阅