Vous pouvez déterminer si un document de PDF est compatible avec le PDF/A à l’aide du service Assembler. Il existe un document PDF/A comme format d’archivage destiné à la conservation à long terme du contenu du 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.
La spécification PDF/A-1 se compose de deux niveaux de conformité, à savoir A et B. La principale différence entre les deux niveaux est la prise en charge de la structure logique (accessibilité), qui n’est pas requise pour le niveau de conformité B. Quel que soit le niveau de conformité, PDF/A-1 exige que toutes les polices soient incorporées dans le document PDF/A généré. Actuellement, seul PDF/A-1b est pris en charge dans la validation (et la conversion).
Dans le cadre de cette discussion, supposons que le document DDX suivant soit utilisé.
<?xml version="1.0" encoding="UTF-8"?>
<DDX xmlns="https://ns.adobe.com/DDX/1.0/">
<DocumentInformation source="Loan.pdf" result="Loan_result.xml">
<PDFAValidation compliance="PDF/A-1b" resultLevel="Detailed" ignoreUnusedResources="true" allowCertificationSignatures="true" />
</DocumentInformation>
</DDX>
Dans ce document DDX, la variable DocumentInformation
indique au service Assembler de renvoyer des informations sur le document du PDF d’entrée. Dans le DocumentInformation
, l’élément PDFAValidation
indique au service Assembler d’indiquer si le document du PDF d’entrée est compatible avec le PDF/A.
Le service Assembler renvoie des informations spécifiant si le document du PDF d’entrée est compatible avec le PDF/A dans un document XML contenant une PDFAConformance
élément . Si le document du PDF d’entrée est compatible avec le PDF/A, la valeur de la variable PDFAConformance
élément isCompliant
attribute is true
. Si le document du PDF n’est pas conforme à la norme PDF/A, la valeur de la variable PDFAConformance
élément isCompliant
attribute is false
.
Parce que le document DDX spécifié dans cette section contient une DocumentInformation
, le service Assembler renvoie des données XML au lieu d’un document de PDF. En d’autres termes, le service Assembler n’assemble ni ne désassemble un document PDF ; elle renvoie des informations sur le document du PDF d’entrée dans un document XML.
Pour plus d’informations sur le service Assembler, voir Référence des services pour AEM Forms.
Pour plus d’informations sur un document DDX, voir Guide de référence du service Assembler et de DDX.
Pour déterminer si un document de PDF est compatible avec le PDF/A, effectuez les tâches suivantes :
Inclure les fichiers de projet
Incluez les fichiers nécessaires dans votre projet de développement. Si vous créez une application cliente à l’aide de Java, incluez les fichiers JAR nécessaires. Si vous utilisez des services Web, veillez à inclure les fichiers proxy.
Les fichiers JAR suivants doivent être ajoutés au chemin de classe de votre projet :
si AEM Forms est déployé sur un serveur d’applications J2EE pris en charge autre que JBoss, vous devez remplacer les fichiers adobe-utility.jar et jbossall-client.jar par des fichiers JAR spécifiques au serveur d’applications J2EE sur lequel AEM Forms est déployé. Pour plus d’informations sur l’emplacement de tous les fichiers JAR AEM Forms, voir Inclusion de fichiers de bibliothèque Java AEM Forms.
Création d’un client Assembler PDF
Avant d’effectuer une opération Assembler par programmation, vous devez créer un client de service Assembler.
Référence à un document DDX existant
Un document DDX doit être référencé pour effectuer une opération de service Assembler. Pour déterminer si un document de PDF d’entrée est compatible avec le PDF/A, assurez-vous que le document DDX contient la variable PDFAValidation
dans un élément DocumentInformation
élément . Le PDFAValidation
indique au service Assembler de renvoyer un document XML spécifiant si le document du PDF d’entrée est compatible avec le PDF/A.
Référencer un document de PDF utilisé pour déterminer la conformité du PDF/A
Un document de PDF doit être référencé et transmis au service Assembler pour déterminer si le document de PDF est compatible avec le PDF/A.
Définition des options d’exécution
Vous pouvez définir des options d’exécution qui contrôlent le comportement du service Assembler lorsqu’il effectue une tâche. Par exemple, vous pouvez définir une option qui indique au service Assembler de continuer à traiter une tâche en cas d’erreur. Pour plus d’informations sur les options d’exécution que vous pouvez définir, voir AssemblerOptionSpec
référence de classe dans Référence de l’API AEM Forms.
Récupération d’informations sur le document du PDF
Après avoir créé le client de service Assembler, référencé le document DDX, référencé un document de PDF interactif et défini les options d’exécution, vous pouvez appeler la méthode invokeDDX
opération. Parce que le document DDX contient le DocumentInformation
, le service Assembler renvoie des données XML au lieu d’un document de PDF.
Enregistrement du document XML renvoyé
Le document XML renvoyé par le service Assembler indique si le document du PDF d’entrée est compatible avec le PDF/A. Par exemple, si le document du PDF d’entrée n’est pas conforme à la norme PDF/A, le service Assembler renvoie un document XML contenant l’élément suivant :
<PDFAConformance isCompliant="false" compliance="PDF/A-1b" resultLevel="Detailed" ignoreUnusedResources="true" allowCertificationSignatures="true">
Enregistrez le document XML en tant que fichier XML afin que vous puissiez ouvrir le fichier et visualiser les résultats.
Voir également
Déterminer si un document est compatible avec le PDF/A à l’aide de l’API Java
Déterminer si un document est compatible avec le PDF/A à l’aide de l’API du service Web
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Assemblage par programmation de documents PDF
Déterminez si un document de PDF est compatible avec le PDF/A à l’aide de l’API Assembler Service (Java) :
Inclure les fichiers de projet.
Incluez les fichiers JAR client, tels que adobe-assembler-client.jar, dans le chemin d’accès à la classe de votre projet Java.
Créez un client Assembler de PDF.
ServiceClientFactory
qui contient des propriétés de connexion.AssemblerServiceClient
en utilisant son constructeur et en transmettant l’objet ServiceClientFactory
.Référencez un document DX existant.
java.io.FileInputStream
qui représente le document DDX en utilisant son constructeur et en transmettant une valeur string qui spécifie l’emplacement du fichier DDX. Pour déterminer si le document du PDF est compatible avec le PDF/A, assurez-vous que le document DDX contient la variable PDFAValidation
élément contenu dans un DocumentInformation
élément .com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objet java.io.FileInputStream
.Référencez un document de PDF utilisé pour déterminer la conformité du PDF/A.
Créez un java.io.FileInputStream
en utilisant son constructeur et en transmettant l’emplacement d’un document de PDF utilisé pour déterminer la conformité du PDF/A.
Créez un com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objet java.io.FileInputStream
contenant le document du PDF.
Créez un java.util.Map
objet utilisé pour stocker le document du PDF d’entrée à l’aide d’un HashMap
constructeur.
Ajoutez une entrée au java.util.Map
en appelant son objet put
et transmission des arguments suivants :
com.adobe.idp.Document
contenant le document du PDF d’entrée.Définissez les options d’exécution.
AssemblerOptionSpec
qui stocke les options d’exécution en utilisant son constructeur.AssemblerOptionSpec
. Par exemple, pour demander au service Assembler de continuer à traiter une tâche en cas d’erreur, appelez la fonction AssemblerOptionSpec
de setFailOnError
méthode et transmission false
.Récupérez des informations sur le document du PDF.
Appeler la variable AssemblerServiceClient
de invokeDDX
et transmettez les valeurs requises suivantes :
com.adobe.idp.Document
objet représentant le document DDX à utiliserjava.util.Map
qui contient le fichier de PDF d’entrée utilisé pour déterminer la conformité du PDF/Acom.adobe.livecycle.assembler.client.AssemblerOptionSpec
qui spécifie les options d’exécutionLe invokeDDX
renvoie une com.adobe.livecycle.assembler.client.AssemblerResult
qui contient des données XML spécifiant si le document du PDF d’entrée est compatible avec PDF/A.
Enregistrez le document XML renvoyé.
Pour obtenir des données XML qui spécifient si le document du PDF d’entrée est un document du PDF/A, effectuez les actions suivantes :
AssemblerResult
de getDocuments
. Cette fonction renvoie une java.util.Map
.java.util.Map
jusqu’à ce que vous trouviez le résultat com.adobe.idp.Document
.com.adobe.idp.Document
de copyToFile
pour extraire le document XML. Veillez à enregistrer les données XML sous forme de fichier XML.Voir également
Démarrage rapide (mode SOAP) : Déterminer si un document est compatible avec le PDF/A à l’aide de l’API Java (mode SOAP)
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Déterminez si un document de PDF est compatible avec le PDF/A à l’aide de l’API Assembler Service (service Web) :
Inclure les fichiers de projet.
Créez un projet Microsoft .NET qui utilise MTOM. Assurez-vous d’utiliser la définition WSDL suivante : http://localhost:8080/soap/services/AssemblerService?WSDL&lc_version=9.0.1
.
Remplacer localhost
avec l’adresse IP du serveur hébergeant AEM Forms.
Créez un client Assembler de PDF.
Créez un AssemblerServiceClient
en utilisant son constructeur par défaut.
Créez un AssemblerServiceClient.Endpoint.Address
en utilisant l’objet System.ServiceModel.EndpointAddress
constructeur. Transmettez une valeur string qui spécifie le WSDL au service AEM Forms (par exemple, http://localhost:8080/soap/services/AssemblerService?blob=mtom
). Vous n’avez pas besoin d’utiliser la variable lc_version
attribut. Cet attribut est utilisé lorsque vous créez une référence de service.)
Créez un System.ServiceModel.BasicHttpBinding
en obtenant la valeur de la variable AssemblerServiceClient.Endpoint.Binding
champ . Convertissez la valeur de retour en BasicHttpBinding
.
Définissez la variable System.ServiceModel.BasicHttpBinding
de MessageEncoding
champ à WSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM.
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
AssemblerServiceClient.ClientCredentials.UserName.UserName
.AssemblerServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
au champ BasicHttpBindingSecurity.Transport.ClientCredentialType
.BasicHttpSecurityMode.TransportCredentialOnly
au champ BasicHttpBindingSecurity.Security.Mode
.Référencez un document DX existant.
BLOB
en utilisant son constructeur. Le BLOB
est utilisé pour stocker le document DX.System.IO.FileStream
en appelant son constructeur et en transmettant une valeur string qui représente l’emplacement du fichier du document DDX et le mode d’ouverture du fichier.System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la variable System.IO.FileStream
de Length
.System.IO.FileStream
de Read
et transmission du tableau d’octets, de la position de départ et de la longueur du flux à lire.BLOB
en attribuant ses MTOM
avec le contenu du tableau d’octets.Référencez un document de PDF utilisé pour déterminer la conformité du PDF/A.
BLOB
en utilisant son constructeur. Le BLOB
sert à stocker le document du PDF d’entrée.System.IO.FileStream
en appelant son constructeur et en transmettant une valeur string qui représente l’emplacement du fichier du document du PDF d’entrée et le mode d’ouverture du fichier.System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la variable System.IO.FileStream
de Length
.System.IO.FileStream
de Read
et transmission du tableau d’octets, de la position de départ et de la longueur du flux à lire.BLOB
en attribuant ses MTOM
avec le contenu du tableau d’octets.MyMapOf_xsd_string_To_xsd_anyType
. Cet objet de collection est utilisé pour stocker le document du PDF.MyMapOf_xsd_string_To_xsd_anyType_Item
.MyMapOf_xsd_string_To_xsd_anyType_Item
de key
champ . Cette valeur doit correspondre à la valeur de l’élément source PDF spécifié dans le document DDX.BLOB
qui stocke le document du PDF dans la propriété MyMapOf_xsd_string_To_xsd_anyType_Item
de value
champ .MyMapOf_xsd_string_To_xsd_anyType_Item
vers l’objet MyMapOf_xsd_string_To_xsd_anyType
. Appeler la variable MyMapOf_xsd_string_To_xsd_anyType
object' Add
et transmettez la méthode MyMapOf_xsd_string_To_xsd_anyType
.Définissez les options d’exécution.
AssemblerOptionSpec
qui stocke les options d’exécution en utilisant son constructeur.AssemblerOptionSpec
. Par exemple, pour demander au service Assembler de continuer à traiter une tâche en cas d’erreur, affectez false
au AssemblerOptionSpec
de failOnError
membre de données.Récupérez des informations sur le document du PDF.
Appeler la variable AssemblerServiceService
de invoke
et transmettez les valeurs suivantes :
BLOB
qui représente le document DDX.MyMapOf_xsd_string_To_xsd_anyType
contenant le document du PDF d’entrée. Ses clés doivent correspondre aux noms des fichiers source du PDF et ses valeurs doivent être les suivantes : BLOB
qui correspond au fichier du PDF d’entrée.AssemblerOptionSpec
qui spécifie les options d’exécution.Le invoke
renvoie une AssemblerResult
qui contient des données XML spécifiant si le document du PDF d’entrée est un document PDF/A.
Enregistrez le document XML renvoyé.
Pour obtenir des données XML qui spécifient si le document du PDF d’entrée est un document du PDF/A, effectuez les actions suivantes :
AssemblerResult
de documents
, qui est un Map
contenant les données XML qui spécifient si le document du PDF d’entrée est un document PDF/A.Map
pour obtenir chaque document généré. Convertissez ensuite la valeur de ce membre de tableau en une BLOB
.BLOB
de MTOM
champ . Ce champ stocke un tableau d’octets que vous pouvez écrire dans en tant que fichier XML.Voir également
Appel d’AEM Forms à l’aide de MTOM