Documenten doorgeven aan de Forms-service passing-documents-to-the-formsservice
De AEM Forms-service rendert interactieve PDF forms naar clientapparaten, meestal webbrowsers, om informatie van gebruikers te verzamelen. Een interactief PDF-formulier is gebaseerd op een formulierontwerp dat gewoonlijk als een XDP-bestand wordt opgeslagen en in Designer wordt gemaakt. Vanaf AEM Forms kunt u een com.adobe.idp.Document
object dat het formulierontwerp bevat voor de Forms-service. De Forms-service geeft vervolgens het formulierontwerp weer dat zich bevindt in het dialoogvenster com.adobe.idp.Document
object.
Een voordeel van het doorgeven van een com.adobe.idp.Document
object voor de Forms-service is dat andere servicebewerkingen een com.adobe.idp.Document
-instantie. Dat wil zeggen dat je een com.adobe.idp.Document
instantie van een andere servicebewerking en rendert u deze. Stel dat een XDP-bestand wordt opgeslagen in een knooppunt Content Services (afgekeurd) genaamd /Company Home/Form Designs
, zoals in de volgende afbeelding wordt getoond.
U kunt Loan.xdp programmatically terugwinnen van (afgekeurd) de Diensten van de Inhoud (en het XDP dossier tot de dienst van Forms binnen overgaan com.adobe.idp.Document
object.
Overzicht van de stappen summary-of-steps
Als u een document dat is verkregen van Content Services (afgekeurd) (afgekeurd) wilt doorgeven aan de Forms-service, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een Forms en een Document Management Client API-object.
- Haal het formulierontwerp op bij Inhoudsservices (afgekeurd).
- Het interactieve PDF-formulier weergeven.
- Voer een handeling uit met de gegevensstroom van het formulier.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
Een Forms en een Document Management Client API-object maken
Voordat u een API-bewerking voor Forms-services programmatisch kunt uitvoeren, maakt u een Forms Client API-object. Omdat met deze workflow een XDP-bestand wordt opgehaald van Content Services (afgekeurd), maakt u ook een Document Management API-object.
Het formulierontwerp ophalen van Content Services (afgekeurd)
Haal het XDP-bestand op van Content Services (afgekeurd) met behulp van de Java- of webservice-API. Het XDP-bestand wordt geretourneerd binnen een com.adobe.idp.Document
instantie (of een BLOB
-instantie als u webservices gebruikt). U kunt dan de com.adobe.idp.Document
naar de Forms-service.
Een interactief PDF-formulier renderen
Als u een interactief formulier wilt genereren, geeft u het com.adobe.idp.Document
instantie die is geretourneerd van Content Services (afgekeurd) aan de Forms-service.
com.adobe.idp.Document
die het formulierontwerp voor de Forms-service bevat. Twee nieuwe methoden met een naam renderPDFForm2
en renderHTMLForm2
accepteren com.adobe.idp.Document
object dat een formulierontwerp bevat.Een handeling uitvoeren met de gegevensstroom van het formulier
Afhankelijk van het type clienttoepassing kunt u het formulier naar een clientwebbrowser schrijven of het formulier opslaan als een PDF-bestand. Een webtoepassing schrijft het formulier doorgaans naar een webbrowser. Een bureaubladtoepassing slaat het formulier echter doorgaans op als een PDF-bestand.
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Documenten doorgeven aan de Forms-service met de Java API pass-documents-to-the-forms-service-using-the-java-api
Geef een document door dat is verkregen van Content Services (afgekeurd) met de Forms-service en Content Services (afgekeurd) API (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden voor clients, zoals adobe-forms-client.jar en adobe-contentservices-client.jar, op in het klassenpad van uw Java-project.
-
Een Forms en een Document Management Client API-object maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
FormsServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
DocumentManagementServiceClientImpl
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Het formulierontwerp ophalen van Content Services (afgekeurd)
De
DocumentManagementServiceClientImpl
objectretrieveContent
en geeft de volgende waarden door:- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
SpacesStore
. Deze waarde is een verplichte parameter. - Een tekenreekswaarde die het volledig gekwalificeerde pad opgeeft van de inhoud die moet worden opgehaald (bijvoorbeeld
/Company Home/Form Designs/Loan.xdp
). Deze waarde is een verplichte parameter. - Een tekenreekswaarde die de versie opgeeft. Deze waarde is een optionele parameter en u kunt een lege tekenreeks doorgeven. In dit geval wordt de laatste versie opgehaald.
De
retrieveContent
methode retourneert eenCRCResult
object dat het XDP-bestand bevat. Vraag eencom.adobe.idp.Document
instantie door deCRCResult
objectgetDocument
methode. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Een interactief PDF-formulier renderen
De
FormsServiceClient
objectrenderPDFForm2
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - A
com.adobe.idp.Document
object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorcom.adobe.idp.Document
object. - A
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnull
als u geen runtime opties wilt opgeven. - A
URLSpec
object dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull
. - A
java.util.HashMap
object waarin bestandsbijlagen zijn opgeslagen. Deze waarde is een optionele parameter en u kuntnull
als u geen bestanden aan het formulier wilt koppelen.
De
renderPDFForm
methode retourneert eenFormsResult
object dat een formuliergegevensstroom bevat die naar de webbrowser van de client moet worden geschreven. - A
-
Een handeling uitvoeren met de gegevensstroom van het formulier
- Een
com.adobe.idp.Document
door het object aan te roepenFormsResult
object 'sgetOutputContent
methode. - Hiermee wordt het inhoudstype van het dialoogvenster
com.adobe.idp.Document
object aanroepengetContentType
methode. - Stel de
javax.servlet.http.HttpServletResponse
inhoudstype van object aanroepensetContentType
en geeft u het inhoudstype van het dialoogvenster doorcom.adobe.idp.Document
object. - Een
javax.servlet.ServletOutputStream
object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van dejavax.servlet.http.HttpServletResponse
objectgetOutputStream
methode. - Een
java.io.InputStream
door het object aan te roepencom.adobe.idp.Document
objectgetInputStream
methode. - Maak een bytearray en vul deze met de formuliergegevensstroom door de
InputStream
objectread
methode. Geef de bytearray door als een argument. - De
javax.servlet.ServletOutputStream
objectwrite
methode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewrite
methode.
- Een
Zie ook
Snel starten (SOAP-modus): Documenten doorgeven aan de Forms-service met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Documenten doorgeven aan de Forms Service met de API voor webservices pass-documents-to-the-forms-service-using-the-web-service-api
Geef een document door dat is verkregen van Content Services (afgekeurd) met de Forms-service en Content Services (afgekeurd) API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Omdat deze cliƫnttoepassing de twee diensten van AEM Forms aanhaalt, creeer twee de dienstverwijzingen. Gebruik de volgende definitie van WSDL voor de de dienstverwijzing verbonden aan de dienst van Forms:
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
.Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van het Beheer van het Document:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.Omdat
BLOB
het gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOB
gegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOB
exemplaren zijn volledig gekwalificeerd.note note NOTE Vervangen localhost
* met het IP-adres van de server die als host fungeert voor AEM Forms. * -
Een Forms en een Document Management Client API-object maken
-
Een
FormsServiceClient
object met de standaardconstructor. -
Een
FormsServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/FormsService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenFormsServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
FormsServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
FormsServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Herhaal deze stappen voor de DocumentManagementServiceClient
* service client. * -
-
Het formulierontwerp ophalen van Content Services (afgekeurd)
Inhoud ophalen door de
DocumentManagementServiceClient
objectretrieveContent
en geeft de volgende waarden door:- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
SpacesStore
. Deze waarde is een verplichte parameter. - Een tekenreekswaarde die het volledig gekwalificeerde pad opgeeft van de inhoud die moet worden opgehaald (bijvoorbeeld
/Company Home/Form Designs/Loan.xdp
). Deze waarde is een verplichte parameter. - Een tekenreekswaarde die de versie opgeeft. Deze waarde is een optionele parameter en u kunt een lege tekenreeks doorgeven. In dit geval wordt de laatste versie opgehaald.
- Een parameter van de koordoutput die doorbladert verbindingswaarde opslaat.
- A
BLOB
uitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
uitvoerparameter die inhoudskenmerken opslaat. - A
CRCResult
uitvoerparameter. In plaats van dit object te gebruiken, kunt u de opdrachtBLOB
uitvoerparameter om de inhoud te verkrijgen.
- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Een interactief PDF-formulier renderen
De
FormsServiceClient
objectrenderPDFForm2
en geeft de volgende waarden door:- A
BLOB
object dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - A
BLOB
object dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorBLOB
object. - A
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnull
als u geen runtime opties wilt opgeven. - A
URLSpec
object dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull
. - A
Map
object waarin bestandsbijlagen zijn opgeslagen. Deze waarde is een optionele parameter en u kuntnull
als u geen bestanden aan het formulier wilt koppelen. - Een lange uitvoerparameter die wordt gebruikt om het aantal pagina's op te slaan.
- Een tekenreeks-uitvoerparameter die wordt gebruikt om de waarde van de landinstelling op te slaan.
- A
FormsResult
uitvoerparameter die wordt gebruikt om het interactieve PDF-formulier op te slaan.
De
renderPDFForm2
methode retourneert eenFormsResult
object dat het interactieve PDF-formulier bevat. - A
-
Een handeling uitvoeren met de gegevensstroom van het formulier
- Een
BLOB
object dat formuliergegevens bevat door de waarde van deFormsResult
objectoutputContent
veld. - Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het interactieve PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object opgehaald uit hetFormsResult
object. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook