PDF-documenten maken met verzonden XML-gegevens creating-pdf-documents-with-submittedxml-data
PDF-documenten maken met verzonden XML-gegevens creating-pdf-documents-with-submitted-xml-data
Webtoepassingen waarmee gebruikers interactieve formulieren kunnen invullen, vereisen dat de gegevens worden teruggestuurd naar de server. Met de Forms-service kunt u de formuliergegevens ophalen die de gebruiker in een interactief formulier heeft ingevoerd. Vervolgens kunt u de formuliergegevens doorgeven aan een andere AEM Forms-servicebewerking en een PDF-document maken met behulp van de gegevens.
Overweeg de volgende workflow met drie AEM Forms-services:
- Een gebruiker verzendt XML-gegevens vanuit een webtoepassing naar de Forms-service.
- De Forms-service wordt gebruikt om het verzonden formulier te verwerken en formuliervelden te extraheren. Formuliergegevens kunnen worden verwerkt. De gegevens kunnen bijvoorbeeld naar een ondernemingsdatabase worden verzonden.
- Formuliergegevens worden naar de service Uitvoer verzonden om een niet-interactief PDF-document te maken.
- Het niet-interactieve PDF-document wordt opgeslagen in Content Services (afgekeurd).
Het volgende diagram biedt een visuele weergave van deze workflow.
Nadat de gebruiker het formulier vanuit de webbrowser van de client heeft verzonden, wordt het niet-interactieve PDF-document opgeslagen in Content Services (afgekeurd). In de volgende afbeelding ziet u een PDF-document dat is opgeslagen in Content Services (afgekeurd).
Overzicht van de stappen summary-of-steps
Als u een niet-interactief PDF-document met verzonden XML-gegevens wilt maken en in het PDF-document in Content Services (afgekeurd) wilt opslaan, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak Forms-, Output- en Document Management-objecten.
- Haal formuliergegevens op met de Forms-service.
- Maak een niet-interactief PDF-document met de uitvoerservice.
- Sla het formulier PDF op in Inhoudsservices (afgekeurd) met behulp van de Document Management-service.
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, dient u de proxybestanden op te nemen.
Forms-, Output- en Document Management-objecten maken
Voordat u een API-bewerking voor Forms-services programmatisch kunt uitvoeren, maakt u een Forms Client API-object. Op dezelfde manier kunt u zowel een Output Client API-object als een Document Management Client API-object maken, omdat bij deze workflow de services voor Output en documentbeheer worden aangeroepen.
Formuliergegevens ophalen met de Forms-service
Haal formuliergegevens op die zijn verzonden naar de Forms-service. U kunt verzonden gegevens verwerken om aan uw bedrijfsvereisten te voldoen. U kunt bijvoorbeeld formuliergegevens opslaan in een ondernemingsdatabase. Als u echter een niet-interactief PDF-document wilt maken, worden de formuliergegevens doorgegeven aan de Output-service.
Maak een niet-interactief PDF-document met de uitvoerservice.
Met de service Uitvoer kunt u een niet-interactief PDF-document maken dat is gebaseerd op een formulierontwerp en XML-formuliergegevens. In de workflow worden de formuliergegevens opgehaald uit de Forms-service.
Sla het PDF-formulier op in Content Services (afgekeurd) met behulp van de Document Management-service
Gebruik de service-API voor documentbeheer om een PDF-document op te slaan in Content Services (afgekeurd).
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een PDF-document met verzonden XML-gegevens maken met de Java API create-a-pdf-document-with-submitted-xml-data-using-the-java-api
Maak een PDF-document met verzonden XML-gegevens met de API voor Forms, Output en Documentbeheer (Java):
-
Projectbestanden opnemen
Neem client-JAR-bestanden op, zoals adobe-forms-client.jar, adobe-output-client.jar en adobe-contentservices-client.jar in het klassenpad van uw Java-project.
-
Forms-, Output- en Document Management-objecten maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
FormsServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
OutputClient
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
-
Formuliergegevens ophalen met de Forms-service
-
De
FormsServiceClient
objectprocessFormSubmission
en geeft de volgende waarden door:- De
com.adobe.idp.Document
object dat de formuliergegevens bevat. - Een tekenreekswaarde die omgevingsvariabelen opgeeft, inclusief alle relevante HTTP-headers. Geef het inhoudstype op dat u wilt afhandelen door een of meer waarden voor de
CONTENT_TYPE
omgevingsvariabele. Als u bijvoorbeeld XML-gegevens wilt verwerken, geeft u de volgende tekenreekswaarde op voor deze parameter:CONTENT_TYPE=text/xml
. - Een tekenreekswaarde die de
HTTP_USER_AGENT
koptekstwaarde, zoalsMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
RenderOptionsSpec
-object dat uitvoeringsopties opslaat.
De
processFormSubmission
methode retourneert eenFormsResult
object met de resultaten van het verzenden van het formulier. - De
-
Bepaal of de Forms-service de formuliergegevens heeft verwerkt door het aanroepen van de
FormsResult
objectgetAction
methode. Als deze methode de waarde retourneert0
De gegevens zijn klaar om te worden verwerkt. -
Formuliergegevens ophalen door een
com.adobe.idp.Document
door het object aan te roepenFormsResult
objectgetOutputContent
methode. (Dit object bevat formuliergegevens die naar de service Uitvoer kunnen worden verzonden.) -
Een
java.io.InputStream
door het object aan te roepenjava.io.DataInputStream
aannemer en het overgaan vancom.adobe.idp.Document
object. -
Een
org.w3c.dom.DocumentBuilderFactory
object door het statische object aan te roepenorg.w3c.dom.DocumentBuilderFactory
objectnewInstance
methode. -
Een
org.w3c.dom.DocumentBuilder
door het object aan te roepenorg.w3c.dom.DocumentBuilderFactory
objectnewDocumentBuilder
methode. -
Een
org.w3c.dom.Document
door het object aan te roepenorg.w3c.dom.DocumentBuilder
objectparse
en het doorgeven van dejava.io.InputStream
object. -
Hiermee wordt de waarde van elk knooppunt in het XML-document opgehaald. U kunt deze taak uitvoeren door een aangepaste methode te maken die twee parameters accepteert: de
org.w3c.dom.Document
-object en de naam van het knooppunt waarvan u de waarde wilt ophalen. Deze methode retourneert een tekenreekswaarde die de waarde van het knooppunt vertegenwoordigt. In het codevoorbeeld dat dit proces volgt, wordt deze douanemethode geroepengetNodeText
. De hoofdtekst van deze methode wordt weergegeven.
-
-
Maak een niet-interactief PDF-document met de uitvoerservice.
Een PDF-document maken door het
OutputClient
objectgeneratePDFOutput
en geeft de volgende waarden door:- A
TransformationFormat
enum value. Als u een PDF-document wilt genereren, geeft uTransformationFormat.PDF
. - Een tekenreekswaarde waarmee de naam van het formulierontwerp wordt opgegeven. Zorg ervoor dat het formulierontwerp compatibel is met de formuliergegevens die zijn opgehaald van de Forms-service.
- Een tekenreekswaarde die de hoofdmap van de inhoud opgeeft waar het formulierontwerp zich bevindt.
- A
PDFOutputOptionsSpec
-object dat PDF-runtime-opties bevat. - A
RenderOptionsSpec
-object dat renderingopties bevat. - De
com.adobe.idp.Document
object dat de XML-gegevensbron bevat die gegevens bevat die met het formulierontwerp moeten worden samengevoegd. Zorg ervoor dat dit object is geretourneerd door deFormsResult
objectgetOutputContent
methode. - De
generatePDFOutput
methode retourneert eenOutputResult
object dat de resultaten van de bewerking bevat. - Haal het niet-interactieve PDF-document op door het
OutputResult
objectgetGeneratedDoc
methode. Deze methode retourneert eencom.adobe.idp.Document
-instantie die staat voor het niet-interactieve PDF-document.
- A
-
Sla het PDF-formulier op in Content Services (afgekeurd) met behulp van de Document Management-service
Voeg de inhoud toe door de
DocumentManagementServiceClientImpl
objectstoreContent
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 ruimte waar de inhoud wordt toegevoegd (bijvoorbeeld
/Company Home/Test Directory
). Deze waarde is een verplichte parameter. - De knooppuntnaam die de nieuwe inhoud vertegenwoordigt (bijvoorbeeld
MortgageForm.pdf
). Deze waarde is een verplichte parameter. - Een tekenreekswaarde die het type knooppunt opgeeft. Als u nieuwe inhoud wilt toevoegen, zoals een PDF-bestand, geeft u
{https://www.alfresco.org/model/content/1.0}content
. Deze waarde is een verplichte parameter. - A
com.adobe.idp.Document
object dat de inhoud vertegenwoordigt. Deze waarde is een verplichte parameter. - Een tekenreekswaarde die de coderingswaarde opgeeft (bijvoorbeeld
UTF-8
). Deze waarde is een verplichte parameter. - An
UpdateVersionType
opsommingswaarde die aangeeft hoe versiegegevens moeten worden verwerkt (bijvoorbeeldUpdateVersionType.INCREMENT_MAJOR_VERSION
om de inhoudsversie te verhogen. ) Deze waarde is een verplichte parameter. - A
java.util.List
instantie die aspecten met betrekking tot de inhoud specificeert. Deze waarde is een optionele parameter en u kuntnull
. - A
java.util.Map
object waarin inhoudskenmerken zijn opgeslagen.
De
storeContent
methode retourneert eenCRCResult
object dat de inhoud beschrijft. EenCRCResult
kunt u bijvoorbeeld de unieke id-waarde van de inhoud ophalen. Om deze taak uit te voeren, roepCRCResult
objectgetNodeUuid
methode. - Een tekenreekswaarde die de opslaglocatie opgeeft waar de inhoud wordt toegevoegd. De standaardopslag is
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen