Sie können den Versand von PDF-Inhalten optimieren und die Fähigkeit des Forms-Dienstes, Netzwerklasten zu bewältigen, verbessern, indem Sie die clientseitige Renderfunktion von Acrobat oder Adobe Reader verwenden. Dieser Prozess wird als Wiedergabe eines Formulars auf dem Client bezeichnet. Um ein Formular auf dem Client wiederzugeben, muss das Clientgerät (normalerweise ein Webbrowser) Acrobat 7.0 oder Adobe Reader 7.0 oder höher verwenden.
Änderungen an einem Formular, die sich aus der serverseitigen Skriptausführung ergeben, werden nicht in einem Formular übernommen, das auf dem Client wiedergegeben wird, es sei denn, das Stammteilformular enthält das restoreState
-Attribut, das auf auto
eingestellt ist. Weitere Informationen zu diesem Attribut finden Sie unter Forms Designer.
Weitere Informationen zum Forms-Dienst finden Sie unter Dienste-Referenz für AEM Forms.
So rendern Sie ein Formular auf dem Client:
Projektdateien einschließen
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 Proxydateien einschließen.
Forms Client API-Objekt erstellen
Bevor Sie einen Forms-Dienst-Client-API-Vorgang programmgesteuert durchführen können, müssen Sie einen Forms-Dienstclient erstellen. Wenn Sie die Java-API verwenden, erstellen Sie ein FormsServiceClient
-Objekt. Wenn Sie die Forms-Webdienst-API verwenden, erstellen Sie ein FormsService
-Objekt.
Festlegen von Laufzeitoptionen für das Rendern von Clients
Sie müssen die Client-Rendering-Laufzeitoption festlegen, um ein Formular auf dem Client wiederzugeben, indem Sie die Laufzeitoption RenderAtClient
auf true
festlegen. Dadurch wird das Formular an das Client-Gerät gesendet, auf dem es wiedergegeben wird. Ist RenderAtClient
auto
(Standardwert), bestimmt der Formularentwurf, ob das Formular auf dem Client wiedergegeben wird. Der Formularentwurf muss ein Formularentwurf mit einem flexiblen Layout sein.
Eine optionale Laufzeitoption, die Sie einstellen können, ist die Option SeedPDF
. Die Option SeedPDF
kombiniert den PDF-Container (Seed PDF-Dokument) mit dem Formularentwurf und den XML-Daten. Sowohl der Formularentwurf als auch die XML-Daten werden an Acrobat oder Adobe Reader gesendet, wo das Formular wiedergegeben wird. Die Option SeedPDF
kann verwendet werden, wenn der Clientcomputer keine im Formular verwendeten Schriften enthält, z. B. wenn ein Endbenutzer nicht für die Verwendung einer Schrift lizenziert ist, für die der Formularinhaber eine Lizenz besitzt.
Sie können Designer verwenden, um eine einfache dynamische PDF-Datei zu erstellen, die als Seed-PDF-Datei verwendet werden soll. Die folgenden Schritte sind erforderlich, um diese Aufgabe durchzuführen:
Sie müssen die Laufzeitoption "Seed PDF"nicht definieren, um ein Formular auf dem Client wiederzugeben. Wenn Sie keine Seed-PDF-Datei angeben, erstellt der Forms-Dienst eine Shell-PDF, die keine COS-Objekte enthält, aber einen PDF-Wrapper mit dem tatsächlichen XDP-Inhalt enthält, der in das Dokument eingebettet ist. Die Schritte in diesem Abschnitt legen die Option zum Starten der PDF-Laufzeitumgebung nicht fest. Weitere Informationen zu COS-Objekten finden Sie im Adobe PDF-Referenzhandbuch.
Formular auf dem Client wiedergeben
Um ein Formular auf dem Client wiederzugeben, müssen Sie sicherstellen, dass die Client-Rendering-Laufzeitoptionen in Ihrer Anwendungslogik enthalten sind, um ein Formular wiederzugeben.
Schreiben des Formulardatenstreams in den Client-Webbrowser
Der Forms-Dienst erstellt einen Formulardatenstream, den Sie in den Client-Webbrowser schreiben müssen. Wenn das Formular in den Client-Webbrowser geschrieben wird, wird es von Acrobat 7.0 oder Adobe Reader 7.0 oder höher wiedergegeben und ist für den Benutzer sichtbar.
Siehe auch
Formular mit der Java-API auf dem Client wiedergeben
Formular mit der Webdienst-API auf dem Client wiedergeben
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Weiterleiten von Dokumenten an den Forms-Dienst
Erstellen von Webanwendungen zum Rendern von Forms
Wiedergabe eines Formulars auf dem Client mithilfe der Forms API (Java):
Projektdateien einschließen
Schließen Sie Client-JAR-Dateien wie "adobe-forms-client.jar"im Klassenpfad Ihres Java-Projekts ein.
Forms Client API-Objekt erstellen
ServiceClientFactory
-" -Objekt, das Verbindungseigenschaften enthält.FormsServiceClient
-Objekt, indem Sie den Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Festlegen von Laufzeitoptionen für das Rendern von Clients
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.RenderAtClient
fest, indem Sie die setRenderAtClient
-Methode des Objekts aufrufen und den Enum-Wert RenderAtClient.Yes
übergeben.PDFFormRenderSpec
Formular auf dem Client wiedergeben
Rufen Sie die renderPDFForm
-Methode des Objekts auf und übergeben Sie die folgenden Werte:FormsServiceClient
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.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 leeres com.adobe.idp.Document
-Objekt.PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind.URLSpec
-Objekt, das URI-Werte enthält, die vom Forms-Dienst zum Rendern eines Formulars erforderlich sind.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter und Sie können null
angeben, wenn Sie keine Dateien an das Formular anhängen möchten.Die renderPDFForm
-Methode gibt ein FormsResult
-Objekt zurück, das einen Formulardatenstream enthält, der in den Client-Webbrowser geschrieben werden muss.
Schreiben des Formulardatenstreams in den Client-Webbrowser
com.adobe.idp.Document
-Objekt, indem Sie die FormsResult
-Methode "s getOutputContent
"aufrufen.com.adobe.idp.Document
-Objekts ab, indem Sie dessen getContentType
-Methode aufrufen.javax.servlet.http.HttpServletResponse
fest, indem Sie die setContentType
-Methode aufrufen und den Inhaltstyp des com.adobe.idp.Document
-Objekts übergeben.javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardatenstreams in den Client-Webbrowser verwendet wird, indem Sie die getOutputStream
-Methode des Objekts aufrufen.javax.servlet.http.HttpServletResponse
java.io.InputStream
-Objekt, indem Sie die com.adobe.idp.Document
-Methode des Objekts getInputStream
aufrufen.read
-Methode des Objekts aufrufen und das Bytearray als Argument übergeben.InputStream
write
-Methode des Objekts auf, um den Formulardatenstream an den Client-Webbrowser zu senden. javax.servlet.ServletOutputStream
Übergeben Sie das Bytearray an die write
-Methode.Siehe auch
Quick Beginn (SOAP-Modus): Wiedergabe eines Formulars auf dem Client mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Wiedergabe eines Formulars auf dem Client mithilfe der Forms API (Webdienst):
Projektdateien einschließen
Forms Client API-Objekt erstellen
Erstellen Sie ein FormsService
-Objekt und legen Sie Authentifizierungswerte fest.
Festlegen von Laufzeitoptionen für das Rendern von Clients
PDFFormRenderSpec
, indem Sie den Konstruktor verwenden.RenderAtClient
fest, indem Sie die setRenderAtClient
-Methode des Objekts aufrufen und den Zeichenfolgenwert RenderAtClient.Yes
übergeben.PDFFormRenderSpec
Formular auf dem Client wiedergeben
Rufen Sie die renderPDFForm
-Methode des Objekts auf und übergeben Sie die folgenden Werte:FormsService
Applications/FormsApplication/1.0/FormsFolder/Loan.xdp
.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
. (Siehe Vorausfüllen von Forms mit flexiblen Layouts.)PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert, die zum Rendern eines Formulars auf dem Client erforderlich sind.URLSpec
-Objekt, das URI-Werte enthält, die vom Forms-Dienst benötigt werden.java.util.HashMap
-Objekt, das Dateianlagen speichert. Dies ist ein optionaler Parameter und Sie können null
angeben, wenn Sie keine Dateien an das Formular anhängen möchten.com.adobe.idp.services.holders.BLOBHolder
-Objekt, das von der Methode gefüllt wird. Dieser Parameter wird zum Speichern des gerenderten PDF-Formulars verwendet.javax.xml.rpc.holders.LongHolder
-Objekt, das von der Methode gefüllt wird. (Dieses Argument speichert die Anzahl der Seiten im Formular.)javax.xml.rpc.holders.StringHolder
-Objekt, das von der Methode gefü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 das com.adobe.idp.services.holders.FormsResultHolder
-Objekt, das als letzter Argumentwert übergeben wird, mit einem Formulardatenstream, der in den Client-Webbrowser geschrieben werden muss.
Schreiben des Formulardatenstreams in den Client-Webbrowser
FormResult
-Objekt, indem Sie den Wert des com.adobe.idp.services.holders.FormsResultHolder
-Datenelements des Objekts value
abrufen.BLOB
-Objekt, das Formulardaten enthält, indem Sie die getOutputContent
-Methode des Objekts aufrufen.FormsResult
BLOB
-Objekts ab, indem Sie dessen getContentType
-Methode aufrufen.javax.servlet.http.HttpServletResponse
fest, indem Sie die setContentType
-Methode aufrufen und den Inhaltstyp des BLOB
-Objekts übergeben.javax.servlet.ServletOutputStream
-Objekt, das zum Schreiben des Formulardatenstreams in den Client-Webbrowser verwendet wird, indem Sie die getOutputStream
-Methode des Objekts aufrufen.javax.servlet.http.HttpServletResponse
BLOB
-Methode des Objekts getBinaryData
. Diese Aufgabe weist dem Bytearray den Inhalt des Objekts FormsResult
zu.write
-Methode des Objekts auf, um den Formulardatenstream an den Client-Webbrowser zu senden. javax.servlet.http.HttpServletResponse
Übergeben Sie das Bytearray an die write
-Methode.Siehe auch
Rendern von Forms auf dem Client
Aufrufen von AEM Forms mit Base64-Kodierung