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
ServiceClientFactoryobject dat verbindingseigenschappen bevat. (Zie Verbindingseigenschappen instellen.) - Een
FormsServiceClientobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject. - Een
DocumentManagementServiceClientImplobject door de constructor ervan te gebruiken en door te gevenServiceClientFactoryobject.
- Een
-
Het formulierontwerp ophalen van Content Services (afgekeurd)
De
DocumentManagementServiceClientImplobjectretrieveContenten 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
retrieveContentmethode retourneert eenCRCResultobject dat het XDP-bestand bevat. Vraag eencom.adobe.idp.Documentinstantie door deCRCResultobjectgetDocumentmethode. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
-
Een interactief PDF-formulier renderen
De
FormsServiceClientobjectrenderPDFForm2en geeft de volgende waarden door:- A
com.adobe.idp.Documentobject dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - A
com.adobe.idp.Documentobject dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorcom.adobe.idp.Documentobject. - A
PDFFormRenderSpec-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnullals u geen runtime opties wilt opgeven. - A
URLSpecobject dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull. - A
java.util.HashMapobject waarin bestandsbijlagen zijn opgeslagen. Deze waarde is een optionele parameter en u kuntnullals u geen bestanden aan het formulier wilt koppelen.
De
renderPDFFormmethode retourneert eenFormsResultobject 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.Documentdoor het object aan te roepenFormsResultobject 'sgetOutputContentmethode. - Hiermee wordt het inhoudstype van het dialoogvenster
com.adobe.idp.Documentobject aanroepengetContentTypemethode. - Stel de
javax.servlet.http.HttpServletResponseinhoudstype van object aanroepensetContentTypeen geeft u het inhoudstype van het dialoogvenster doorcom.adobe.idp.Documentobject. - Een
javax.servlet.ServletOutputStreamobject dat wordt gebruikt om de formuliergegevensstroom naar de webbrowser van de client te schrijven door het aanroepen van dejavax.servlet.http.HttpServletResponseobjectgetOutputStreammethode. - Een
java.io.InputStreamdoor het object aan te roepencom.adobe.idp.DocumentobjectgetInputStreammethode. - Maak een bytearray en vul deze met de formuliergegevensstroom door de
InputStreamobjectreadmethode. Geef de bytearray door als een argument. - De
javax.servlet.ServletOutputStreamobjectwritemethode om de formuliergegevensstroom naar de webbrowser van de client te verzenden. Geef de bytearray door aan dewritemethode.
- 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
BLOBhet gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOBgegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOBexemplaren 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
FormsServiceClientobject met de standaardconstructor. -
Een
FormsServiceClient.Endpoint.Addressobject gebruikenSystem.ServiceModel.EndpointAddressconstructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/FormsService?WSDL). U hoeft delc_versionkenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBindingobject door de waarde van het object op te halenFormsServiceClient.Endpoint.Bindingveld. De geretourneerde waarde omzetten inBasicHttpBinding. -
Stel de
System.ServiceModel.BasicHttpBindingobjectMessageEncodingveld 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.Basicnaar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnlynaar 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
DocumentManagementServiceClientobjectretrieveContenten 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
BLOBuitvoerparameter die de inhoud opslaat. U kunt deze uitvoerparameter gebruiken om de inhoud op te halen. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeuitvoerparameter die inhoudskenmerken opslaat. - A
CRCResultuitvoerparameter. In plaats van dit object te gebruiken, kunt u de opdrachtBLOBuitvoerparameter 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
FormsServiceClientobjectrenderPDFForm2en geeft de volgende waarden door:- A
BLOBobject dat het formulierontwerp bevat dat is opgehaald uit Content Services (afgekeurd). - A
BLOBobject dat gegevens bevat die met het formulier moeten worden samengevoegd. Als u geen gegevens wilt samenvoegen, geeft u een lege waarde doorBLOBobject. - A
PDFFormRenderSpec-object dat uitvoeringsopties opslaat. Deze waarde is een optionele parameter en u kuntnullals u geen runtime opties wilt opgeven. - A
URLSpecobject dat URI-waarden bevat. Deze waarde is een optionele parameter en u kuntnull. - A
Mapobject waarin bestandsbijlagen zijn opgeslagen. Deze waarde is een optionele parameter en u kuntnullals 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
FormsResultuitvoerparameter die wordt gebruikt om het interactieve PDF-formulier op te slaan.
De
renderPDFForm2methode retourneert eenFormsResultobject dat het interactieve PDF-formulier bevat. - A
-
Een handeling uitvoeren met de gegevensstroom van het formulier
- Een
BLOBobject dat formuliergegevens bevat door de waarde van deFormsResultobjectoutputContentveld. - Een
System.IO.FileStreamobject 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
BLOBobject opgehaald uit hetFormsResultobject. Vul de bytearray met de waarde van deBLOBobjectMTOMlid. - Een
System.IO.BinaryWriterobject door de constructor aan te roepen en deSystem.IO.FileStreamobject. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriterobjectWriteen geeft u de bytearray door.
- Een
Zie ook