Documenten doorgeven aan de Forms-service passing-documents-to-the-formsservice
de Steekproeven en de voorbeelden in dit document zijn slechts voor AEM Forms op milieu JEE.
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 met het formulierontwerp doorgeven aan de Forms-service. De Forms-service geeft het formulierontwerp vervolgens weer in het com.adobe.idp.Document
-object.
Een voordeel van het doorgeven van een com.adobe.idp.Document
-object aan de Forms-service is dat andere servicebewerkingen een com.adobe.idp.Document
-instantie retourneren. U kunt dus een com.adobe.idp.Document
-instantie ophalen uit een andere servicebewerking en deze renderen. Stel bijvoorbeeld dat een XDP-bestand wordt opgeslagen in een knooppunt Content Services (afgekeurd) met de naam /Company Home/Form Designs
, zoals in de volgende afbeelding wordt getoond.
U kunt Loan.xdp via programmacode ophalen uit Content Services (afgekeurd) (afgekeurd) en het XDP-bestand doorgeven aan de Forms-service binnen een 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.
omvat projectdossiers
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.
creeer een Forms en een voorwerp van de Cliënt API van het Beheer van het Document
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.
wint het vormontwerp van de (Vervangen) Diensten van de Inhoud terug
Haal het XDP-bestand op van Content Services (afgekeurd) met 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). Vervolgens kunt u de instantie com.adobe.idp.Document
doorgeven aan de Forms-service.
geef een interactieve vorm van PDF terug
Als u een interactief formulier wilt genereren, geeft u het exemplaar com.adobe.idp.Document
dat door Content Services (afgekeurd) is geretourneerd, door aan de Forms-service.
com.adobe.idp.Document
met het formulierontwerp doorgeven aan de Forms-service. Twee nieuwe methoden met de naam renderPDFForm2
en renderHTMLForm2
accepteren een com.adobe.idp.Document
-object dat een formulierontwerp bevat.voer een actie met de stroom van vormgegevens uit
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
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
- Maak een
ServiceClientFactory
-object dat verbindingseigenschappen bevat. (Zie Plaatsende verbindingseigenschappen.) - Maak een
FormsServiceClient
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven. - Maak een
DocumentManagementServiceClientImpl
-object door de constructor ervan te gebruiken en hetServiceClientFactory
-object door te geven.
- Maak een
-
Het formulierontwerp ophalen van Content Services (afgekeurd)
Roep de methode
retrieveContent
van het objectDocumentManagementServiceClientImpl
aan en geef 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 methode
retrieveContent
retourneert eenCRCResult
-object dat het XDP-bestand bevat. Haal eencom.adobe.idp.Document
-instantie op door de methodeCRCResult
objectgetDocument
aan te roepen. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Een interactief PDF-formulier renderen
Roep de methode
renderPDFForm2
van het objectFormsServiceClient
aan en geef de volgende waarden door:- Een
com.adobe.idp.Document
-object dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - Een
com.adobe.idp.Document
-object dat gegevens bevat die met het formulier moeten worden samengevoegd. Wanneer u geen gegevens wilt samenvoegen, geeft u een leegcom.adobe.idp.Document
-object door. - Een
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnull
opgeven als u geen runtime-opties wilt opgeven. - Een
URLSpec
-object dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull
opgeven. - Een
java.util.HashMap
-object dat bestandsbijlagen opslaat. Deze waarde is een optionele parameter en u kuntnull
opgeven als u geen bestanden aan het formulier wilt koppelen.
De methode
renderPDFForm
retourneert eenFormsResult
-object dat een formuliergegevensstroom bevat die naar de webbrowser van de client moet worden geschreven. - Een
-
Een handeling uitvoeren met de gegevensstroom van het formulier
- Maak een
com.adobe.idp.Document
-object door de methodeFormsResult
object 'sgetOutputContent
aan te roepen. - Haal het inhoudstype van het object
com.adobe.idp.Document
op door de methodegetContentType
ervan aan te roepen. - Stel het inhoudstype van het
javax.servlet.http.HttpServletResponse
-object in door de methodesetContentType
ervan aan te roepen en het inhoudstype van hetcom.adobe.idp.Document
-object door te geven. - Maak een
javax.servlet.ServletOutputStream
-object dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door de methodejavax.servlet.http.HttpServletResponse
objectgetOutputStream
aan te roepen. - Maak een
java.io.InputStream
-object door de methodecom.adobe.idp.Document
objectgetInputStream
aan te roepen. - Maak een bytearray en vul deze met de formuliergegevensstroom door de methode
read
van het objectInputStream
aan te roepen. Geef de bytearray door als een argument. - Roep de methode
write
van het objectjavax.servlet.ServletOutputStream
aan om de gegevensstroom van het formulier naar de webbrowser van de client te verzenden. Geef de bytearray door aan de methodewrite
.
- Maak een
zie ook
Snel starten (SOAP modus): documenten doorgeven aan de Forms-service met behulp van de Java API
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 WSDL-definitie voor de serviceverwijzing die aan de Forms-service is gekoppeld:
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
.Gebruik de volgende WSDL-definitie voor de serviceverwijzing die is gekoppeld aan de Document Management-service:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
.Omdat het gegevenstype
BLOB
veel wordt gebruikt voor beide serviceverwijzingen, kunt u het gegevenstype vanBLOB
volledig kwalificeren wanneer u het gebruikt. In de bijbehorende webservice quick start zijn alleBLOB
-instanties volledig gekwalificeerd.note note NOTE Vervang localhost
met het IP adres van de server die AEM Forms ontvangt. -
Een Forms en een Document Management Client API-object maken
-
Maak een
FormsServiceClient
-object met de standaardconstructor. -
Maak een
FormsServiceClient.Endpoint.Address
-object met deSystem.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 het attribuutlc_version
niet te gebruiken. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Maak een
System.ServiceModel.BasicHttpBinding
-object door de waarde van hetFormsServiceClient.Endpoint.Binding
-veld op te halen. De geretourneerde waarde wordt gecast naarBasicHttpBinding
. -
Stel het veld
MessageEncoding
van hetSystem.ServiceModel.BasicHttpBinding
-object in opWSMessageEncoding.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
FormsServiceClient.ClientCredentials.UserName.UserName
toe. - Wijs de bijbehorende wachtwoordwaarde toe aan het veld
FormsServiceClient.ClientCredentials.UserName.Password
. - Wijs de constante waarde
HttpClientCredentialType.Basic
toe aan het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Wijs de gebruikersnaam van het AEM aan het veld
-
Wijs de constante waarde
BasicHttpSecurityMode.TransportCredentialOnly
toe aan het veldBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Herhaal deze stappen voor de DocumentManagementServiceClient
de dienstcliënt. -
-
Het formulierontwerp ophalen van Content Services (afgekeurd)
Haal inhoud op door de methode
retrieveContent
van het objectDocumentManagementServiceClient
aan te roepen en de volgende waarden door te geven:- 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.
- Een
BLOB
uitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - Een
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
uitvoerparameter die inhoudskenmerken opslaat. - Een
CRCResult
uitvoerparameter. In plaats van dit object te gebruiken, kunt u de uitvoerparameterBLOB
gebruiken om de inhoud op te halen.
- Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Een interactief PDF-formulier renderen
Roep de methode
renderPDFForm2
van het objectFormsServiceClient
aan en geef de volgende waarden door:- Een
BLOB
-object dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - Een
BLOB
-object dat gegevens bevat die met het formulier moeten worden samengevoegd. Wanneer u geen gegevens wilt samenvoegen, geeft u een leegBLOB
-object door. - Een
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnull
opgeven als u geen runtime-opties wilt opgeven. - Een
URLSpec
-object dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull
opgeven. - Een
Map
-object dat bestandsbijlagen opslaat. Deze waarde is een optionele parameter en u kuntnull
opgeven 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.
- Een
FormsResult
-uitvoerparameter die wordt gebruikt om het interactieve PDF-formulier op te slaan.
De methode
renderPDFForm2
retourneert eenFormsResult
-object dat het interactieve PDF-formulier bevat. - Een
-
Een handeling uitvoeren met de gegevensstroom van het formulier
- Maak een
BLOB
-object dat formuliergegevens bevat door de waarde van het veldFormsResult
objectoutputContent
op te halen. - Maak 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 wordt opgeslagen van het
BLOB
-object dat is opgehaald van hetFormsResult
-object. Vul de bytearray met de waarde van het gegevenslidMTOM
van het objectBLOB
. - Maak een
System.IO.BinaryWriter
-object door de constructor ervan aan te roepen en hetSystem.IO.FileStream
-object door te geven. - Schrijf de inhoud van de bytearray naar een PDF-bestand door de methode
Write
van het objectSystem.IO.BinaryWriter
aan te roepen en de bytearray door te geven.
- Maak een
zie ook