Rendern von Formularen mit aktivierten Verwendungsrechten rendering-rights-enabled-forms
Der Forms-Service kann Formulare rendern, auf die Nutzungsrechte angewendet wurden. Verwendungsrechte gelten für Funktionen, die standardmäßig in Acrobat, nicht jedoch in Adobe Reader zur Verfügung stehen, wie etwa die Möglichkeit, Kommentare zu einem Formular hinzuzufügen oder Formularfelder auszufüllen und das Formular zu speichern. Formulare, auf die Nutzungsrechte angewandt wurden, werden als Formulare mit aktivierten Nutzungsrechten bezeichnet. Benutzer, die ein Formular mit aktivierten Nutzungsrechten in Adobe Reader öffnen, können Vorgänge durchführen, die für dieses spezifische Formular aktiviert sind.
Um Nutzungsrechte auf ein Formular anzuwenden, muss der Dienst Acrobat Reader DC-Erweiterungen Teil der AEM Forms-Installation sein. Außerdem müssen Sie über gültige Anmeldeinformationen verfügen, mit denen Sie Nutzungsrechte auf PDF-Dokumente anwenden können. Das heißt, Sie müssen den Acrobat Reader DC-Erweiterungs-Service ordnungsgemäß konfigurieren, bevor Sie ein Formular mit aktivierten Nutzungsrechten rendern können. (Siehe Informationen zum Acrobat Reader DC-Erweiterungs-Service.)
enableComments
, enableCommentsOnline
, enableEmbeddedFiles
oder enableDigitalSignatures
. (Siehe Vorausfüllen von Formularen mit flexiblen Layouts.)Zusammenfassung der Schritte summary-of-steps
Um ein Formular mit aktivierten Nutzungsrechten zu rendern, führen Sie die folgenden Aufgaben aus:
- Schließen Sie Projektdateien ein.
- Erstellen Sie ein Forms-Client-API-Objekt.
- Legen Sie Laufzeitoptionen für die Nutzungsrechte fest.
- Rendern Sie ein Formular mit aktivierten Nutzungsrechten.
- Schreiben Sie das Formular mit aktivierten Nutzungsrechten in den Client-Webbrowser.
Einschließen von Projektdateien
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie ein Client-Programm 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-Service programmgesteuert durchführen können, müssen Sie einen Client für den Forms-Service erstellen.
Festlegen von Laufzeitoptionen für Nutzungsrechte
Legen Sie Laufzeitoptionen für Nutzungsrechte fest, um ein Formular mit aktivierten Nutzungsrechten zu rendern. Geben Sie außerdem den Alias der Anmeldeinformationen an, die zum Anwenden von Nutzungsrechten auf ein Formular verwendet werden. Nachdem Sie den Alias-Wert angegeben haben, geben Sie jedes Nutzungsrecht an, das auf das Formular angewendet werden soll.
Rendern eines Formulars mit aktivierten Nutzungsrechten
Um ein Formular mit aktivierten Nutzungsrechten zu rendern, verwenden Sie dieselbe Anwendungslogik wie beim Rendern eines Formulars ohne Nutzungsrechte. Der einzige Unterschied besteht darin, dass Sie sicherstellen müssen, dass die Laufzeitoptionen für Nutzungsrechte in Ihrer Anwendungslogik enthalten sind.
Schreiben des Formulardaten-Streams in den Client-Webbrowser
Wenn der Forms-Service ein Formular mit aktivierten Nutzungsrechten rendert, wird ein Formulardaten-Stream zurückgegeben, den Sie in den Client-Webbrowser schreiben müssen. Nach dem Schreiben in den Client-Webbrowser ist das Formular für den Benutzer sichtbar. Ein Benutzer, der das Formular mit aktivierten Benutzerrechten in Adobe Reader anzeigt, kann Vorgänge ausführen, die für dieses Formular aktiviert sind.
Siehe auch
Rendern von Formularen mit aktivierten Nutzungsrechten mithilfe der Java-API
Rendering von rechteaktivierten Formularen über die Webservice-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Schnellstart mit der Forms Service-API
Rendern von Formularen mit aktivierten Nutzungsrechten mithilfe der Java-API render-rights-enabled-forms-using-the-java-api
So rendern Sie ein Formular mit aktivierten Nutzungsrechten 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
-
Optionen für Nutzungsrechte zur Laufzeit festlegen
- Erstellen Sie ein Objekt
ReaderExtensionSpec
, indem Sie den Konstruktor verwenden. - Geben Sie den Alias der Anmeldeinformationen an, indem Sie die Methode
setReCredentialAlias
desReaderExtensionSpec
-Objekts aufrufen, und geben Sie einen Zeichenfolgenwert an, der den Alias-Wert darstellt. - Legen Sie die einzelnen Nutzungsrechte fest, indem Sie die entsprechende Methode aufrufen, die zum
ReaderExtensionSpec
-Objekt gehört. Sie können jedoch nur dann ein Nutzungsrecht festlegen, wenn die von Ihnen referenzierte Berechtigung dies zulässt. Das heißt, Sie können keine Nutzungsrechte festlegen, wenn die Berechtigung Ihnen dies nicht erlaubt. Beispiel. Um das Nutzungsrecht festzulegen, mit dem Sie Formularfelder ausfüllen und das Formular speichern können, rufen Sie die MethodesetReFillIn
desReaderExtensionSpec
-Objekts auf und übergeben Sietrue
.
note note NOTE Es ist nicht erforderlich, die Methode setReCredentialPassword
desReaderExtensionSpec
-Objekts aufzurufen. Diese Methode wird vom Forms-Service nicht verwendet. - Erstellen Sie ein Objekt
-
Rendern eines Formulars mit aktivierten Nutzungsrechten
Rufen Sie die Methode
renderPDFFormWithUsageRights
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
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. - Ein
ReaderExtensionSpec
-Objekt, das Laufzeitoptionen für Nutzungsrechte speichert. - A
URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Dienst erforderlich sind.
Die
renderPDFFormWithUsageRights
-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.http.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
Kurzanleitung (SOAP-Modus): Rendern eines berechtigungsaktivierten Formulars mithilfe der Java-API
Rendering von rechteaktivierten Formularen über die Webservice-API render-rights-enabled-forms-using-the-web-service-api
Rendering eines Formulars mit aktivierten Rechten 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. -
Optionen für Nutzungsrechte zur Laufzeit festlegen
- Erstellen Sie ein Objekt
ReaderExtensionSpec
, indem Sie den Konstruktor verwenden. - Geben Sie den Alias der Anmeldeinformationen an, indem Sie die Methode
setReCredentialAlias
desReaderExtensionSpec
-Objekts aufrufen, und geben Sie einen Zeichenfolgenwert an, der den Alias-Wert darstellt. - Legen Sie die einzelnen Nutzungsrechte fest, indem Sie die entsprechende Methode aufrufen, die zum
ReaderExtensionSpec
-Objekt gehört. Sie können jedoch nur dann ein Nutzungsrecht festlegen, wenn die von Ihnen referenzierte Berechtigung dies zulässt. Das heißt, Sie können keine Nutzungsrechte festlegen, wenn die Berechtigung Ihnen dies nicht erlaubt. Um das Nutzungsrecht festzulegen, mit dem Sie Formularfelder ausfüllen und das Formular speichern können, rufen Sie die MethodesetReFillIn
desReaderExtensionSpec
-Objekts auf und übergeben Sietrue
.
- Erstellen Sie ein Objekt
-
Rendern eines Formulars mit aktivierten Nutzungsrechten
Rufen Sie die Methode
renderPDFFormWithUsageRights
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 mit dem Formular zusammenführen wollen, müssen Sie einBLOB
-Objekt übergeben, das auf einer leeren XML-Datenquelle basiert. Sie können keinBLOB
-Objekt übergeben, das Null ist; andernfalls wird eine Ausnahme ausgelöst. - Ein
PDFFormRenderSpec
-Objekt, das Laufzeitoptionen speichert. - Ein
ReaderExtensionSpec
-Objekt, das Laufzeitoptionen für Nutzungsrechte speichert. - A
URLSpec
-Objekt, das URI-Werte enthält, die für den Forms-Dienst erforderlich sind.
Die
renderPDFFormWithUsageRights
-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
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 Formularen mit aktivierten Verwendungsrechten
Aufrufen von AEM Forms mit Base64-Kodierung