使用Java API在使用者端轉譯表單
使用Forms API (Java)在使用者端轉譯表單:
-
包含專案檔案
在您的Java專案的類別路徑中包含使用者端JAR檔案,例如adobe-forms-client.jar。
-
建立Forms使用者端API物件
- 建立包含連線屬性的
ServiceClientFactory
物件。 - 使用它的建構函式並傳遞
ServiceClientFactory
物件來建立FormsServiceClient
物件。
- 建立包含連線屬性的
-
設定使用者端演算執行階段選項
- 使用物件的建構函式建立
PDFFormRenderSpec
物件。 - 呼叫
PDFFormRenderSpec
物件的setRenderAtClient
方法並傳遞列舉值RenderAtClient.Yes
,以設定RenderAtClient
執行階段選項。
- 使用物件的建構函式建立
-
在使用者端轉譯表單
叫用
FormsServiceClient
物件的renderPDFForm
方法,並傳遞下列值:- 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於AEM Forms應用程式的一部分,請確定您指定完整路徑,例如
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。 - 包含要與表單合併之資料的
com.adobe.idp.Document
物件。 如果您不想合併資料,請傳遞空的com.adobe.idp.Document
物件。 PDFFormRenderSpec
物件,儲存在使用者端轉譯表單所需的執行階段選項。URLSpec
物件,包含Forms服務轉譯表單所需的URI值。- 儲存檔案附件的
java.util.HashMap
物件。 這是選用引數,如果您不想將檔案附加至表單,可以指定null
。
renderPDFForm
方法傳回FormsResult
物件,其中包含必須寫入使用者端網頁瀏覽器的表單資料流。 - 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於AEM Forms應用程式的一部分,請確定您指定完整路徑,例如
-
將表單資料流寫入使用者端網頁瀏覽器
- 呼叫
FormsResult
物件的getOutputContent
方法,以建立com.adobe.idp.Document
物件。 - 透過叫用物件的
getContentType
方法,取得com.adobe.idp.Document
物件的內容型別。 - 透過叫用其
setContentType
方法並傳遞com.adobe.idp.Document
物件的內容型別來設定javax.servlet.http.HttpServletResponse
物件的內容型別。 - 呼叫
javax.servlet.http.HttpServletResponse
物件的getOutputStream
方法,建立用來將表單資料流寫入使用者端網頁瀏覽器的javax.servlet.ServletOutputStream
物件。 - 呼叫
com.adobe.idp.Document
物件的getInputStream
方法,以建立java.io.InputStream
物件。 - 呼叫
InputStream
物件的read
方法,並將位元組陣列作為引數傳遞,以建立位元組陣列並以表單資料串流填入。 - 叫用
javax.servlet.ServletOutputStream
物件的write
方法,將表單資料流傳送至使用者端網頁瀏覽器。 將位元組陣列傳遞至write
方法。
- 呼叫
使用網站服務API在使用者端轉譯表單
使用Forms API (Web服務)在使用者端轉譯表單:
-
包含專案檔案
- 建立使用Forms服務WSDL的Java Proxy類別。
- 將Java Proxy類別納入您的類別路徑中。
-
建立Forms使用者端API物件
建立
FormsService
物件並設定驗證值。 -
設定使用者端演算執行階段選項
- 使用物件的建構函式建立
PDFFormRenderSpec
物件。 - 呼叫
PDFFormRenderSpec
物件的setRenderAtClient
方法並傳遞字串值RenderAtClient.Yes
,以設定RenderAtClient
執行階段選項。
- 使用物件的建構函式建立
-
在使用者端轉譯表單
叫用
FormsService
物件的renderPDFForm
方法,並傳遞下列值:- 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。 - 包含要與表單合併之資料的
BLOB
物件。 如果您不想合併資料,請傳遞null
。 (請參閱使用可流動配置預先填入Forms。) PDFFormRenderSpec
物件,儲存在使用者端轉譯表單所需的執行階段選項。- 包含Forms服務所需URI值的
URLSpec
物件。 - 儲存檔案附件的
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
物件。 - 字串值,指定表單設計名稱,包括副檔名。 如果您參照的表單設計屬於Forms應用程式的一部分,請確定您指定完整路徑,例如
-
將表單資料流寫入使用者端網頁瀏覽器
- 取得
com.adobe.idp.services.holders.FormsResultHolder
物件之value
資料成員的值,以建立FormResult
物件。 - 呼叫
FormsResult
物件的getOutputContent
方法,建立包含表單資料的BLOB
物件。 - 透過叫用物件的
getContentType
方法,取得BLOB
物件的內容型別。 - 透過叫用其
setContentType
方法並傳遞BLOB
物件的內容型別來設定javax.servlet.http.HttpServletResponse
物件的內容型別。 - 呼叫
javax.servlet.http.HttpServletResponse
物件的getOutputStream
方法,建立用來將表單資料流寫入使用者端網頁瀏覽器的javax.servlet.ServletOutputStream
物件。 - 建立位元組陣列,並透過叫用
BLOB
物件的getBinaryData
方法來填入該陣列。 此工作會將FormsResult
物件的內容指派給位元組陣列。 - 叫用
javax.servlet.http.HttpServletResponse
物件的write
方法,將表單資料流傳送至使用者端網頁瀏覽器。 將位元組陣列傳遞至write
方法。
- 取得
recommendation-more-help