Utilisation du service Assembler

Pour plus d’informations sur le développement de processus qui utilisent ce service, voir l’Aide de Workbench . Pour plus d’informations sur le développement d’applications client qui interagissent de manière programmée avec ce service, voir Programmation avec LiveCycle.

Assemblage de documents PDF

Vous pouvez utiliser le service Assembler pour assembler deux documents PDF ou plus en un seul document PDF ou portfolio PDF. Vous pouvez également appliquer différentes fonctions au document PDF, afin de faciliter la navigation ou d’optimiser la sécurité. Vous pouvez assembler des documents PDF de différentes manières, dont voici quelques exemples :

Assemblage dans un document PDF unique

L’illustration suivante présente la fusion de trois documents source en un seul document cible.

L’exemple suivant représente un document DDX utilisé pour assembler ce document. Il spécifie les noms des documents source à utiliser pour produire le document cible, ainsi que le nom de ce document cible :

<PDF result="Doc4"> 
    <PDF source="Doc1"/> 
    <PDF source="Doc2"/> 
    <PDF source="Doc3"/> 
</PDF>

L’assemblage de documents génère un document cible présentant certaines caractéristiques et contenant les éléments suivants :

  • totalité ou partie de chacun des documents source ;

  • totalité ou partie des signets de chacun des documents source, normalisés pour le document cible assemblé ;

  • autres caractéristiques adoptées à partir du document de base (Doc1), telles que les métadonnées, les intitulés de page et la taille des pages ;

  • le document produit peut inclure une table des matières générée à partir des signets présents dans les documents source (facultatif).

Création d’un portfolio PDF

Le service Assembler peut créer des portfolios PDF contenant un ensemble de documents et une interface utilisateur autonome. Cette interface est appelée Interface de portfolio PDF ou Navigateur de portfolio PDF (navigateur). Les portfolios PDF élargissent les capacités des packages PDF en ajoutant un navigateur, des dossiers et des pages d’accueil. L’interface améliore l’expérience de l’utilisateur, qui peut profiter des chaînes de texte localisées, des schémas de couleurs et des ressources graphiques personnalisées. Le portfolio PDF peut également contenir des dossiers pour organiser les fichiers du portfolio.

Lorsque le service Assembler interprète le document DDX suivant, il assemble un portfolio PDF qui inclut un navigateur de portfolio PDF et un package contenant deux fichiers. Le service récupère le navigateur à l’emplacement indiqué par la source myNavigator. Il change le schéma de couleur par défaut du navigateur, le remplaçant par pinkScheme.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <PDF result="Untitled 1"> 
       <Portfolio> 
         <Navigator source="myNavigator"/> 
         <ColorScheme scheme="pinkScheme"/> 
       </Portfolio> 
       <PackageFiles> 
         <PDF source="sourcePDF1"/> 
         <PDF source="sourcePDF2"/> 
       </PackageFiles> 
     </PDF> 
</DDX>

Assemblage de documents chiffrés

Lors de l’assemblage d’un document, vous pouvez également chiffrer le document PDF avec un mot de passe. Après le chiffrement d’un document PDF avec un mot de passe, l’utilisateur doit spécifier un mot de passe pour l’afficher dans Adobe Reader ou Acrobat. Pour chiffrer un document PDF avec un mot de passe, le document DDX doit contenir les valeurs d’élément de chiffrement requises.

Il n’est pas nécessaire que le service Encryption fasse partie de votre installation LiveCycle pour chiffrer un document PDF avec un mot de passe.

Si un ou plusieurs des documents d’entrée sont chiffrés, vous devez fournir un mot de passe pour ouvrir ce ou ces documents dans le DDX.

Assemblage de documents à l’aide de la numérotation Bates

Lors de l’assemblage d’un document, vous pouvez utiliser la numérotation Bates pour affecter un identifiant de page unique à chaque page. Avec la numérotation Bates, à chaque page du document (ou de l’ensemble de documents) correspond un numéro qui identifie la page de manière unique. Par exemple, des documents d’entreprise contenant une nomenclature et liés à la production d’un assemblage peuvent contenir un identifiant. Un numéro Bates contient une valeur numérique incrémentée séquentiellement et optionnellement un préfixe et un suffixe. L’ensemble préfixe + valeur numérique + suffixe est appelé modèle Bates.

L’illustration suivante présente un document PDF contenant un identifiant unique, situé dans l’en-tête du document.

Aplatissement et assemblage de documents

Vous pouvez utiliser le service Assembler pour transformer un document PDF interactif (par exemple, un formulaire) en document PDF non interactif. Un document PDF interactif permet aux utilisateurs de saisir ou de modifier des données contenues dans les champs de ce document. Le processus de transformation d’un document PDF interactif en document PDF non interactif est appelé aplatissement. Lors de l’aplatissement, les champs des formulaires gardent leur apparence graphique mais ne sont plus interactifs. S’assurer que les données ne peuvent être modifiées est l’une des raisons de l’aplatissement d’un document PDF. De plus, les scripts associés aux champs ne fonctionnent plus.

Lorsque vous créez un document PDF assemblé à partir de documents PDF interactifs, le service Assembler aplatit les formulaires avant de les assembler en un même document.

Remarque : le service Assembler utilise le service Output pour aplatir les formulaires XFA dynamiques. Si le service Assembler traite un DDX ayant besoin qu’il aplatisse un formulaire XFA dynamique et que le service Output n’est pas disponible, une exception est générée. Le service Assembler peut aplatir un formulaire ou un formulaire XFA statique sans utiliser le service Output.

Assemblage de documents XDP

Vous pouvez utiliser le service Assembler pour assembler un ou plusieurs documents XDP en un document PDF ou XDP unique. Pour les fichiers XDP source incluant des points d’insertion, vous pouvez indiquer les fragments à insérer.

Vous pouvez assembler des documents XDP de différentes manières, dont voici quelques exemples :

Assemblage d’un document XDP unique

L’illustration suivante présente la fusion de trois documents XDP source en un seul document XDP cible. Le document XDP produit contient les trois documents XDP source, ainsi que les données connexes. Le document cible récupère les attributs de base du document d’origine (premier document XDP source).

Voici le document DDX produisant la sortie illustrée ci-dessus.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <XDP result="MyXDPResult"> 
       <XDP source="sourceXDP1"/> 
       <XDP source="sourceXDP2"/> 
       <XDP source="sourceXDP3"/> 
     </XDP> 
</DDX>

Résolution des références pendant l’assemblage

Habituellement, les documents XDP peuvent contenir des images référencées par le biais de références absolues ou relatives. Le service Assembler conserve par défaut les références aux images dans le document XDP cible.

Vous pouvez spécifier la manière dont le service Assembler gère les images référencées dans les documents XDP source, par le biais de références absolues ou relatives dans les fichiers XDP lors de l’assemblage. Vous pouvez choisir d’incorporer toutes les images dans la cible, de sorte qu’elle ne contienne aucune référence absolue ou relative. Ce paramètre est défini en spécifiant la valeur de la balise resolveAssets, qui peut correspondre à l’une des options suivantes. Par défaut, aucune référence n’est résolue dans le document cible.

Valeur

Description

none

Aucune référence résolue.

all

Incorpore toutes les images référencées dans le document XDP source.

relative

Incorpore toutes les images référencées à l’aide de références relatives dans le document XDP source.

absolute

Incorpore toutes les images référencées à l’aide de références absolues dans le document XDP source.

Vous pouvez spécifier la valeur de l’attribut resolveAssets dans la balise XDP source ou dans la balise XDP cible parente. Si l’attribut est spécifié pour la balise XDP cible, il est hérité par tous les éléments XDP source qui sont des enfants de la cible XDP. Toutefois, le fait de spécifier de façon explicite l’attribut pour un élément source remplace le paramètre de l’élément cible pour ce document source uniquement.

Résolution de toutes les références source dans un document XDP

Pour résoudre toutes les références dans les documents XDP source, définissez l’attribut resolveAssets pour le document cible sur all, comme dans l’exemple ci-dessous :

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="all"> 
        <XDP source="input1.xdp" />     
        <XDP source="input2.xdp" /> 
        <XDP source="input3.xdp" /> 
    </XDP> 
</DDX>

Vous pouvez également spécifier l’attribut séparément pour tous les documents XDP source, pour obtenir le même résultat.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp"> 
        <XDP source="input1.xdp" resolveAssets="all"/> 
        <XDP source="input2.xdp" resolveAssets="all"/> 
        <XDP source="input3.xdp" resolveAssets="all"/> 
    </XDP> 
</DDX>

Résolution de références source sélectionnées dans un document XDP

Vous pouvez spécifier de manière sélective les références source à résoudre en définissant leur attribut resolveAssets. Les attributs pour les différents documents source remplacent le paramètre du document XDP cible. Dans cet exemple, les fragments inclus sont également résolus.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="all"> 
        <XDP source="input1.xdp" > 
            <XDPContent source="fragment.xdp" insertionPoint="MyInsertionPoint" 
            fragment="myFragment"/> 
        </XDP> 
        <XDP source="input2.xdp" /> 
    </XDP> 
</DDX>

Résolution sélective de références absolues ou relatives

Vous pouvez résoudre de manière sélective les références absolues ou relatives dans tout ou partie des documents source, comme indiqué dans l’exemple ci-dessous :

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="absolute"> 
        <XDP source="input1.xdp" /> 
        <XDP source="input2.xdp" /> 
    </XDP> 
</DDX>

Insertion dynamique de fragments de formulaire dans un formulaire XFA

Vous pouvez utiliser le service Assembler pour créer un formulaire XFA à partir d’un autre formulaire XFA, dans lequel des fragments ont été insérés. Cette fonction vous permet d’utiliser des fragments pour créer plusieurs formulaires.

L’insertion dynamique des fragments de formulaire étant prise en charge, le contrôle du code source unique est possible. Il vous suffit de disposer d’une source unique pour les composants les plus couramment utilisés. Par exemple, vous pouvez créer un fragment pour la bannière de votre entreprise. Si cette dernière change, vous n’aurez qu’à modifier le fragment. Les autres formulaires incluant ce fragment ne seront pas altérés.

Les concepteurs de formulaires utilisent Designer pour créer des fragments de formulaire. Ces fragments sont appelés sous-formulaires dans un formulaire XFA. Via Designer, les concepteurs de formulaires peuvent également créer des formulaires XFA présentant des points d’insertion dont le nom est unique. En tant que programmeur, vous pouvez rédiger des documents DDX définissant le mode d’insertion des fragments dans le formulaire XFA.

L’illustration suivante représente deux formulaires XML (modèles XFA). Le formulaire placé à gauche contient un point d’insertion appelé myInsertionPoint. Celui de droite inclut un fragment appelé myFragment.

Lorsque le service Assembler interprète le document DDX suivant, il crée un formulaire XML contenant un autre formulaire XML. Le sous-formulaire appelé myFragment du document myFragmentSource est inséré au niveau du point d’insertion myInsertionPoint du document myFormSource.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <XDP result="myFormResult"> 
       <XDP source="myFormSource"> 
        <XDPContent fragment="myFragment" insertionPoint="myInsertionPoint" 
        source="myFragmentSource"/> 
       </XDP> 
     </XDP> 
</DDX>

Conversion d’un document XDP en document PDF

Vous pouvez utiliser le service Assembler pour convertir un document XDP en document PDF, comme le montre ce document DDX.

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <PDF result="Untitled 1" encryption="passEncProfile1"> 
       <XDP> 
        <XDP source="sourceXDP3"/> 
        <XDP source="sourceXDP4"/> 
       </XDP> 
     </PDF> 
</DDX>

Désassemblage de documents PDF

Vous pouvez utiliser le service Assembler pour désassembler un document PDF. Ce service peut extraire des pages du document source ou diviser un document source en fonction de signets. Cette tâche est particulièrement utile lorsque le document PDF d’origine a été créé à partir de plusieurs documents séparés, par exemple un ensemble d’articles.

Extraction de pages d’un document source

Dans l’illustration ci-après, les pages 1 à 3 sont extraites du document source, puis insérées dans un nouveau document cible.

L’exemple suivant représente un document DDX utilisé pour désassembler ce document.

<PDF result="Doc4"> 
    <PDF source="Doc2" pages="1-3"/> 
</PDF>

Division d’un document source en fonction de signets

Dans l’illustration suivante, le document DocA est divisé en plusieurs documents cible. Le signet de niveau 1 d’une page identifie le début d’un nouveau document cible.

L’exemple suivant représente un document DDX qui utilise des signets pour désassembler un document source.

<PDFsFromBookmarks prefix="A"> 
    <PDF source="DocA"/> 
</PDFsFromBookmarks>

Vérification de la compatibilité PDF/A des documents

Vous pouvez utiliser le service Assembler pour déterminer si un document PDF est compatible PDF/A. PDF/A est un format d’archivage, prévu pour la conservation sur le long terme du contenu d’un document. Les polices sont incorporées dans le document et le fichier est décompressé. Par conséquent, un document PDF/A est généralement plus volumineux qu’un document PDF standard. De plus, un document PDF/A ne contient aucune donnée audio et vidéo.

Obtention d’informations sur un document PDF

Vous pouvez utiliser le service Assembler pour obtenir les informations suivantes concernant un document PDF :

  • Informations sur le texte.

    • Nombre de mots sur chaque page du document.

    • Emplacement de chaque mot sur chaque page du document.

    • Nombre de phrases dans chaque paragraphe, sur chaque page du document.

  • Nombre de signets (incluant le numéro de la page, son titre, sa destination et son apparence). Vous pouvez exporter ces données depuis un document PDF, puis les importer dans un autre document au même format.

  • Pièces jointes, y compris les informations sur les fichiers. Pour les pièces jointes au niveau des pages, l’emplacement de l’annotation de pièce jointe est également fourni. Vous pouvez exporter ces données depuis un document PDF, puis les importer dans un autre document au même format.

  • Les fichiers de package, y compris les informations sur les fichiers, dossiers, packages, schémas et données de champ. Vous pouvez exporter ces données depuis un document PDF, puis les importer dans un autre document au même format.

Validation de documents DDX

Vous pouvez utiliser le service Assembler pour déterminer si un document DDX est valide. Par exemple, si vous avez effectué une mise à niveau depuis une version précédente de LiveCycle, vous pouvez vérifier la validité du document DDX par ce biais.

Appel d’autres services

Vous pouvez utiliser des documents DDX pour que le service Assembler appelle les services LiveCycle suivants. Le service Assembler peut uniquement appeler les services installés via LiveCycle.

Service Reader Extensions :
permet aux utilisateurs Adobe Reader de signer numériquement le document PDF cible.

Service Forms :
fusionne un fichier XDP et un fichier de données XML pour créer un document PDF contenant le formulaire interactif rempli.

Service Output :
convertit un formulaire XML dynamique en document PDF contenant un formulaire non interactif (aplatit le formulaire). Le service Assembler aplatit les formulaires XML statiques et les formulaires Acrobat sans appeler le service Output. Vous pouvez indiquer :

Service DocConverter :
convertit un document PDF en document PDF/A.

Service Generate PDF :
convertit des formats de fichier natifs en PDF. Exemples de formats de fichier natifs : Microsoft Word, Microsoft Excel et HTML.

Service Distiller :
convertit un document PostScript en document PDF.

Les documents DDX décrivent les caractéristiques des documents PDF cible. Ils ne fournissent pas d’appels explicites aux services disponibles dans LiveCycle. Lorsque le service interprète certains éléments DDX, il détermine s’il doit appeler d’autres services pour atteindre le résultat indiqué dans le document DDX. Par exemple, lorsque le service Assembler interprète un fichier source PDF définissant un fichier non PDF, il appelle le service Generate PDF pour convertir ce fichier en PDF. De même, lorsque le service Assembler interprète un fichier PDF source contenant un formulaire XML (formulaire XFA) et des données de formulaires XML séparées, il appelle le service Forms pour fusionner les données dans le formulaire XML.

Les exemples DDX suivants combinent deux documents PDF et permettent aux utilisateurs d’Adobe Reader de signer numériquement le document PDF obtenu. L’élément ReaderRights dans l’élément PDF obtenu active les droits d’utilisation d’Adobe Reader.

<?xml version="1.0" encoding="UTF-8"?> 
<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <PDF result="outDoc"> 
        <PDF source="doc1"/> 
        <PDF source="doc2"/> 
        <ReaderRights 
            credentialAlias="LCESCred" 
            digitalSignatures="true"/> 
    </PDF> 
</DDX>

L’utilisation de DDX et du service Assembler pour appeler d’autres services LiveCycle peut simplifier votre schéma de processus. Il se peut même que cela réduise l’effort de personnalisation de vos flux de production (voir aussi Références du service Assembler et du DDX).

Utilisation d’Assembler IVS pour vérifier les documents DDX

Assembler IVS (Assembler Installation and Verification Sample) est une application exemple destinée à vérifier des documents DDX sans avoir à modifier de processus Workbench. Elle fournit un éditeur pour la création et la modification des documents DDX (au format XML) et pour la création d’un aperçu du résultat représenté par le document DDX. Assembler IVS inclut également les exemples suivants illustrant différents concepts DDX :

  • Assemblage d’un document

  • Désassemblage d’un document à l’aide de signets et de pages

  • Création d’un package PDF

  • Obtention des métadonnées et du contenu à partir d’un document PDF

Assembler IVS utilise le service Invoke DDX du service Assembler.

Remarque : la fonction Document Builder de Workbench est le meilleur moyen de créer et de tester des documents DDX. Document Builder fournit une interface utilisateur intuitive pour la création de documents DDX. Il vous permet de créer et de vérifier des documents DDX sans avoir à utiliser directement le format XML.

Vous devez déployer Assembler IVS avant de pouvoir l’utiliser. Les administrateurs peuvent utiliser Configuration Manager pour déployer Assembler IVS. Ils peuvent également le déployer manuellement (voir le document d’installation spécifique à votre serveur d’applications, à la page Documentation de LiveCycle).

Pour démarrer l’application Assembler IVS, accédez à l’adresse http://[nom_serveur:numéro_port]/Assembler.

Voici la procédure à suivre pour tester un document DDX :

  1. Définissez le DDX en copiant votre document DDX dans la grande fenêtre. Vous pouvez également utiliser un des documents DDX disponibles en cliquant sur DDX ou sur Démos, en haut de la fenêtre.

  2. Indiquez les fichiers d’entrée en cliquant sur le bouton plus (+) à côté du panneau Collatéral. Cette interface possède un champ qui vous permet de naviguer jusqu’au fichier. Cliquez sur ce bouton pour chaque fichier utilisé comme élément collatéral.

  3. Indiquez les fichiers d’entrée en cliquant sur le bouton plus (+) à côté du panneau de mise en correspondance des entrées. Si besoin, modifiez le nom des entrées de la mise en correspondance pour faire correspondre les noms source dans votre document DDX. Cliquez sur ce bouton pour chaque entrée dans le mappage de document.

  4. Associez les fichiers d’entrée aux entrées de mise en correspondance en faisant glisser chaque fichier dans l’une des entrées de mise en correspondance. Vous pouvez utiliser le même fichier plusieurs fois avec des entrées de mise en correspondance différentes. Vous pouvez également placer plusieurs fichiers d’entrée dans la même entrée de mise en correspondance.

  5. Appelez Assembler IVS en cliquant sur Appeler.

Si Assembler IVS crée le document PDF sans erreur, il affiche le résultat dans une nouvelle fenêtre du navigateur. En cas d’échec, il fournit des détails sur l’erreur.