Rendern eines Formulars auf dem Client mithilfe der Java-API
So rendern Sie ein Formular auf dem Client 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 Client-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
-
Festlegen von Laufzeitoptionen für das Client-Rendering
- Erstellen Sie ein Objekt
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden. - Legen Sie die Laufzeitoption
RenderAtClient
fest, indem Sie die MethodesetRenderAtClient
desPDFFormRenderSpec
-Objekts aufrufen und den AufzählungswertRenderAtClient.Yes
übergeben.
- Erstellen Sie ein Objekt
-
Rendern eines Formulars auf dem Client
Rufen Sie die Methode
renderPDFForm
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 AEM Forms-Programms ist, stellen Sie sicher, dass Sie den vollständigen Pfad angeben, z. B.
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
. - 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. - Ein
PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind. - Ein
URLSpec
-Objekt, das URI-Werte enthält, die der Forms-Service zum Rendern eines Formulars benötigt. - 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.
Die Methode
renderPDFForm
gibt einFormsResult
-Objekt zurück, das einen Formulardaten-Stream 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 AEM 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
com.adobe.idp.Document
-Objekt, 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
javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardaten-Streams in den Client-Webbrowser verwendet wird, indem Sie die MethodegetOutputStream
desjavax.servlet.http.HttpServletResponse
-Objekts aufrufen. - Erstellen Sie ein
java.io.InputStream
-Objekt, indem Sie die MethodegetInputStream
descom.adobe.idp.Document
-Objekts aufrufen. - Erstellen Sie ein Byte-Array und füllen Sie es mit dem Formulardaten-Stream, 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 Formulardaten-Stream an den Client-Webbrowser zu senden. Übergeben Sie das Byte-Array an die Methodewrite
.
- Erstellen Sie ein
Rendern eines Formulars auf dem Client mithilfe der Webservice-API
Rendern eines Formulars auf dem Client mithilfe der Forms-API (Webservice):
-
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 Client-API-Objekts
Erstellen Sie ein
FormsService
-Objekt und legen Sie Authentifizierungswerte fest. -
Festlegen von Laufzeitoptionen für das Client-Rendering
- Erstellen Sie ein Objekt
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden. - Legen Sie die Laufzeitoption
RenderAtClient
fest, indem Sie die MethodesetRenderAtClient
desPDFFormRenderSpec
-Objekts aufrufen und den ZeichenfolgenwertRenderAtClient.Yes
übergeben.
- Erstellen Sie ein Objekt
-
Rendern eines Formulars auf dem Client
Rufen Sie die Methode
renderPDFForm
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
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 flexiblen Layouts.) - Ein
PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind. - Ein
URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Service erforderlich sind. - Ein
java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter. Sie könnennull
festlegen, wenn Sie keine Dateien an das Formular anhängen möchten. - Ein leeres
com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der Methode aufgefüllt wird. Dieser Parameter wird zum Speichern des wiedergegebenen PDF-Formulars verwendet. - Ein leeres
javax.xml.rpc.holders.LongHolder
-Objekt, das von der Methode aufgefüllt wird. (Dieses Argument speichert die Anzahl der Seiten im Formular). - Ein leeres
javax.xml.rpc.holders.StringHolder
-Objekt, das von der Methode gefüllt wird. (Dieses Argument speichert den Gebietsschemawert). - Ein leeres
com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das die Ergebnisse dieses Vorgangs enthält.
Die Methode
renderPDFForm
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
FormResult
-Objekt, indem Sie den Wert des Datenelementsvalue
descom.adobe.idp.services.holders.FormsResultHolder
-Objekts abrufen. - Erstellen Sie ein
BLOB
-Objekt, das Formulardaten enthält, indem Sie die MethodegetOutputContent
desFormsResult
-Objekts aufrufen. - Ermitteln Sie den Inhaltstyp 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
javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardaten-Stream 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 Formulardaten-Stream an den Client-Webbrowser zu senden. Übergeben Sie das Byte-Array an die Methodewrite
.
- Erstellen Sie ein