Utiliser le service Assembler dans AEM Forms
Dernière mise à jour : 23 septembre 2024
- Rubriques :
- Assembleur
Créé pour :
- Expérimenté
- Développeur
Cet article vous fournit les ressources pour illuster la fonctionalité de faire glisser-déposer plusieurs fichiers PDF dans le navigateur et d’enregistrer le fichier PDF assemblé dans votre système de fichiers. Voici le code du servlet qui assemble les fichiers PDF téléchargés à l’aide du navigateur.
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) {
log.debug("In Assemble Uploaded Files");
Map<String, Object> mapOfDocuments = new HashMap<String, Object>();
final boolean isMultipart = org.apache.commons.fileupload.servlet.ServletFileUpload.isMultipartContent(request);
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = null;
try {
docBuilder = docFactory.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
org.w3c.dom.Document ddx = docBuilder.newDocument();
Element rootElement = ddx.createElementNS("http://ns.adobe.com/DDX/1.0/", "DDX");
ddx.appendChild(rootElement);
Element pdfResult = ddx.createElement("PDF");
pdfResult.setAttribute("result", "GeneratedDocument.pdf");
rootElement.appendChild(pdfResult);
if (isMultipart) {
final java.util.Map<String, org.apache.sling.api.request.RequestParameter[]> params = request
.getRequestParameterMap();
for (final java.util.Map.Entry<String, org.apache.sling.api.request.RequestParameter[]> pairs : params
.entrySet()) {
final String k = pairs.getKey();
final org.apache.sling.api.request.RequestParameter[] pArr = pairs.getValue();
final org.apache.sling.api.request.RequestParameter param = pArr[0];
try {
if (!param.isFormField()) {
final InputStream stream = param.getInputStream();
log.debug("the file name is " + param.getFileName());
log.debug("Got input Stream inside my servlet####" + stream.available());
com.adobe.aemfd.docmanager.Document document = new Document(stream);
mapOfDocuments.put(param.getFileName(), document);
org.w3c.dom.Element pdfSourceElement = ddx.createElement("PDF");
pdfSourceElement.setAttribute("source", param.getFileName());
pdfSourceElement.setAttribute("bookmarkTitle", param.getFileName());
pdfResult.appendChild(pdfSourceElement);
log.debug("The map size is " + mapOfDocuments.size());
} else {
log.debug("The form field is" + param.getString());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
com.adobe.aemfd.docmanager.Document ddxDocument = documentServices.orgw3cDocumentToAEMFDDocument(ddx);
Document assembledDocument = documentServices.assembleDocuments(mapOfDocuments, ddxDocument);
String path = documentServices.saveDocumentInCrx("/content/ocrfiles", assembledDocument);
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("path", path);
response.setContentType("application/json");
response.setHeader("Cache-Control", "nocache");
response.setCharacterEncoding("utf-8");
PrintWriter out = null;
out = response.getWriter();
out.println(jsonObject.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Pour que cette fonctionnalité soit valide sur votre serveur AEM :
- Téléchargez AssembleMultipleFiles.zip dans votre système local.
- Chargez et installez le package à l’aide du gestionnaire de packages.
- Téléchargez le lot Document Services personnalisé.
- Téléchargez le lot Developing with Service User
- Déployez et démarrez les lots à l’aide de la console web felix.
- Pointez votre navigateur sur AssemblePdfs.html.
- Faites glisser et déposez quelques fichiers PDF.
NOTE
Assurez-vous que votre installation d’AEM Forms est terminée. Tous vos lots doivent être à l’état actif.
Assurez-vous d’avoir ajouté les bibliothèques Boot delegate RSA et BouncyCastle comme indiqué dans la section Installation d’AEM Forms.
Avertissements pour cette démonstration
-
Le code ne gère pas les documents PDF basés sur XFA.
-
Veillez à ne faire glisser et déposer que des fichiers PDF.
Page précédentePDF dans le composant du carrousel
Page suivanteAssemblage XDP avec le service Assembler
Experience Manager
- Vue d’ensemble
- Bonnes pratiques à suivre
- Configuration de l’authentification OKTA avec l’instance Création AEM
- Création de votre premier formulaire adaptatif
- 1. Présentation et configuration
- 2. Créer un modèle de formulaire adaptatif
- 3. Créer un fragment de formulaire
- 4. Créer un formulaire adaptatif
- 5. Configurer un panneau racine et ajouter des panneaux enfants
- 6. Ajouter des composants au panneau Personnes
- 7. Ajouter un tableau au panneau des revenus
- 8. Configurer le panneau Ressources
- 9. Utiliser des fonctions personnalisées et l’éditeur de code
- Gestion des envois de formulaire
- Création d’un workflow de révision
- Configuration d’un formulaire adaptatif pour déclencher un workflow
- Affichage de la page de remerciement
- Personnaliser la page de remerciement
- Envoi au point d’entrée externe
- Envoyer un e-mail
- Workflow de requête de congés payés
- Configuration d’un formulaire adaptatif pour déclencher un workflow AEM - vidéo
- Personnalisation de la notification d’affectation de tâche
- Intégrations utiles
- Créer un bundle OSGi
- Formulaires adaptatifs
- Installation d’AEM Forms sur Windows
- Installation de packages 32 bits sur Linux
- Service de préremplissage des formulaires adaptatifs
- Renseigner le formulaire adaptatif à l’aide des paramètres de requête
- Code QR dans AEM Forms
- Envoi personnalisé dans les formulaires adaptatifs
- Captcha dans les formulaires adaptifs
- Fonctions personnalisées dans l’éditeur de règles
- Incorporation d’un formulaire adaptatif dans une page web
- Création d’une séquence de chaînes de caractères
- Chemin de chargement des éléments dans AEM Forms
- Utilisation de la valeur définie dans XML dans le workflow OSGI
- Utilisation de la valeur définie dans JSON dans le workflow OSGI
- Composant Envoyer un e-mail dans le workflow AEM Forms
- Génération d’un document d’enregistrement (DoR) à l’aide de l’API
- Affichage d’images intégrées
- Affichage des images DAM intégrées
- Utilisation de l’API GeoLocation
- Utilisation des rapports de transaction
- Intégration des données de profil utilisateur dans AEM Forms
- Microsoft Dynamics avec AEM Forms
- Améliorations de l’éditeur de règles
- Limitation de l’accès à l’éditeur de règles
- Améliorations de l’éditeur de thèmes
- Améliorations de l’éditeur de formulaires
- Test automatisé des formulaires adaptatifs
- Test automatisé des formulaires adaptatifs
- Intégration du LDAP à AEM Forms
- Utilisation de l’utilisateur du service dans AEM Forms
- Balisage et stockage d’un document d’enregistrement (DoR) lors de l’envoi de formulaire adaptatif
- Renseignement du tableau avec les résultats de l’appel du service de modèle de données de formulaire
- Capture des commentaires du workflow
- Stockage des données de formulaire envoyées dans la base de données
- Insertion d’une pièce jointe de formulaire dans la base de données
- Modifier une configuration de source de données
- Remplacer les propriétés du modèle de données de formulaire
- Service de modèle de données de formulaire dans le workflow AEM 6.4
- Gestion des messages d’erreur dans l’étape du service de modèle de données de formulaire
- Service de modèle de données de formulaire dans le workflow AEM 6.5.1
- Modèle de données de formulaire sans source de données
- Élément de modèle de données de formulaire calculé
- Configuration de la source de données JDBC dans AEM Forms
- Modèle de données de formulaire basé sur JDBC
- Créer des associations entre deux entités dans un modèle de données de formulaire
- Utilisation du service d’appel du modèle de données de formulaire dans l’éditeur de règles
- Publier des données binaires dans AEM DAM à l’aide du modèle de données de formulaire
- Création de modèles de workflow réutilisables
- Étape de processus personnalisée du workflow AEM
- Préremplissage des formulaires HTML5
- Modèle de données de formulaire avec Salesforce
- Ajout dynamique d’éléments au composant Choix
- Remplir un formulaire PDF avec ChatBot
- Formulaires basés sur les composants principaux
- Sélectionner et assembler le contenu du dossier DAM
- Préremplir le formulaire adaptatif à l’aide du modèle de données de formulaire
- Conseils et astuces concernant l’interface utilisateur
- Personnalisation de la boîte de réception
- Pièces jointes du formulaire d’e-mail
- Préremplir le formulaire avec des données et des pièces jointes
- Stocker et récupérer un formulaire adaptatif
- 1 - Présentation
- 2. Configurer la source de données
- 3. Stocker les pièces jointes d’un formulaire
- 4. Stocker les données d’un formulaire
- 5. Créer un servlet
- 6. Rendre un formulaire avec des données enregistrées
- 7. Créer une bibliothèque cliente
- 8. Intégrer au service OTP
- 9. Créer le formulaire principal
- 10. Créer le formulaire MyAccount
- 11. Déployer l’exemple
- Importer des données du fichier PDF
- Exportation de données envoyées au format CSV
- Formulaires HTML5
- AEM Forms et Acrobat Sign
- Présentation
- Configurer le SSL
- Créer une application d’API Acrobat Sign
- Créer une configuration cloud Acrobat Sign
- Créer un workflow pour envoyer un document à signer
- Créer et configurer un formulaire adaptatif
- Configurer un formulaire adaptatif pour un signataire unique
- Configurer un formulaire adaptatif pour deux signataires
- Configurer le service de conversion automatisée de formulaires
- Convertir un formulaire PDF en formulaire adaptatif
- Configurer un formulaire adaptatif converti
- Utilisation de modèles XDP avec Acrobat Sign
- Utilisation des méthodes d’assistance Acrobat Sign
- Signature de plusieurs formulaires
- 1 - Présentation
- 2. Configurer la source de données
- 3. Créer un service OSGi
- 4. Créer un workflow principal
- 5. Mettre à jour le workflow du statut de signature
- 6. Personnaliser le composant Résumé
- 7. Créer une bibliothèque cliente
- 8. Créer un modèle de formulaire
- 9. Créer un formulaire initial
- 10. Créer des formulaires à signer
- 11. Tester la solution
- Étapes d’un workflow personnalisé
- Composant de workflow personnalisé
- Variables dans le workflow AEM
- Vérifier les données de formulaire
- Stockage et récupération des données de formulaire dans la base de données MySQL
- Déclenchement d’un workflow AEM lors de l’envoi du formulaire PDF
- Déclencher un workflow AEM lors de l’envoi du formulaire mobile
- Interroger les envois de formulaire
- Liste des types de ressources personnalisés dans le portail Formulaires
- AEM Forms avec Marketo
- AEM Forms avec Adobe Campaign Standard
- Kit de bienvenue
- API Forms découplées
- Application React avec Forms et Acrobat Sign
- Services de document
- Types de formulaires PDF
- Incorporer le PDF dans le formulaire adaptatif
- PDF dans le composant du carrousel
- Utilisation du service Assembler dans AEM Forms
- Assemblage XDP avec le service Assembler
- Utilisation du dossier de contrôle dans AEM Forms
- Utilisation du service Barcode dans AEM Forms
- Utilisation du service PDFG dans AEM Forms
- Chiffrement d’un PDF avec mot de passe d’autorisation
- Utilisation des services Output et Forms dans AEM Forms
- Utilisation de fragments XDP dans le service de sortie
- Script ECMA pour générer un PDF avec des fragments
- Génération de plusieurs PDF à partir d’un fichier de données
- Générer un PDF lors de l’envoi du formulaire mobile
- Générer un PDF sur l’envoi de formulaire basé sur les composants principaux
- Générer un PDF interactif à partir d’un formulaire mobile
- Générer un document d’enregistrement interactif à partir d’un formulaire adaptatif
- Configurer les informations d’identification Reader Extensions
- Application des droits d’utilisation au rendu du PDF en XDP
- Appliquer les droits d’utilisation au PDF téléchargé
- Certifier des documents
- Assembler des pièces jointes de formulaire
- Services utilitaires utiles
- Forms Designer
- AEM Forms Workbench
- Communications interactives pour le canal d’impression
- 1 - Présentation
- 2. Configurer Tomcat
- 3. Créer une source de données
- 4. Créer un modèle de données de formulaire
- 5. Créer une disposition XDP à l’aide de Forms Designer
- 6. Créer un fragment de document
- 7. Créer un document de canal d’impression
- 8. Ajouter du contenu aux zones cible
- 9. Configurer le graphique linéaire
- 10. Ajouter un tableau au canal d’impression
- 11. Utiliser un dossier de contrôle pour générer des documents
- 12. Ouvrir l’interface utilisateur de l’agent lors de l’envoi du formulaire
- Enregistrer et récupérer des brouillons de lettres
- Communications interactives
- Utilisation de lʼAPI Batch
- Graphiques multi-séries
- Générer des documents de canal d’impression à partir des données envoyées
- Utilisation des fonctions de réducteur
- Disposition en deux colonnes dans les documents de canal d’impression
- Utilisation du composant Tableau dans le document de canal d’impression AEM Forms
- Génération d’un document de communication interactive pour le canal d’impression à l’aide de dossiers de contrôle
- Personnaliser l’éditeur de texte
- Communication interactive pour canal web
- 1 - Présentation
- 2. Configurer Tomcat
- 3. Créer une source de données
- 4. Créer un modèle de données de formulaire
- 5. Créer un modèle de document de canal web
- 6. Créer un fragment de document
- 7. Créer un document de communication interactive
- 8. Ajouter du texte et des images
- 9. Configurer le graphique linéaire
- 10. Configurer le tableau
- 11. Configurer le graphique à colonnes
- 12. Configurer le graphique en secteurs
- 13. Diffuser le document de canal web
- Diffusion par e-mail d’un document de canal web
- Résolution des problèmes
- Document Services : procédure de dépannage des problèmes liés à DDX
- Document Services : procédure de dépannage des problèmes de conversion PDFA
- Document Services : comment déboguer le problème lié aux polices pour les services Forms et Output
- Document Services : intégration de polices pour les services Forms et Output
- Document Services : activation de la journalisation des performances pour déboguer les services Forms et Output
- Document Services : augmentation du délai d’expiration des transactions pour la conversion de fichiers volumineux
- Document Services : exécution de tests de chargement à l’aide de FormsIVS et OutputIVS
- Document Services : mise à jour des fichiers XDP et de données personnalisés dans FormsIVS et OutputIVS
- Document Services : procédure d’activation de la trace ORB détaillée
- Document Services : procédure d’ajustement de la taille du pool BMC pour XMLFormService part1
- Document Services : procédure d’ajustement de la taille du pool BMC pour XMLFormService part2
- Document Services : procédure d’ajustement des paramètres sur la console JMX
- Activer la fusion de fichiers de données XML volumineux avec un modèle
- PDFG : modification des délais d’expiration des transactions dans PDFG
- PDFG : mise à jour du délai d’expiration CORBA dans PDFG
- PDFG : mise à jour des délais d’expiration dans PDFG
- PDFG : procédure d’ajout d’un utilisateur PDFG dans le serveur Windows 2016
- PDFG : procédure de vérification et d’installation des bibliothèques 32 bits et de leurs dépendances
- PDFG : procédure de vérification de l’autorisation des dossiers sur le serveur Windows 2016
- PDFG : procédure d’activation de Strace sur Unix
- PDFG : procédure d’installation des redistribuables Microsoft Visual C++ 32 bits requis
- PDFG : procédure d’exécution et d’interprétation de la sortie de l’outil System Readiness
- PDFG : procédure de dépannage des problèmes spécifiques à Acrobat
- PDFG : procédure de dépannage des problèmes HtmltoPDF sous Windows
- PDFG : procédure de dépannage des problèmes spécifiques à HtmltoPDF sur Unix (PhantomJS)
- PDFG : procédure de dépannage des problèmes spécifiques à HtmltoPDF sur Unix (conversion WebKit)
- PDFG : procédure de dépannage de la conversion PDFG pour plusieurs utilisateurs et utilisatrices sous Unix
- PDFG : procédure de dépannage de la conversion PDFG pour plusieurs utilisateurs et utilisatrices sous Windows
- PDFG : procédure de dépannage des problèmes spécifiques à OpenOffice sous Unix
- PDFG : procédure de dépannage des problèmes spécifiques à OpenOffice sous Windows
- Document Security : appliquer une politique créée à l’aide du module Document Security dans Acrobat
- User Management : ajouter des utilisateurs et utilisatrices ou des groupes dans AEM Forms JEE
- User Management : augmenter le délai d’expiration de session de User Management
- Workbench : Se connecter à Workbench via HTTPS
- Workbench : recueillir les journaux Workbench à partir du menu d’aide
- Workbench : activer la sortie de débogage pour Workbench
- Workbench : ajuster les paramètres de mémoire de Workbench
- Workbench : ajuster les paramètres de performances de Workbench
- Designer : dépendance de Designer sur C++ Redistributable
- Designer : activer l’aperçu HTML
- Designer : activer l’aperçu PDF
- Designer : installer les correctifs pour Designer
- Concepts de base de JEE : modifier la valeur de l’entropie
- Concepts de base de JEE : modifier le délai d’expiration des transactions d’un service dans AEM Forms JEE
- Concepts de base de JEE : purger les enregistrements de processus du tableau Gestionnaire de tâches
- Concepts de base de JEE : exécuter la purge de processus à partir de la ligne de commande
- Concepts de base de JEE : procédure de Bootstrap manuel
- Concepts de base de JEE : procédure de capture des journaux de débogage pour les formulaires mobiles
- Concepts de base de JEE : procédure de contrôle de l’exception ForcedDisconnectException
- Général : ajouter un utilisateur ou une utilisatrice en charge de la gestion pour JBoss Admin Console
- Général : capturer les journaux HAR
- Général : capturer les vidages de tas d’une JVM sur un serveur Unix
- Général : capturer les vidages de tas d’une JVM sur un serveur Windows
- Général : capturer les journaux réseau
- Général : capturer les vidages de threads d’une JVM sur un serveur Unix
- Général : capturer les vidages de threads d’une JVM sur un serveur Windows
- Général : générer un certificat auto-signé
- Général : effectuer un appel de service Web à partir du formulaire HTML5
- Général : procédure d’activation de la journalisation du débogage pour toutes les classes dans AEM Forms OSGI
- Général : procédure d’activation de la journalisation du débogage pour toutes les classe du serveur d’applications JBOSS
- Général : procédure d’activation de la journalisation du débogage pour toutes les classes du serveur d’applications WebSphere
- Général : procédure d’activation du protocole SSL pour AEM Forms OSGi
- Général : procédure de chiffrement du mot de passe du KeyStore à utiliser dans le fichier lc_turnkey.xml
- Général : procédure de réinitialisation du mot de passe pour les utilisateurs et utilisatrices dans AEM Forms JEE
- Général : procédure de réinitialisation du mot de passe pour les utilisateurs et utilisatrices dans AEM Forms OSGI
- Généralités : procédure de mise en place des localisateurs Gemfire dans un cluster et configuration correspondante