本檔案中的範例和範例僅適用於JEE環境上的AEM Forms。
轉譯表單時,您可以設定執行階段選項,以最佳化Forms服務的效能。 為了改善Forms服務的效能,您可以執行的另一項任務是將XDP檔案儲存在存放庫中。 不過,本節不說明如何執行此工作。 (請參閱 使用Java客戶端庫調用服務.)
如需Forms服務的詳細資訊,請參閱 AEM Forms服務參考.
若要在轉譯表單時最佳化Forms服務的效能,請執行下列工作:
包含項目檔案
在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用Web服務,請確定您包含Proxy檔案。
建立Forms用戶端API物件
您必須先建立Forms服務用戶端,才能以程式設計方式執行Forms服務用戶端API作業。 如果您使用Java API,請建立 FormsServiceClient
物件。 如果您使用Forms網站服務API,請建立 FormsService
物件。
設定效能運行時選項
您可以設定下列效能執行時間選項以改善Forms服務的效能:
true
,導致表單呈現時沒有狀態資訊。 如果您想要將互動式表單轉譯給一般使用者,然後使用者在表單中輸入資訊,並將表單提交回Forms服務,則需要狀態資訊。 然後,Forms服務執行計算操作,並將表單呈現回使用者,並將結果顯示在表單中。 如果將沒有狀態資訊的表單提交回Forms服務,則只有XML資料可供使用,且不會執行伺服器端計算。轉譯表單
若要在設定效能選項後呈現表單,請使用與呈現沒有效能選項的表單相同的應用程式邏輯。
將表單資料流寫入客戶端Web瀏覽器
Forms服務轉譯表單後,會傳回表單資料流,您必須將其寫入用戶端網頁瀏覽器。 寫入客戶端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
將表單資料流傳送至用戶端網頁瀏覽器的方法。 將位元組陣列傳遞至 write
方法。另請參閱
使用Forms API(網站服務)演算效能最佳的表單:
包含項目檔案
建立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瀏覽器
FormResult
物件,方法是取得 com.adobe.idp.services.holders.FormsResultHolder
物件 value
資料成員。javax.servlet.ServletOutputStream
用於將表單資料流發送到客戶端web瀏覽器的對象。BLOB
包含表單資料的物件,方法是叫用 FormsResult
物件 getOutputContent
方法。BLOB
物件 getBinaryData
方法。 此任務分配 FormsResult
位元組陣列的物件。javax.servlet.http.HttpServletResponse
物件 write
將表單資料流傳送至用戶端網頁瀏覽器的方法。 將位元組陣列傳遞至 write
方法。另請參閱