Render an interactive PDF form by using the Forms API (web
service):
-
Include project files
-
Create a Forms Client API object
Create a
FormsService
object
and set authentication values.
-
Specify URI values
-
Create a
URLSpec
object
that stores URI values by using its constructor.
-
Invoke the
URLSpec
object’s
setApplicationWebRoot
method
and pass a string value that represents the application’s web root.
-
Invoke the
URLSpec
object’s
setContentRootURI
method
and pass a string value that specifies the content root URI value.
Ensure that the form design is located in the content root URI.
If not, the Forms service throws an exception. To reference the
repository, specify
repository:///
.
-
Invoke the
URLSpec
object’s
setTargetURL
method
and pass a string value that specifies the target URL value to where
form data is posted. If you define the target URL in the form design,
you can pass an empty string. You can also specify the URL to where
a form is sent in order to perform calculations.
-
Attach files to the form
-
Create a
java.util.HashMap
object
to store file attachments by using its constructor.
-
Invoke the
java.util.HashMap
object’s
put
method
for each file to attach to the rendered form. Pass the following
values to this method:
-
A
BLOB
object that contains the file attachment
Note:
Repeat this step for each file to attach to the
form.
-
Render an interactive PDF form
Invoke the
FormsService
object’s
renderPDFForm
method
and pass the following values:
-
A string value that
specifies the form design name, including the file name extension.
If you reference a form design that is part of a LiveCycle application,
ensure that you specify the complete path, such as
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.
-
A
BLOB
object that contains data to merge
with the form. If you do not want to merge data, pass
null
.
-
A
PDFFormRenderSpec
object that stores run-time
options. This is an optional parameter and you can specify
null
if
you do not want to specify run-time options.
-
A
URLSpec
object that contains URI values
that are required by the Forms service.
-
A
java.util.HashMap
object that stores file
attachments. This is an optional parameter and you can specify
null
if
you do not want to attach files to the form.
-
An empty
com.adobe.idp.services.holders.BLOBHolder
object
that is populated by the method. This is used to store the rendered PDF
form.
-
An empty
javax.xml.rpc.holders.LongHolder
object
that is populated by the method. (This argument will store the number
of pages in the form.)
-
An empty
javax.xml.rpc.holders.StringHolder
object
that is populated by the method. (This argument will store the locale
value.)
-
An empty
com.adobe.idp.services.holders.FormsResultHolder
object
that will contain the results of this operation.
The
renderPDFForm
method
populates the
com.adobe.idp.services.holders.FormsResultHolder
object that
is passed as the last argument value with a form data stream that
must be written to the client web browser.
-
Write the form data stream to the client web browser
-
Create a
FormResult
object by getting the
value of the
com.adobe.idp.services.holders.FormsResultHolder
object’s
value
data
member.
-
Create a
BLOB
object that contains form
data by invoking the
FormsResult
object’s
getOutputContent
method.
-
Get the content type of the
BLOB
object
by invoking its
getContentType
method.
-
Set the
javax.servlet.http.HttpServletResponse
object’s content
type by invoking its
setContentType
method and
passing the content type of the
BLOB
object.
-
Create a
javax.servlet.ServletOutputStream
object
used to write the form data stream to the client web browser by
invoking the
javax.servlet.http.HttpServletResponse
object’s
getOutputStream
method.
-
Create a byte array and populate it by invoking the
BLOB
object’s
getBinaryData
method.
This task assigns the content of the
FormsResult
object
to the byte array.
-
Invoke the
javax.servlet.http.HttpServletResponse
object’s
write
method
to send the form data stream to the client web browser. Pass the
byte array to the
write
method.
Write the form data stream to the client web browser
When the
Forms service renders a form, 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.
|
|
|