在轉譯表單時,您可以設定執行時期選項,以最佳化Forms服務的效能。 另一個可以執行的任務是將XDP檔案儲存在儲存庫中,以提高Forms服務的效能。 不過,本節不說明如何執行此任務。 (請參閱使用Java客戶端庫叫用服務。)
如需Forms服務的詳細資訊,請參閱AEM Forms的服務參考。
若要最佳化在轉譯表單時的Forms服務效能,請執行下列工作:
包含專案檔案
將必要的檔案加入您的開發專案中。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Forms用戶端API物件
您必須先建立Forms服務用戶端,才能以程式設計方式執行Forms服務用戶端API操作。 如果您使用Java API,請建立FormsServiceClient
物件。 如果您使用Forms web service API,請建立FormsService
物件。
設定效能運行時選項
您可以設定以下效能運行時選項來改進Forms服務的效能:
true
,如此會產生沒有狀態資訊的表單。如果您想要將互動式表單轉譯給使用者,然後使用者將資訊輸入表單並將表單提交回表單服務,則需要狀態資訊。 然後,Forms服務會執行計算操作,並將表單呈現回用戶,並將結果顯示在表單中。 如果沒有狀態資訊的表單會提交回Forms服務,則只有XML資料可供使用,且不會執行伺服器端計算。轉譯表單
若要在設定效能選項後轉換表格,請使用與轉換沒有效能選項的表格相同的應用程式邏輯。
將表單資料串流寫入用戶端網頁瀏覽器
在Forms服務轉譯表單後,它會傳回必須寫入用戶端網頁瀏覽器的表單資料流。 當寫入用戶端網頁瀏覽器時,使用者會看到表單。
另請參閱
使用Forms API(Java)演算具最佳效能的表單:
包含專案檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-forms-client.jar。
建立Forms用戶端API物件
ServiceClientFactory
對象。ServiceClientFactory
對象,建立FormsServiceClient
對象。設定效能運行時選項
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瀏覽器的表單資料流。
將表單資料串流寫入用戶端網頁瀏覽器
javax.servlet.ServletOutputStream
物件,用來傳送表單資料串流至用戶端網頁瀏覽器。FormsResult
對象「s getOutputContent
」方法建立com.adobe.idp.Document
對象。com.adobe.idp.Document
物件的getInputStream
方法,以建立java.io.InputStream
物件。InputStream
物件的read
方法來填入表單資料流,並將位元組陣列傳入為引數。javax.servlet.ServletOutputStream
物件的write
方法,將表單資料串流傳送至用戶端網頁瀏覽器。 將位元組陣列傳遞到write
方法。另請參閱
使用Forms API(web service)演算具最佳效能的表單:
包含專案檔案
建立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
物件。
將表單資料串流寫入用戶端網頁瀏覽器
com.adobe.idp.services.holders.FormsResultHolder
對象value
資料成員的值,建立FormResult
對象。javax.servlet.ServletOutputStream
物件,用來傳送表單資料串流至用戶端網頁瀏覽器。FormsResult
物件的getOutputContent
方法,建立包含表單資料的BLOB
物件。BLOB
物件的getBinaryData
方法以填入它。 此任務將FormsResult
對象的內容分配給位元組陣列。javax.servlet.http.HttpServletResponse
物件的write
方法,將表單資料串流傳送至用戶端網頁瀏覽器。 將位元組陣列傳遞到write
方法。另請參閱