Forms服務會根據來自網頁瀏覽器的HTTP要求轉譯HTML表格。 轉換HTML表格時,Forms服務可以參考自訂CSS檔案。 您可以建立自訂的CSS檔案,以符合您的業務需求,並在使用Forms服務來轉換HTML表格時參考該CSS檔案。
Forms服務會以無訊息方式解析自訂CSS檔案。 也就是說,如果自訂CSS檔案不符合CSS標準,Forms服務不會報告可能遇到的錯誤。 在此情況下,Forms服務會忽略樣式,並繼續使用CSS檔案中的其餘樣式。
下列清單指定自訂CSS檔案支援的樣式:
您可以使用FormsIVS應用程式擷取範例CSS檔案。 上傳表單,在「測試表單設計」頁面中選取它,然後按一下「產生CSS」。 您不需要在按一下按鈕之前設定HTML轉換類型。 接下來選擇「儲存」。 您可以編輯此CSS檔案,以符合您的業務需求。
在轉換使用自訂CSS檔案的HTML表格之前,請務必對轉換HTML表格有紮實的瞭解。 (請參閱將表單轉換為HTML)。
如需Forms服務的詳細資訊,請參閱AEM Forms的服務參考。
若要轉換使用CSS檔案的HTML表格,請執行下列工作:
包含專案檔案
在您的開發專案中加入必要的檔案。 如果要使用Java建立客戶端應用程式,請包括必要的JAR檔案。 如果您使用web services,請確定您包含proxy檔案。
建立Forms Java API物件
您必須先建立Forms用戶端物件,才能以程式設計方式執行Forms服務支援的作業。
參考CSS檔案
若要轉換使用自訂CSS檔案的HTML表格,請確定您參考現有的CSS檔案。
轉換HTML表格
要渲染HTML表單,必須指定在Designer中建立並另存為XDP檔案的表單設計。 您還必須選擇HTML轉換類型。 例如,您可以指定轉換Internet Explorer 5.0或更新版本動態HTML的HTML轉換類型。
轉換HTML表格也需要值,例如轉換其他表格類型所需的URI值。
將表單資料串流寫入用戶端網頁瀏覽器
當Forms服務轉譯HTML表單時,它會傳回您必須寫入用戶端網頁瀏覽器的表單資料串流,讓使用者可以看見HTML表單。
另請參閱
使用Forms API(Java)演算使用自訂CSS檔案的HTML表格:
包含專案檔案
在Java專案的類別路徑中包含用戶端JAR檔案,例如adobe-forms-client.jar。
建立Forms Java API物件
ServiceClientFactory
對象。ServiceClientFactory
對象,建立FormsServiceClient
對象。參考CSS檔案
HTMLRenderSpec
對象。HTMLRenderSpec
物件的setCustomCSSURI
方法,並傳遞指定CSS檔案位置和名稱的字串值。轉換HTML表格
叫用FormsServiceClient
物件的(Deprecated) (Deprecated) renderHTMLForm
方法並傳遞下列值:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。TransformTo
列舉值,指定HTML偏好設定類型。 例如,若要轉譯與Internet Explorer 5.0或更新版本的動態HTML相容的HTML表格,請指定TransformTo.MSDHTML
。com.adobe.idp.Document
物件,包含要與表單合併的資料。 如果您不想合併資料,請傳遞空白的com.adobe.idp.Document
物件。HTMLRenderSpec
對象。HTTP_USER_AGENT
標題值的字串值,例如Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
。URLSpec
物件,儲存轉換HTML表單所需的URI值。java.util.HashMap
對象。 此為可選參數,如果您不想將檔案附加到表單,則可以指定null
。(Deprecated) renderHTMLForm
方法返回一個FormsResult
對象,該對象包含必須寫入客戶端Web瀏覽器的表單資料流。
將表單資料串流寫入用戶端網頁瀏覽器
FormsResult
對象「s getOutputContent
」方法建立com.adobe.idp.Document
對象。getContentType
方法獲取com.adobe.idp.Document
對象的內容類型。setContentType
方法並傳遞com.adobe.idp.Document
物件的內容類型,以設定javax.servlet.http.HttpServletResponse
物件的內容類型。javax.servlet.h\ttp.HttpServletResponse
物件的getOutputStream
方法,建立javax.servlet.ServletOutputStream
物件,用來將表單資料串流寫入用戶端Web瀏覽器。com.adobe.idp.Document
物件的getInputStream
方法,以建立java.io.InputStream
物件。InputStream
物件的read
方法來填入表單資料流,並將位元組陣列傳入為引數。javax.servlet.ServletOutputStream
物件的write
方法,將表單資料串流傳送至用戶端網頁瀏覽器。 將位元組陣列傳遞到write
方法。另請參閱
快速入門(SOAP模式):使用Java API轉換使用CSS檔案的HTML表格
使用Forms API(web service)演算使用自訂CSS檔案的HTML表格:
包含專案檔案
建立Forms Java API物件
建立FormsService
對象並設定驗證值。
參考CSS檔案
HTMLRenderSpec
對象。HTMLRenderSpec
物件的setCustomCSSURI
方法,並傳遞指定CSS檔案位置和名稱的字串值。轉換HTML表格
叫用FormsService
物件的(Deprecated) renderHTMLForm
方法並傳遞下列值:
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
。TransformTo
列舉值,指定HTML偏好設定類型。 例如,若要轉譯與Internet Explorer 5.0或更新版本的動態HTML相容的HTML表格,請指定TransformTo.MSDHTML
。BLOB
物件,包含要與表單合併的資料。 如果您不想合併資料,請傳遞null
。 (請參閱使用可排程版面預填表單)。HTMLRenderSpec
對象。HTTP_USER_AGENT
標題值的字串值,例如Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
。 如果您不想設定此值,可以傳遞空字串。URLSpec
物件,儲存轉換HTML表單所需的URI值。java.util.HashMap
對象。 此為可選參數,如果您不想將檔案附加到表單,則可以指定null
。(Deprecated) renderHTMLForm
方法填入的空com.adobe.idp.services.holders.BLOBHolder
對象。 此參數值儲存渲染的表單。(Deprecated) renderHTMLForm
方法填入的空com.adobe.idp.services.holders.BLOBHolder
對象。 此參數儲存輸出XML資料。(Deprecated) renderHTMLForm
方法填入的空javax.xml.rpc.holders.LongHolder
對象。 此引數會儲存表單中的頁數。(Deprecated) renderHTMLForm
方法填入的空javax.xml.rpc.holders.StringHolder
對象。 此引數儲存地區值。(Deprecated) renderHTMLForm
方法填入的空javax.xml.rpc.holders.StringHolder
對象。 此引數儲存所使用的HTML轉換值。com.adobe.idp.services.holders.FormsResultHolder
對象,將包含此操作的結果。(Deprecated) renderHTMLForm
方法會以必須寫入用戶端網頁瀏覽器的表單資料流填入作為最後一個參數值傳遞的com.adobe.idp.services.holders.FormsResultHolder
物件。
將表單資料串流寫入用戶端網頁瀏覽器
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
物件,用來將表單資料串流寫入用戶端Web瀏覽器。BLOB
物件的getBinaryData
方法以填入它。 此任務將FormsResult
對象的內容分配給位元組陣列。javax.servlet.http.HttpServletResponse
物件的write
方法,將表單資料串流傳送至用戶端網頁瀏覽器。 將位元組陣列傳遞到write
方法。另請參閱