步驟摘要
要計算表單資料,請執行以下任務:
- 包含專案檔案。
- 建立Forms用戶端API物件。
- 檢索包含計算指令碼的表單。
- 將表單資料流寫回客戶端Web瀏覽器
包含項目檔案
在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Forms用戶端API物件
您必須先建立Forms服務用戶端,才能以程式設計方式執行Forms服務用戶端API作業。 如果您使用Java API,請建立 FormsServiceClient
物件。 如果您使用Forms網站服務API,請建立 FormsServiceService
物件。
檢索包含計算指令碼的表單
您可使用Forms服務用戶端API來建立應用程式邏輯,以處理包含設定為在伺服器上執行之指令碼的表單。 此程式類似於處理提交的表單。 (請參閱 處理已提交的Forms.)
確認已提交表單的相關處理狀態為 1
(Calculate)
,這表示Forms服務正在對表單資料執行計算操作,且結果必須寫回給使用者。 在此情況下,會自動執行設定為在伺服器上執行的指令碼。
將表單資料流寫回客戶端Web瀏覽器
確認已提交表單的相關處理狀態為之後 1
,必須將結果寫回用戶端網頁瀏覽器。 顯示表單時,計算值會出現在適當欄位中。
另請參閱
使用Java API計算表單資料
使用Forms API(Java)計算表單資料:
-
包含項目檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-forms-client.jar。
-
建立Forms用戶端API物件
- 建立
ServiceClientFactory
包含連接屬性的對象。 - 建立
FormsServiceClient
對象,使用其建構子並傳遞ServiceClientFactory
物件。
- 建立
-
檢索包含計算指令碼的表單
-
要檢索包含計算指令碼的表單資料,請建立
com.adobe.idp.Document
對象,使用其建構子並調用javax.servlet.http.HttpServletResponse
物件getInputStream
方法。 -
叫用
FormsServiceClient
物件processFormSubmission
方法,並傳遞下列值:- 此
com.adobe.idp.Document
包含表單資料的物件。 - 一個字串值,它指定包括所有相關HTTP標題的環境變數。 您必須指定要處理的內容類型,方法是為
CONTENT_TYPE
環境變數。 例如,要處理XML和PDF資料,請為此參數指定以下字串值:CONTENT_TYPE=application/xml&CONTENT_TYPE=application/pdf
- 指定
HTTP_USER_AGENT
標題值;例如,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
RenderOptionsSpec
儲存運行時選項的對象。
此
processFormSubmission
方法傳回FormsResult
包含表單提交結果的物件。 - 此
-
確認已提交表單的相關處理狀態為
1
叫用FormsResult
物件getAction
方法。 如果此方法傳回值1
,則計算已執行,且資料可寫回用戶端網頁瀏覽器。
-
-
將表單資料流寫回客戶端Web瀏覽器
- 建立
javax.servlet.ServletOutputStream
用於將表單資料流發送到客戶端web瀏覽器的對象。 - 建立
com.adobe.idp.Document
對象,方法是調用FormsResult
物件sgetOutputContent
方法。 - 建立
java.io.InputStream
對象,方法是調用com.adobe.idp.Document
物件getInputStream
方法。 - 建立位元組陣列,並叫用
InputStream
物件read
方法,並將位元組陣列傳遞為引數。 - 叫用
javax.servlet.ServletOutputStream
物件write
將表單資料流傳送至用戶端網頁瀏覽器的方法。 將位元組陣列傳遞至write
方法。
- 建立
使用網站服務API計算表單資料
使用Forms API(網站服務)計算表單資料:
-
包含項目檔案
- 建立使用Forms服務WSDL的Java代理類。
- 將Java代理類包含到類路徑中。
-
建立Forms用戶端API物件
建立
FormsService
對象和設定驗證值。 -
檢索包含計算指令碼的表單
-
若要擷取張貼至Java Servlet的表單資料,請建立
BLOB
物件,使用其建構子。 -
建立
java.io.InputStream
物件,使用javax.servlet.http.HttpServletResponse
物件getInputStream
方法。 -
建立
java.io.ByteArrayOutputStream
對象,使用其建構子並傳遞長度java.io.InputStream
物件。 -
複製
java.io.InputStream
物件java.io.ByteArrayOutputStream
物件。 -
叫用
java.io.ByteArrayOutputStream
物件toByteArray
方法。 -
填入
BLOB
對象setBinaryData
方法,並將位元組陣列傳遞為引數。 -
建立
RenderOptionsSpec
物件,使用其建構子。 調用RenderOptionsSpec
物件setLocale
方法,並傳遞指定區域設定的字串值。 -
叫用
FormsServiceClient
物件processFormSubmission
方法,並傳遞下列值:- 此
BLOB
包含表單資料的物件。 - 指定環境變數的字串值包含所有相關的HTTP標題。 例如,您可以指定下列字串值:
HTTP_REFERER=referrer&HTTP_CONNECTION=keep-alive&CONTENT_TYPE=application/xml
- 指定
HTTP_USER_AGENT
標題值;例如,Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
RenderOptionsSpec
儲存運行時選項的對象。 如需詳細資訊,請參閱。 - 空白
BLOBHolder
由方法填入的物件。 - 空白
javax.xml.rpc.holders.StringHolder
由方法填入的物件。 - 空白
BLOBHolder
由方法填入的物件。 - 空白
BLOBHolder
由方法填入的物件。 - 空白
javax.xml.rpc.holders.ShortHolder
由方法填入的物件。 - 空白
MyArrayOf_xsd_anyTypeHolder
由方法填入的物件。 此參數用於儲存隨表單提交的檔案附件。 - 空白
FormsResultHolder
由方法填入且已提交表單的物件。
此
processFormSubmission
方法填入FormsResultHolder
參數與表單提交結果。 此processFormSubmission
方法傳回FormsResult
包含表單提交結果的物件。 - 此
-
確認已提交表單的相關處理狀態為
1
叫用FormsResult
物件getAction
方法。 如果此方法傳回值1
,則計算已執行,且資料可寫回用戶端網頁瀏覽器。
-
-
將表單資料流寫回客戶端Web瀏覽器
- 建立
javax.servlet.ServletOutputStream
用於將表單資料流發送到客戶端web瀏覽器的對象。 - 建立
BLOB
包含表單資料的物件,方法是叫用FormsResult
物件getOutputContent
方法。 - 建立位元組陣列,並叫用
BLOB
物件getBinaryData
方法。 此任務分配FormsResult
位元組陣列的物件。 - 叫用
javax.servlet.http.HttpServletResponse
物件write
將表單資料流傳送至用戶端網頁瀏覽器的方法。 將位元組陣列傳遞至write
方法。
- 建立