Rendern von HTML-Formularen mit benutzerdefinierten CSS-Dateien rendering-html-forms-using-custom-css-files
Die Beispiele in diesem Dokument gelten nur für eine AEM Forms on JEE-Umgebung.
Der Forms-Service rendert HTML-Formulare als Reaktion auf eine HTTP-Anfrage eines Webbrowsers. Beim Rendern eines HTML-Formulars kann der Forms-Service auf eine benutzerdefinierte CSS-Datei verweisen. Sie können eine benutzerdefinierte CSS-Datei erstellen, um Ihre Geschäftsanforderungen zu erfüllen, und auf diese CSS-Datei verweisen, wenn Sie den Forms-Service zum Rendern von HTML-Formularen verwenden.
Der Forms-Service analysiert die benutzerdefinierte CSS-Datei im Hintergrund. Das heißt, der Forms-Service meldet keine Fehler, die auftreten können, wenn die benutzerdefinierte CSS-Datei nicht den CSS-Standards entspricht. In diesem Fall ignoriert der Forms-Service den Stil und fährt mit den übrigen Stilen in der CSS-Datei fort.
Die folgende Liste enthält Stile, die in einer benutzerdefinierten CSS-Datei unterstützt werden:
- Selektorstilpaare auf Klassenebene: Wenn in einer benutzerdefinierten CSS-Datei vorhanden, werden Selektoren verwendet, die im HTML-Formular als Klassenstile verwendet werden. Nicht verwendete Klassenstile werden ignoriert.
- Selektorstilpaare auf Kennungsebene: Alle Kennungsstile werden verwendet, wenn sie im HTML-Formular verwendet werden.
- Selektorstilpaare auf Elementebene: Alle Elementstile werden verwendet, wenn sie im HTML-Formular verwendet werden.
- Stilpriorität: Stilpriorität (wie „wichtig“) wird unterstützt und kann in einer benutzerdefinierten CSS-Datei verwendet werden.
- Medientyp: Ein oder mehrere Selektorstilpaare können in den @media-Stil eingeschlossen werden, um den Medientyp zu definieren. Der Forms-Service überprüft nicht, ob der angegebene Medientyp unterstützt wird. Der in der benutzerdefinierten CSS-Datei angegebene Medientyp wird im HTML-Formular zusammengeführt.
Sie können eine CSS-Beispieldatei mit dem FormsIVS-Programm abrufen. Laden Sie das Formular hoch, wählen Sie es auf der Seite „Formularentwurf testen“ aus und klicken Sie auf „CSS generieren“. Es ist nicht erforderlich, den HTML-Transformationstyp festzulegen, bevor Sie auf die Schaltfläche klicken. Wählen Sie dann „Speichern“ aus. Sie können diese CSS-Datei bearbeiten, um Ihre Geschäftsanforderungen zu erfüllen.
Zusammenfassung der Schritte summary-of-steps
Um ein HTML-Formular zu rendern, das eine CSS-Datei verwendet, führen Sie die folgenden Aufgaben aus:
- Schließen Sie Projektdateien ein.
- Erstellen Sie ein Forms-Java-API-Objekt.
- Verweisen Sie auf die CSS-Datei.
- Rendern Sie ein HTML-Formular.
- Schreiben Sie den Formular-Datenstrom in den Client-Webbrowser.
Schließen Sie Projektdateien ein
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie eine Clientanwendung mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Webdienste verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Erstellen eines Forms-Java-API-Objekts
Bevor Sie einen vom Forms-Service unterstützten Vorgang programmgesteuert ausführen können, müssen Sie ein Forms-Client-Objekt erstellen.
Verweisen auf die CSS-Datei
Um ein HTML-Formular zu rendern, das eine benutzerdefinierte CSS-Datei verwendet, stellen Sie sicher, dass Sie auf eine vorhandene CSS-Datei verweisen.
Rendern eines HTML-Formulars
Um ein HTML-Formular zu rendern, geben Sie ein Formular-Design an, das in Designer erstellt und als XDP-Datei gespeichert wurde. Wählen Sie einen HTML-Transformationstyp aus. Sie können beispielsweise den HTML-Transformationstyp angeben, der dynamische HTML für Internet Explorer 5.0 oder höher rendert.
Für das Rendern eines HTML-Formulars sind auch Werte erforderlich, z. B. URI-Werte, die zum Rendern anderer Formulartypen erforderlich sind.
Schreiben des Formulardatenstroms in den Client-Webbrowser
Wenn der Forms-Service ein HTML-Formular rendert, wird ein Formulardatenstrom zurückgegeben, den Sie in den Client-Webbrowser schreiben müssen, damit das HTML-Formular für den Benutzer sichtbar wird.
Siehe auch
Rendern eines HTML-Formulars, das eine CSS-Datei verwendet, mithilfe der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstart mit der Forms Service-API
Rendern interaktiver PDF-Formulare
Rendern eines HTML-Formulars, das eine CSS-Datei verwendet, mithilfe der Java-API render-an-html-form-that-uses-a-css-file-using-the-java-api
Rendern Sie ein HTML-Formular, das eine benutzerdefinierte CSS-Datei verwendet, mithilfe der Forms-API (Java):
-
Projektdateien einschließen
Fügen Sie Client-JAR-Dateien wie „adobe-forms-client.jar“ in den Klassenpfad Ihres Java-Projekts ein.
-
Erstellen eines Forms-Java-API-Objekts
- Erstellen Sie ein
ServiceClientFactory
-Objekt, das Verbindungseigenschaften enthält. - Erstellen Sie ein
FormsServiceClient
-Objekt, indem Sie seinen Konstruktor verwenden und dasServiceClientFactory
-Objekt übergeben.
- Erstellen Sie ein
-
Verweisen auf die CSS-Datei
- Erstellen Sie ein
HTMLRenderSpec
-Objekt, indem Sie dessen Konstruktor verwenden. - Rufen Sie zum Rendern des HTML-Formulars, das eine benutzerdefinierte CSS-Datei verwendet, die
setCustomCSSURI
-Methode desHTMLRenderSpec
-Objekts auf und übergeben Sie einen Zeichenfolgenwert, der den Speicherort und den Namen der CSS-Datei angibt.
- Erstellen Sie ein
-
Rendern eines HTML-Formulars
Rufen Sie die Methode
(Deprecated) (Deprecated) renderHTMLForm
desFormsServiceClient
-Objekts auf und übergeben Sie die folgenden Werte:- Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Ein
TransformTo
-Auflistungswert, der den HTML-Voreinstellungstyp angibt. Um beispielsweise ein HTML-Formular zu rendern, das mit Dynamic HTML für Internet Explorer 5.0 oder höher kompatibel ist, geben SieTransformTo.MSDHTML
an. - Ein
com.adobe.idp.Document
-Objekt, das Daten enthält, die mit dem Formular zusammengeführt werden sollen. Wenn Sie keine Daten zusammenführen möchten, übergeben Sie ein leerescom.adobe.idp.Document
-Objekt. - Das
HTMLRenderSpec
-Objekt, das HTML-Laufzeitoptionen speichert. - Ein Zeichenfolgenwert, der den
HTTP_USER_AGENT
-Kopfzeilenwert angibt, z. B.Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - Ein
URLSpec
-Objekt, das URI-Werte speichert, die zum Rendern eines HTML-Formulars erforderlich sind. - Ein
java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, und Sie könnennull
angeben, wenn Sie keine Dateien an das Formular anhängen möchten.
Die
(Deprecated) renderHTMLForm
-Methode gibt einFormsResult
-Objekt zurück, das einen Formulardatenstrom enthält, der in den Client-Webbrowser geschrieben werden muss. - Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
-
Schreiben des Formulardaten-Streams in den Client-Webbrowser
- Erstellen Sie ein Objekt vom Typ
com.adobe.idp.Document
, indem Sie die MethodegetOutputContent
desFormsResult
-Objekts aufrufen. - Ermitteln Sie den Content-Typ des
com.adobe.idp.Document
-Objekts, indem Sie seine MethodegetContentType
aufrufen. - Legen Sie den Content-Typ des
javax.servlet.http.HttpServletResponse
-Objekts fest, indem Sie seine MethodesetContentType
aufrufen und den Content-Typ descom.adobe.idp.Document
-Objekts übergeben. - Erstellen Sie ein Objekt vom Typ
javax.servlet.ServletOutputStream
, das zum Schreiben des Formulardatenstroms in den Client-Webbrowser verwendet wird, indem Sie die MethodegetOutputStream
desjavax.servlet.h\ttp.HttpServletResponse
-Objekts aufrufen. - Erstellen Sie ein Objekt vom Typ
java.io.InputStream
, indem Sie die MethodegetInputStream
descom.adobe.idp.Document
-Objekts aufrufen. - Erstellen Sie ein Byte-Array und füllen Sie es mit dem Formulardatenstrom, indem Sie die Methode
read
desInputStream
-Objekts aufrufen und das Byte-Array als Argument übergeben. - Rufen Sie die Methode
write
desjavax.servlet.ServletOutputStream
-Objekts auf, um den Formulardatenstrom an den Client-Webbrowser zu senden. Übergeben Sie das Byte-Array an die Methodewrite
.
- Erstellen Sie ein Objekt vom Typ
Siehe auch
Rendern von HTML-Formularen mit benutzerdefinierten CSS-Dateien
Rendern eines HTML-Formulars, das eine CSS-Datei verwendet, mithilfe der Web Service-API render-an-html-form-that-uses-a-css-file-using-the-web-service-api
Rendern Sie ein HTML-Formular, das eine benutzerdefinierte CSS-Datei verwendet, mithilfe der Forms-API (Web Service):
-
Projektdateien einschließen
- Erstellen Sie Java-Proxy-Klassen, welche die Forms-Dienst-WSDL verwenden.
- Schließen Sie die Java-Proxy-Klassen in Ihren Klassenpfad ein.
-
Erstellen eines Forms-Java-API-Objekts
Erstellen Sie ein
FormsService
-Objekt und legen Sie Authentifizierungswerte fest. -
Verweisen auf die CSS-Datei
- Erstellen Sie ein
HTMLRenderSpec
-Objekt, indem Sie dessen Konstruktor verwenden. - Rufen Sie zum Rendern des HTML-Formulars, das eine benutzerdefinierte CSS-Datei verwendet, die
setCustomCSSURI
-Methode desHTMLRenderSpec
-Objekts auf und übergeben Sie einen Zeichenfolgenwert, der den Speicherort und den Namen der CSS-Datei angibt.
- Erstellen Sie ein
-
Rendern eines HTML-Formulars
Rufen Sie die Methode
(Deprecated) renderHTMLForm
desFormsService
-Objekts auf und übergeben Sie die folgenden Werte:- Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - Ein
TransformTo
-Auflistungswert, der den HTML-Voreinstellungstyp angibt. Um beispielsweise ein HTML-Formular zu rendern, das mit Dynamic HTML für Internet Explorer 5.0 oder höher kompatibel ist, geben SieTransformTo.MSDHTML
an. - Ein
BLOB
-Objekt, das Daten enthält, die mit dem Formular zusammengeführt werden sollen. Wenn Sie keine Daten zusammenführen möchten, übergeben Sienull
. (Siehe Vorausfüllen von Formularen mit fließfähigen Layouts.) - Das
HTMLRenderSpec
-Objekt, das HTML-Laufzeitoptionen speichert. - Ein Zeichenfolgenwert, der den
HTTP_USER_AGENT
-Kopfzeilenwert angibt, z. B.Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. Wenn Sie diesen Wert nicht festlegen möchten, können Sie eine leere Zeichenfolge übergeben. - Ein
URLSpec
-Objekt, das URI-Werte speichert, die zum Rendern eines HTML-Formulars erforderlich sind. - Ein
java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, für den Sienull
angeben können, wenn Sie keine Dateien an das Formular anhängen möchten. - Ein leeres
com.adobe.idp.services.holders.BLOBHolder
-Objekt, das über die(Deprecated) renderHTMLForm
-Methode gefüllt wird. Dieser Parameterwert speichert das gerenderte Formular. - Ein leeres
com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der(Deprecated) renderHTMLForm
-Methode gefüllt wird. Dieser Parameter speichert die XML-Ausgabedaten. - Ein leeres
javax.xml.rpc.holders.LongHolder
-Objekt, das von der(Deprecated) renderHTMLForm
-Methode gefüllt wird. Dieses Argument speichert die Anzahl der Seiten im Formular. - Ein leeres
javax.xml.rpc.holders.StringHolder
-Objekt, das von der(Deprecated) renderHTMLForm
-Methode gefüllt wird. Dieses Argument speichert den Gebietsschemawert. - Ein leeres
javax.xml.rpc.holders.StringHolder
-Objekt, das von der(Deprecated) renderHTMLForm
-Methode gefüllt wird. Dieses Argument speichert den verwendeten HTML-Rendering-Wert. - Ein leeres
com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das die Ergebnisse dieses Vorgangs enthält.
Die Methode
(Deprecated) renderHTMLForm
füllt dascom.adobe.idp.services.holders.FormsResultHolder
-Objekt, das als letzter Argumentwert übergeben wird, mit einem Formulardaten-Stream, der in den Client-Webbrowser geschrieben werden muss. - Ein Zeichenfolgenwert, der den Namen des Formularentwurfs einschließlich der Dateinamenerweiterung angibt. Wenn Sie auf einen Formularentwurf verweisen, der Teil eines Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
-
Schreiben des Formulardaten-Streams in den Client-Webbrowser
- Erstellen Sie ein Objekt vom Typ
FormResult
, indem Sie den Wert des Datenelementsvalue
descom.adobe.idp.services.holders.FormsResultHolder
-Objekts abrufen. - Erstellen Sie ein Objekt vom Typ
BLOB
, das Formulardaten enthält, indem Sie die MethodegetOutputContent
desFormsResult
-Objekts aufrufen. - Ermitteln Sie den Content-Typ des
BLOB
-Objekts, indem Sie seine MethodegetContentType
aufrufen. - Legen Sie den Content-Typ des
javax.servlet.http.HttpServletResponse
-Objekts fest, indem Sie seine MethodesetContentType
aufrufen und den Content-Typ desBLOB
-Objekts übergeben. - Erstellen Sie ein Objekt vom Typ
javax.servlet.ServletOutputStream
, das zum Schreiben des Formulardatenstroms in den Client-Webbrowser verwendet wird, indem Sie die MethodegetOutputStream
desjavax.servlet.http.HttpServletResponse
-Objekts aufrufen. - Erstellen Sie ein Byte-Array und füllen Sie es auf, indem Sie die Methode
getBinaryData
desBLOB
-Objekts aufrufen. Mit dieser Aufgabe wird dem Byte-Array der Inhalt desFormsResult
-Objekts zugewiesen. - Rufen Sie die Methode
write
desjavax.servlet.http.HttpServletResponse
-Objekts auf, um den Formulardatenstrom an den Client-Webbrowser zu senden. Übergeben Sie das Byte-Array an die Methodewrite
.
- Erstellen Sie ein Objekt vom Typ
Siehe auch
Rendern von HTML-Formularen mit benutzerdefinierten CSS-Dateien
Aufrufen von AEM Forms mit Base64-Kodierung