Beim Rendern eines Formulars können Sie Laufzeitoptionen festlegen, die die Leistung des Forms-Dienstes optimieren. Eine weitere Aufgabe, die Sie zur Verbesserung der Leistung des Forms-Dienstes ausführen können, ist das Speichern von XDP-Dateien im Repository. In diesem Abschnitt wird jedoch nicht beschrieben, wie diese Aufgabe ausgeführt wird. (Siehe Aufrufen eines Dienstes mithilfe einer Java-Client-Bibliothek.
Weitere Informationen zum Forms-Dienst finden Sie unter Dienstreferenz für AEM Forms.
Führen Sie die folgenden Aufgaben aus, um die Leistung des Forms-Dienstes beim Rendern eines Formulars zu optimieren:
Projektdateien einschließen
Fügen 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 Client-API-Objekts
Bevor Sie einen Client-API-Vorgang für den Forms-Dienst programmgesteuert ausführen können, müssen Sie einen Forms-Dienstclient erstellen. Wenn Sie die Java-API verwenden, erstellen Sie eine FormsServiceClient
-Objekt. Wenn Sie die Forms-Webdienst-API verwenden, erstellen Sie eine FormsService
-Objekt.
Festlegen von Leistungslaufzeitoptionen
Sie können die folgenden Leistungslaufzeitoptionen festlegen, um die Leistung des Forms-Dienstes zu verbessern:
true
, wodurch Formulare ohne Statusinformationen wiedergegeben werden. Statusinformationen sind erforderlich, wenn Sie ein interaktives Formular an einen Endbenutzer rendern möchten, der dann Informationen in das Formular eingibt und das Formular an den Forms-Dienst zurücksendet. Der Forms-Dienst führt anschließend eine Berechnung durch und gibt das Formular mit im Formular angezeigten Ergebnissen an den Benutzer zurück. Wenn ein Formular ohne Statusinformationen an den Forms-Dienst zurückgesendet wird, sind nur die XML-Daten verfügbar und serverseitige Berechnungen werden nicht durchgeführt.Formular wiedergeben
Um das Formular nach dem Festlegen von Leistungsoptionen wiederzugeben, verwenden Sie dieselbe Anwendungslogik wie die Wiedergabe eines Formulars ohne Leistungsoptionen.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
Nachdem der Forms-Dienst ein Formular wiedergegeben hat, wird ein Formulardatenstream zurückgegeben, den Sie in den Client-Webbrowser schreiben müssen. Beim Schreiben in den Client-Webbrowser ist das Formular für den Benutzer sichtbar.
Siehe auch
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstarts zur Forms Service-API
Rendern interaktiver PDF forms
Erstellen von Webanwendungen, die Forms rendern
Wiedergabe eines Formulars mit optimierter Leistung mithilfe der Forms API (Java):
Projektdateien einschließen
Schließen Sie Client-JAR-Dateien wie adobe-forms-client.jar in den Klassenpfad Ihres Java-Projekts ein.
Erstellen eines Forms Client-API-Objekts
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.FormsServiceClient
-Objekt durch Verwendung seines Konstruktors und Übergabe des ServiceClientFactory
-Objekt.Festlegen von Leistungslaufzeitoptionen
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.PDFFormRenderSpec
-Objekt setCacheEnabled
Methode und Übergabe true
.PDFFormRenderSpec
-Objekt setLinearizedPDF
Methode und Übergabe true.
Formular wiedergeben
Rufen Sie die FormsServiceClient
-Objekt renderPDFForm
-Methode verwenden und die folgenden Werte übergeben:
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 einen leeren com.adobe.idp.Document
-Objekt.PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, um die Leistung zu verbessern.URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Dienst erforderlich sind.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, den Sie null
, wenn Sie keine Dateien an das Formular anhängen möchten.Die renderPDFForm
-Methode gibt eine FormsResult
-Objekt, das einen Formulardatenstrom enthält, der in den Client-Webbrowser geschrieben werden muss.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
javax.servlet.ServletOutputStream
-Objekt, das zum Senden eines Formulardaten-Streams an den Client-Webbrowser verwendet wird.com.adobe.idp.Document
-Objekt durch Aufrufen der FormsResult
object ‘s getOutputContent
-Methode.java.io.InputStream
-Objekt durch Aufrufen der com.adobe.idp.Document
-Objekt getInputStream
-Methode.InputStream
-Objekt read
-Methode verwenden und das Byte-Array als Argument übergeben.javax.servlet.ServletOutputStream
-Objekt write
-Methode zum Senden des Formulardaten-Streams an den Client-Webbrowser. Übergeben Sie das Byte-Array an die write
-Methode.Siehe auch
Schnellstart (SOAP-Modus): Leistungsoptimierung mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Wiedergabe eines Formulars mit optimierter Leistung mithilfe der Forms-API (Webdienst):
Projektdateien einschließen
Erstellen eines Forms Client-API-Objekts
Erstellen Sie eine FormsService
Objekt und legen Sie Authentifizierungswerte fest.
Festlegen von Leistungslaufzeitoptionen
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.PDFFormRenderSpec
-Objekt setCacheEnabled
Methode und Übergabe von "true"übergeben.PDFFormRenderSpec
-Objekt setStandAlone
Methode und Übergabe von "true"übergeben.PDFFormRenderSpec
-Objekt setLinearizedPDF
Methode und Übergabe von "true"übergeben.Formular wiedergeben
Rufen Sie die FormsService
-Objekt renderPDFForm
-Methode verwenden und die folgenden Werte übergeben:
BLOB
-Objekt, das Daten enthält, die mit dem Formular zusammengeführt werden sollen. Wenn Sie keine Daten zusammenführen möchten, übergeben Sie null
.PDFFormRenderSpecc
-Objekt, das Laufzeitoptionen speichert.URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Dienst erforderlich sind.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter, den Sie null
, wenn Sie keine Dateien an das Formular anhängen möchten.com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der -Methode aufgefüllt wird. Damit wird das wiedergegebene PDF-Formular gespeichert.javax.xml.rpc.holders.LongHolder
-Objekt, das von der -Methode aufgefüllt wird. (Dieses Argument speichert die Anzahl der Seiten im Formular).javax.xml.rpc.holders.StringHolder
-Objekt, das von der -Methode aufgefüllt wird. (Dieses Argument speichert den Gebietsschemawert).com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das die Ergebnisse dieses Vorgangs enthält.Die renderPDFForm
-Methode füllt die com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das als letzter Argumentwert mit einem Formulardatenstream übergeben wird, der in den Client-Webbrowser geschrieben werden muss.
Schreiben Sie den Formulardaten-Stream in den Client-Webbrowser
FormResult
-Objekt durch Abrufen des Werts der com.adobe.idp.services.holders.FormsResultHolder
-Objekt value
Datenelement.javax.servlet.ServletOutputStream
-Objekt, das zum Senden eines Formulardaten-Streams an den Client-Webbrowser verwendet wird.BLOB
-Objekt, das Formulardaten enthält, durch Aufrufen der FormsResult
-Objekt getOutputContent
-Methode.BLOB
-Objekt getBinaryData
-Methode. Diese Aufgabe weist den Inhalt des FormsResult
-Objekt zum Byte-Array hinzu.javax.servlet.http.HttpServletResponse
-Objekt write
-Methode zum Senden des Formulardaten-Streams an den Client-Webbrowser. Übergeben Sie das Byte-Array an die write
-Methode.Siehe auch
Aufrufen von AEM Forms mit Base64-Kodierung