Ajouter des champs de signature
Les signatures numériques apparaissent dans les champs de signature qui sont des champs de formulaire contenant une représentation graphique de la signature. Les champs de signature peuvent être visibles ou invisibles. Les signataires peuvent utiliser un champ de signature existant ou l’ajout d’un champ de signature peut être programmé. Dans les deux cas, le champ de signature doit exister avant la signature du document PDF.
Vous pouvez programmer l’ajout d’un champ de signature à l’aide de l’API Java du service Signature ou de l’API du service Web de signature. Vous pouvez ajouter plusieurs champs de signature à un document PDF. Cependant, chaque nom de champ de signature doit être unique.
Résumé des étapes
Pour ajouter un champ de signature à un document PDF, effectuez les tâches suivantes :
- Incluez les fichiers de projet.
- Créez un client Signature.
- Obtenir un document PDF auquel un champ de signature est ajouté.
- Ajouter un champ de signature.
- Enregistrez le document PDF au format PDF.
Inclure des 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.
Vous devez ajouter les fichiers JAR suivants au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utility.jar (obligatoire si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (obligatoire si AEM Forms est déployé sur JBoss)
Créer un client Signature
Avant d’effectuer par programmation une opération du service Signature, vous devez créer un client du service Signature.
Obtenir un document PDF auquel un champ de signature est ajouté
Obtenir un document PDF auquel un champ de signature est ajouté.
Ajouter un champ de signature
Pour ajouter avec succès un champ de signature à un document PDF, spécifiez des valeurs de coordonnées qui identifient l’emplacement du champ de signature. (Si vous ajoutez un champ de signature invisible, ces valeurs ne sont pas requises.) En outre, vous pouvez spécifier les champs du document PDF qui sont verrouillés après l’apposition d’une signature dans le champ de signature.
Enregistrer le document PDF en tant que fichier PDF
Une fois que le service Signature a ajouté un champ de signature au document PDF, vous pouvez enregistrer le document en tant que fichier PDF afin que les utilisateurs puissent l’ouvrir dans Acrobat ou Adobe Reader.
Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Ajouter des champs de signature à l’aide de l’API Java
Ajoutez un champ de signature à l’aide de l’API Signature (Java) :
-
Inclure les fichiers du projet
Incluez les fichiers clients JAR, tels que adobe-signatures-client.jar, dans le chemin d’accès aux classes de votre projet Java.
-
Créer une Signature client
- Créez un objet
ServiceClientFactory
qui contient des propriétés de connexion. - Créez un objet
SignatureServiceClient
en utilisant son constructeur et en transmettant l’objetServiceClientFactory
.
- Créez un objet
-
Obtenir un document PDF auquel un champ de signature est ajouté
- Créez un objet
java.io.FileInputStream
représentant le document PDF auquel un champ de signature est ajouté en utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du document PDF. - Créez un objet
com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objetjava.io.FileInputStream
.
- Créez un objet
-
Ajouter un champ de signature
-
Créez un objet
PositionRectangle
spécifiant l’emplacement du champ de signature à l’aide de son constructeur. Dans le constructeur, spécifiez des valeurs de coordonnée. -
Si vous le souhaitez, créez un objet
FieldMDPOptions
spécifiant les champs verrouillés lorsqu’une signature numérique est appliquée au champ de signature. -
Ajoutez un champ de signature à un document PDF en appelant la méthode
addSignatureField
de l’objetSignatureServiceClient
et en transmettant les valeurs suivantes :- A
com.adobe.idp
. ObjetDocument
représentant le document PDF auquel un champ de signature est ajouté. - Valeur de chaîne spécifiant le nom du champ de signature.
- Valeur
java.lang.Integer
représentant le numéro de page auquel un champ de signature est ajouté. - Objet
PositionRectangle
spécifiant l’emplacement du champ de signature. - Objet
FieldMDPOptions
spécifiant les champs du document PDF verrouillés après l’application d’une signature numérique au champ de signature. Cette valeur de paramètre est facultative et vous pouvez transmettrenull
.
- A
-
Objet
PDFSeedValueOptions
spécifiant différentes valeurs de temps d’exécution. Cette valeur de paramètre est facultative et vous pouvez transmettrenull
.La méthode
addSignatureField
renvoie un objetcom.adobe.idp
. ObjetDocument
représentant un document PDF contenant un champ de signature.
REMARQUE
Vous pouvez appeler la méthodeaddInvisibleSignatureField
de l’objetSignatureServiceClient
pour ajouter un champ de signature invisible. -
-
Enregistrer le document PDF en tant que fichier PDF
- Créez un objet
java.io.File
et assurez-vous que l’extension du fichier est .pdf. - Appelez l’objet
com.adobe.idp
. Appelez la méthodecopyToFile
de l’objetDocument
pour copier le contenu de l’objetDocument
dans le fichier. Veillez à utiliser l’objetcom.adobe.idp
. ObjetDocument
qui a été renvoyé par la méthodeaddSignatureField
.
- Créez un objet
Voir également
Ajouter des champs de signature à l’aide de l’API de service web
Pour ajouter un champ de signature à l’aide de l’API Signature (service web) :
-
Inclure les fichiers du projet
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante :
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.REMARQUE
Remplacezlocalhost
par l’adresse IP du serveur hébergeant AEM Forms. -
Créer une Signature client
-
Créez un objet
SignatureServiceClient
en utilisant son constructeur par défaut. -
Créez un objet
SignatureServiceClient.Endpoint.Address
en utilisant le constructeurSystem.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple,http://localhost:8080/soap/services/SignatureService?WSDL
). Vous n’avez pas besoin d’utiliser l’attributlc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.) -
Créez un objet
System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champSignatureServiceClient.Endpoint.Binding
. Convertissez la valeur de retour enBasicHttpBinding
. -
Définissez le champ
MessageEncoding
de l’objetSystem.ServiceModel.BasicHttpBinding
surWSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM. -
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
- Attribuez le nom d’utilisateur AEM forms au champ
SignatureServiceClient.ClientCredentials.UserName.UserName
. - Attribuez la valeur de mot de passe correspondante au champ
SignatureServiceClient.ClientCredentials.UserName.Password
. - Attribuez la valeur constante
HttpClientCredentialType.Basic
au champBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Affectez la valeur constante
BasicHttpSecurityMode.TransportCredentialOnly
au champBasicHttpBindingSecurity.Security.Mode
.
- Attribuez le nom d’utilisateur AEM forms au champ
-
-
Obtenir un document PDF auquel un champ de signature est ajouté
- Créez un objet
BLOB
en utilisant son constructeur. L’objetBLOB
sert à stocker le document PDF qui contiendra un champ de signature. - Créez un objet
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne qui représente l’emplacement de fichier du document PDF et le mode d’ouverture du fichier - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLength
de l’objetSystem.IO.FileStream
. - Renseignez le tableau d’octets avec les données de diffusion en appelant la méthode
Read
de l’objetSystem.IO.FileStream
et en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOB
en attribuant à ses propriétésMTOM
le contenu du tableau d’octets.
- Créez un objet
-
Ajouter un champ de signature
Ajoutez un champ de signature au document PDF en appelant la méthode
addSignatureField
de l’objetSignatureServiceClient
et en transmettant les valeurs suivantes :- Objet
BLOB
représentant le document PDF auquel le champ de signature invisible est ajouté. - Valeur de chaîne spécifiant le nom du champ de signature.
- Une valeur entière qui représente le numéro de page auquel un champ de signature est ajouté.
- Objet
PositionRect
spécifiant l’emplacement du champ de signature. - Objet
FieldMDPOptions
spécifiant les champs du document PDF verrouillés après l’application d’une signature numérique au champ de signature. Cette valeur de paramètre est facultative et vous pouvez transmettrenull
. - Objet
PDFSeedValueOptions
spécifiant différentes valeurs de temps d’exécution. Cette valeur de paramètre est facultative et vous pouvez transmettrenull
.
La méthode
addSignatureField
renvoie un objetBLOB
représentant un document PDF contenant un champ de signature. - Objet
-
Enregistrer le document PDF en tant que fichier PDF
- Créez un objet
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur string qui représente l’emplacement du fichier du document PDF qui contiendra le champ de signature et le mode d’ouverture du fichier. - Créez un tableau d’octets qui stocke le contenu de l’objet
BLOB
qui a été renvoyé par la méthodeaddSignatureField
. Renseignez le tableau d’octets en obtenant la valeur du membre de donnéesbinaryData
de l’objetBLOB
. - Créez un objet
System.IO.BinaryWriter
en utilisant son constructeur et en transmettant l’objetSystem.IO.FileStream
. - Écrivez le contenu du tableau d’octets dans un fichier PDF en appelant la méthode
Write
de l’objetSystem.IO.BinaryWriter
et en transmettant le tableau d’octets.
- Créez un objet
Récupérer des noms des champs de signature
Vous pouvez récupérer les noms de tous les champs de signature d’un document PDF que vous souhaitez signer ou certifier. Si vous n’avez pas la certitude de connaître de connaître les noms de champ de signature d’un document PDF ou si vous souhaitez vérifier leurs noms, vous pouvez programmer leur récupération. Le service Signature renvoie le nom qualifié complet du champ de signature, tel que form1[0].grantApplication[0].page1[0].SignatureField1[0]
.
Résumé des étapes
Pour récupérer les noms des champs de signature, effectuez les tâches suivantes :
- Incluez les fichiers de projet.
- Créez un client Signature.
- Accédez au document PDF contenant les champs de signature.
- Récupérez les noms des champs de signature.
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.
Vous devez ajouter les fichiers JAR suivants au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utility.jar (obligatoire si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (obligatoire si AEM Forms est déployé sur JBoss)
Pour plus d’informations sur l’emplacement de ces fichiers JAR, voir Inclure des fichiers de bibliothèque Java AEM Forms.
Créer un client Signature
Avant d’effectuer par programmation une opération du service Signature, vous devez créer un client du service Signature.
Accéder au document PDF contenant les champs de signature
Récupérez un document PDF contenant des champs de signature.
Récupérer les noms des champs de signature
Vous pouvez récupérer les noms des champs de signature après avoir récupéré un document PDF qui contient un ou plusieurs champs de signature.
Voir également
Récupérer les noms des champs de signature à l’aide de l’API Java
Récupérer le champ de signature à l’aide de l’API Web Service
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Récupérer les noms des champs de signature à l’aide de l’API Java
Récupérez les noms des champs de signature à l’aide de l’API Signature (Java) :
-
Inclure les fichiers du projet
Incluez les fichiers JAR du client, tels qu’adobe-signatures-client.jar, dans le chemin d’accès aux classes de votre projet Java.
-
Créer une Signature client
- Créez un objet
ServiceClientFactory
qui contient des propriétés de connexion. - Créez un objet
SignatureServiceClient
en utilisant son constructeur et en transmettant l’objetServiceClientFactory
.
- Créez un objet
-
Accéder au document PDF contenant les champs de signature
- Créez un objet
java.io.FileInputStream
qui représente le document PDF contenant les champs de signature en utilisant son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du document PDF. - Créez un objet
com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objetjava.io.FileInputStream
.
- Créez un objet
-
Récupérer des noms de champs de signature
- Récupérez les noms des champs de signature en appelant la méthode
getSignatureFieldList
de l’objetSignatureServiceClient
et en transmettant l’objetcom.adobe.idp.Document
qui contient le document PDF avec les champs de signature. Cette méthode renvoie un objetjava.util.List
, dont chaque élément contient un objetPDFSignatureField
. Grâce à cet objet, vous pouvez obtenir des informations supplémentaires sur un champ de signature, par exemple s’il est visible. - Effectuez une itération dans l’objet
java.util.List
pour déterminer s’il existe des noms de champ de signature. Pour chaque champ de signature du document PDF, vous pouvez obtenir un objetPDFSignatureField
. Pour obtenir le nom du champ de signature, appelez la méthodegetName
de l’objetPDFSignatureField
. Cette méthode renvoie une valeur de chaîne indiquant le nom du champ de signature.
- Récupérez les noms des champs de signature en appelant la méthode
Récupérer le champ de signature à l’aide de l’API Web Service
Récupérez les noms des champs de signature à l’aide de l’API de signature (Web Service) :
-
Inclure les fichiers du projet
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante :
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.REMARQUE
Remplacezlocalhost
par l’adresse IP du serveur hébergeant AEM Forms. -
Créer une Signature client
-
Créez un objet
SignatureServiceClient
en utilisant son constructeur par défaut. -
Créez un objet
SignatureServiceClient.Endpoint.Address
en utilisant le constructeurSystem.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple,http://localhost:8080/soap/services/SignatureService?WSDL
). Vous n’avez pas besoin d’utiliser l’attributlc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.) -
Créez un objet
System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champSignatureServiceClient.Endpoint.Binding
. Convertissez la valeur de retour enBasicHttpBinding
. -
Définissez le champ
MessageEncoding
de l’objetSystem.ServiceModel.BasicHttpBinding
surWSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM. -
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
- Attribuez le nom d’utilisateur AEM forms au champ
SignatureServiceClient.ClientCredentials.UserName.UserName
. - Attribuez la valeur de mot de passe correspondante au champ
SignatureServiceClient.ClientCredentials.UserName.Password
. - Attribuez la valeur constante
HttpClientCredentialType.Basic
au champBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Affectez la valeur constante
BasicHttpSecurityMode.TransportCredentialOnly
au champBasicHttpBindingSecurity.Security.Mode
.
- Attribuez le nom d’utilisateur AEM forms au champ
-
-
Accéder au document PDF contenant les champs de signature
- Créez un objet
BLOB
en utilisant son constructeur. L’objetBLOB
sert à stocker le document PDF qui contient les champs de signature. - Créez un objet
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne qui représente l’emplacement du fichier PDF et le mode d’ouverture du fichier. - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLength
de l’objetSystem.IO.FileStream
. - Renseignez le tableau d’octets avec les données de diffusion en appelant la méthode
Read
de l’objetSystem.IO.FileStream
et en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOB
en affectant le contenu du tableau d’octets à son champMTOM
.
- Créez un objet
-
Récupérer des noms de champs de signature
- Récupérez les noms des champs de signature en appelant la méthode
getSignatureFieldList
de l’objetSignatureServiceClient
et en transmettant l’objetBLOB
qui contient le document PDF avec les champs de signature. Cette méthode renvoie un objet de collectionMyArrayOfPDFSignatureField
dans lequel chaque élément contient un objetPDFSignatureField
. - Effectuez une itération sur l’objet
MyArrayOfPDFSignatureField
pour déterminer s’il existe des noms de champ de signature. Pour chaque champ de signature du document PDF, vous pouvez obtenir un objetPDFSignatureField
. Pour obtenir le nom du champ de signature, appelez la méthodegetName
de l’objetPDFSignatureField
. Cette méthode renvoie une valeur de chaîne indiquant le nom du champ de signature.
- Récupérez les noms des champs de signature en appelant la méthode
Modifier des champs de signature
Vous pouvez modifier les champs de signature d’un document PDF à l’aide de l’API Java et de l’API de service web. La modification d’un champ de signature implique de manipuler ses valeurs de dictionnaire de verrouillage des champs de signature ou ses valeurs du dictionnaire de valeur de départ.
Un dictionnaire de verrouillage de champ spécifie la liste des champs qui sont verrouillés lorsque le champ de signature est signé. Un champ verrouillé empêche les utilisateurs d’apporter des modifications au champ. Un dictionnaire de valeur de départ contient des informations contraignantes utilisées au moment de l’apposition de la signature. Par exemple, vous pouvez modifier les autorisations qui contrôlent les actions pouvant se produire sans invalider la signature.
Lors de la modification d’un champ de signature existant, vous pouvez modifier le document PDF en fonction des besoins de votre entreprise. Par exemple, un nouveau besoin d’activité pourrait nécessiter de verrouiller tous les champs du document une fois le document signé.
Cette section explique comment modifier un champ de signature en modifiant les valeurs du dictionnaire de verrouillage de champ et du dictionnaire de valeur de départ. Les modifications apportées au dictionnaire de verrouillage des champs de signature entraînent le verrouillage de tous les champs du document PDF lors de la signature d’un champ de signature. Les modifications apportées au dictionnaire des valeurs de départ interdisent certains types de modifications apportées au document.
Résumé des étapes
Pour modifier les champs de signature d’un document PDF, procédez comme suit :
- Incluez les fichiers de projet.
- Créez un client Signature.
- Accédez au document PDF contenant le champ de signature à modifier.
- Définissez les valeurs du dictionnaire.
- Modifiez le champ de signature.
- Enregistrez le document PDF au format PDF.
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.
Vous devez ajouter les fichiers JAR suivants au chemin d’accès aux classes de votre projet :
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utility.jar (obligatoire si AEM Forms est déployé sur JBoss)
- jbossall-client.jar (obligatoire si AEM Forms est déployé sur JBoss)
Pour plus d’informations sur l’emplacement de ces fichiers JAR, voir Inclure des fichiers de bibliothèque Java LiveCycle.
Créer un client Signature
Avant d’effectuer par programmation une opération du service Signature, vous devez créer un client du service Signature.
Accéder au document PDF contenant le champ de signature à modifier
Récupérez un document PDF contenant le champ de signature à modifier.
Définir des valeurs de dictionnaire
Pour modifier un champ de signature, affectez des valeurs à son dictionnaire de verrouillage de champs ou à son dictionnaire de valeur de départ. En spécifiant les valeurs du dictionnaire de verrouillage des champs de signature, vous devez également indiquer les champs du document PDF verrouillés lorsque le champ de signature est signé. (Cette section explique comment verrouiller tous les champs.)
Les valeurs du dictionnaire de valeurs de départ suivantes peuvent être définies :
-
Vérification des révisions : cette option indique si la vérification de révocation est effectuée lorsqu’une signature est appliquée au champ de signature.
-
Options de certificat : cette option attribue des valeurs au dictionnaire de valeurs de départ du certificat. Avant de spécifier des options de certificat, il est recommandé de vous familiariser avec un dictionnaire de valeur de départ du certificat. (Voir Référence PDF.)
-
Options de prétraitement : Cette option attribue des algorithmes de prétraitement utilisés pour la signature. Les valeurs valides sont SHA1, SHA256, SHA384, SHA512 et RIPEMD160.
-
Filtre : cette option indique le filtre utilisé pour le champ de signature. Par exemple, vous pouvez utiliser le filtre Adobe.PPKLite. (Voir Référence PDF.)
-
Options d’indicateur : cette option indique les valeurs d’indicateur associées à ce champ de signature. Une valeur définie sur 1 signifie qu’un signataire doit utiliser uniquement les valeurs spécifiées pour l’entrée. Une valeur définie sur 0 signifie que d’autres valeurs sont permises. Voici les positions Bit :
- 1 (Filtre) : gestionnaire de signatures à utiliser pour signer le champ de signature
- 2 (Sous-filtre) : tableau de noms indiquant des encodages acceptables à utiliser lors de la signature
- 3 (V) : numéro de version minimum requise du gestionnaire de signatures utilisé pour signer le champ de signature.
- 4 (Motifs) : tableau de chaînes spécifiant les motifs possibles de la signature d’un document.
- 5 (PDFLegalWarnings) : tableau de chaînes spécifiant les attestations juridiques possibles.
-
Attestations juridiques : lorsqu’un document est certifié, il est automatiquement analysé à la recherche de types de contenu spécifiques qui peuvent rendre le contenu visible d’un document ambigu ou déroutant. Par exemple, une annotation peut assombrir du texte essentiel pour comprendre ce qui est certifié. Le processus d’analyse génère des avertissements indiquant la présence de ce type de contenu. Il fournit également une explication supplémentaire du contenu susceptible d’avoir généré des avertissements.
-
Autorisations : cette option spécifie les autorisations pouvant être utilisées sur un document PDF sans invalider la signature.
-
Motifs : indique les motifs pour lesquels ce document doit être signé.
-
Horodatage : spécifie les options d’horodatage. Vous pouvez, par exemple, définir l’URL du serveur d’horodatage utilisé.
-
Version : indique le numéro de version minimum du gestionnaire de signatures à utiliser pour signer le champ de signature.
Modifier un champ de signature
Après avoir créé un client du service Signature, récupéré le document PDF contenant le champ de signature à modifier et défini les valeurs du dictionnaire, vous pouvez demander au service Signature de modifier le champ de signature. Le service Signature renvoie ensuite un document PDF contenant le champ de signature modifié. Le document PDF d’origine n’est pas affecté.
Enregistrer le document PDF en tant que fichier PDF
Enregistrez le document PDF contenant le champ de signature modifié en tant que fichier PDF afin que les utilisateurs puissent l’ouvrir dans Acrobat ou Adobe Reader.
Voir également
Inclusion des fichiers de bibliothèque Java d’AEM Forms
Réglage des propriétés de la connexion
Modifier des champs de signature à l’aide de l’API Java
Modifiez un champ de signature à l’aide de l’API Signature (Java) :
-
Inclure les fichiers du projet
Incluez des fichiers JAR du client, tels que adobe-signatures-client.jar, dans le chemin d’accès aux classes de votre projet Java.
-
Créer une Signature client
- Créez un objet
ServiceClientFactory
qui contient des propriétés de connexion. - Créez un objet
SignatureServiceClient
en utilisant son constructeur et en transmettant l’objetServiceClientFactory
.
- Créez un objet
-
Accéder au document PDF contenant le champ de signature à modifier
- Créez un objet
java.io.FileInputStream
représentant le document PDF contenant le champ de signature à modifier à l’aide de son constructeur et en transmettant une valeur de chaîne qui spécifie l’emplacement du document PDF. - Créez un objet
com.adobe.idp.Document
en utilisant son constructeur et en transmettant l’objetjava.io.FileInputStream
.
- Créez un objet
-
Définir des valeurs du dictionnaire
- Créez un objet
PDFSignatureFieldProperties
en utilisant son constructeur. Un objetPDFSignatureFieldProperties
stocke les informations du dictionnaire de verrouillage des champs de signature et du dictionnaire de valeurs de départ. - Créez un objet
PDFSeedValueOptionSpec
en utilisant son constructeur. Cet objet vous permet de définir les valeurs du dictionnaire de valeurs de départ. - Interdisez les modifications apportées au document PDF en appelant la méthode
setMdpValue
de l’objetPDFSeedValueOptionSpec
et en transmettant la valeur d’énumérationMDPPermissions.NoChanges
. - Créez un objet
FieldMDPOptionSpec
en utilisant son constructeur. Cet objet vous permet de définir les valeurs du dictionnaire de verrouillage des champs de signature. - Verrouillez tous les champs du document PDF en appelant la méthode
setMdpValue
de l’objetFieldMDPOptionSpec
et en transmettant la valeur d’énumérationFieldMDPAction.ALL
. - Définissez les informations du dictionnaire de valeur de départ en appelant la méthode
setSeedValue
de l’objetPDFSignatureFieldProperties
et en transmettant l’objetPDFSeedValueOptionSpec
. - Définissez les informations du dictionnaire de verrouillage des champs de signature en appelant la méthode
setFieldMDP
de l’objetPDFSignatureFieldProperties
et en transmettant l’objetFieldMDPOptionSpec
.
REMARQUE
Pour afficher toutes les valeurs du dictionnaire de valeurs de départ que vous pouvez définir, reportez-vous à la référence de classePDFSeedValueOptionSpec
. (Voir Référence de l’API AEM Forms.) - Créez un objet
-
Modifier un champ de signature
Modifiez le champ de signature en appelant la méthode
modifySignatureField
de l’objetSignatureServiceClient
et en transmettant les valeurs suivantes :- Objet
com.adobe.idp.Document
stockant le document PDF contenant le champ de signature à modifier. - Valeur de chaîne spécifiant le nom du champ de signature.
- Objet
PDFSignatureFieldProperties
stockant les informations du dictionnaire de verrouillage de champs de signature et du dictionnaire de valeurs de départ.
La méthode
modifySignatureField
renvoie un objetcom.adobe.idp.Document
qui stocke un document PDF contenant le champ de signature modifié. - Objet
-
Enregistrer le document PDF en tant que fichier PDF
- Créez un objet
java.io.File
et assurez-vous que l’extension du nom du fichier est .pdf. - Appelez la méthode
copyToFile
de l’objetcom.adobe.idp.Document
pour copier le contenu de l’objetcom.adobe.idp.Document
dans le fichier. Veillez à utiliser l’objetcom.adobe.idp.Document
renvoyé par la méthodemodifySignatureField
.
- Créez un objet
Modifier des champs de signature à l’aide de l’API Web Service
Modifiez un champ de signature à l’aide de l’API Signature (Web Service) :
-
Inclure les fichiers du projet
Créez un projet Microsoft .NET qui utilise MTOM. Veillez à utiliser la définition WSDL suivante :
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.REMARQUE
Remplacezlocalhost
par l’adresse IP du serveur hébergeant AEM Forms. -
Créer une Signature client
-
Créez un objet
SignatureServiceClient
en utilisant son constructeur par défaut. -
Créez un objet
SignatureServiceClient.Endpoint.Address
en utilisant le constructeurSystem.ServiceModel.EndpointAddress
. Transmettez une valeur de chaîne qui spécifie le WSDL au service AEM Forms (par exemple,http://localhost:8080/soap/services/SignatureService?WSDL
). Vous n’avez pas besoin d’utiliser l’attributlc_version
. Cet attribut est utilisé lorsque vous créez une référence de service.) -
Créez un objet
System.ServiceModel.BasicHttpBinding
en obtenant la valeur du champSignatureServiceClient.Endpoint.Binding
. Convertissez la valeur de retour enBasicHttpBinding
. -
Définissez le champ
MessageEncoding
de l’objetSystem.ServiceModel.BasicHttpBinding
surWSMessageEncoding.Mtom
. Cette valeur garantit l’utilisation de MTOM. -
Activez l’authentification HTTP de base en effectuant les tâches suivantes :
- Attribuez le nom d’utilisateur AEM forms au champ
SignatureServiceClient.ClientCredentials.UserName.UserName
. - Attribuez la valeur de mot de passe correspondante au champ
SignatureServiceClient.ClientCredentials.UserName.Password
. - Attribuez la valeur constante
HttpClientCredentialType.Basic
au champBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Attribuez la valeur constante
BasicHttpSecurityMode.TransportCredentialOnly
au champBasicHttpBindingSecurity.Security.Mode
.
- Attribuez le nom d’utilisateur AEM forms au champ
-
-
Accéder au document PDF contenant le champ de signature à modifier
- Créez un objet
BLOB
en utilisant son constructeur. L’objetBLOB
sert à stocker le document PDF contenant le champ de signature à modifier. - Créez un objet
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne représentant l’emplacement du document PDF et le mode d’ouverture du fichier. - Créez un tableau d’octets qui stocke le contenu de l’objet
System.IO.FileStream
. Vous pouvez déterminer la taille du tableau d’octets en obtenant la propriétéLength
de l’objetSystem.IO.FileStream
. - Renseignez le tableau d’octets avec les données de diffusion en appelant la méthode
Read
de l’objetSystem.IO.FileStream
et en transmettant le tableau d’octets, la position de départ et la longueur du flux à lire. - Renseignez l’objet
BLOB
en attribuant à sa propriétéMTOM
le contenu du tableau d’octets.
- Créez un objet
-
Définir des valeurs du dictionnaire
- Créez un objet
PDFSignatureFieldProperties
en utilisant son constructeur. Cet objet stocke les informations du dictionnaire de verrouillage de champs de signature et du dictionnaire de valeurs de départ. - Créez un objet
PDFSeedValueOptionSpec
en utilisant son constructeur. Cet objet vous permet de définir les valeurs du dictionnaire de valeurs de départ. - Interdisez les modifications apportées au document PDF en attribuant la valeur de l’énumération
MDPPermissions.NoChanges
au membre de donnéesmdpValue
de l’objetPDFSeedValueOptionSpec
. - Créez un objet
FieldMDPOptionSpec
en utilisant son constructeur. Cet objet vous permet de définir les valeurs du dictionnaire de verrouillage des champs de signature. - Verrouillez tous les champs du document PDF en attribuant la valeur d’énumération
FieldMDPAction.ALL
au membre de donnéesmdpValue
de l’objetFieldMDPOptionSpec
. - Définissez les informations du dictionnaire de valeur de départ en attribuant l’objet
PDFSeedValueOptionSpec
au membre de donnéesseedValue
de l’objetPDFSignatureFieldProperties
. - Définissez les informations du dictionnaire de verrouillage des champs de signature en attribuant l’objet
FieldMDPOptionSpec
au membre de donnéesfieldMDP
de l’objetPDFSignatureFieldProperties
.
REMARQUE
Pour afficher toutes les valeurs du dictionnaire de valeurs de départ que vous pouvez définir, reportez-vous à la référence de classePDFSeedValueOptionSpec
. (Voir Référence de l’API AEM Forms). - Créez un objet
-
Modifier un champ de signature
Modifiez le champ de signature en appelant la méthode
modifySignatureField
de l’objetSignatureServiceClient
et en transmettant les valeurs suivantes :- Objet
BLOB
stockant le document PDF contenant le champ de signature à modifier. - Valeur de chaîne spécifiant le nom du champ de signature.
- Objet
PDFSignatureFieldProperties
stockant les informations du dictionnaire de verrouillage de champs de signature et du dictionnaire de valeurs de départ.
La méthode
modifySignatureField
renvoie un objetBLOB
qui stocke un document PDF contenant le champ de signature modifié. - Objet
-
Enregistrer le document PDF en tant que fichier PDF
- Créez un objet
System.IO.FileStream
en appelant son constructeur et en transmettant une valeur de chaîne représentant l’emplacement du document PDF qui contiendra le champ de signature et le mode d’ouverture du fichier. - Créez un tableau d’octets qui stocke le contenu de l’objet
BLOB
renvoyé par la méthodeaddSignatureField
. Renseignez le tableau d’octets en obtenant la valeur du membre de donnéesMTOM
de l’objetBLOB
. - Créez un objet
System.IO.BinaryWriter
en utilisant son constructeur et en transmettant l’objetSystem.IO.FileStream
. - Écrivez le contenu du tableau d’octets dans un fichier PDF en appelant la méthode
Write
de l’objetSystem.IO.BinaryWriter
et en transmettant le tableau d’octets.
- Créez un objet