OneSpan Sign How To: Utilisation d'ancres de texte
Dernièrement, il ya eu un certain nombre de questions, dans les forums, concernant la fonction d'extraction d'ancrage de texte avec les SDKs et API, alors j'ai pensé que ce serait une excellente occasion de créer un blog Comment faire. En bref, les ancres de texte vous permettent de positionner un champ ou une signature en fonction du texte de votre document. Ce document peut être de tout type par opposition à l'extraction de documents, ce qui nécessite un formulaire PDF. Dans ce blog, je vais vous montrer comment utiliser l'extraction d'ancrage texte avec le OneSpan Sign Java SDK, .NET SDK, et l'API REST.
Paramètres d'ancrage de texte
Avant de plonger dans le code, permettez-moi de vous donner une brève description de chaque paramètre que vous pouvez passer lors de la construction de votre ancre texte. Il est important de noter que lorsque vous utilisez l'ancre de texte, la recherche est effectuée d'une manière sensible aux cas. En outre, si certains paramètres ne sont pas spécifiés, ils seront par défaut aux valeurs ci-dessous.
Paramètre | Description | Obligatoire | Valeur par défaut |
---|---|---|---|
Texte d'ancrage | La chaîne exacte qui sera recherchée dans votre document. | Oui | Non applicable |
Point d'ancrage | Le coin du caractère spécifié à utiliser comme base pour calculer la position. Valeurs disponibles : TOPLEFT, TOPRIGHT, BOTTOMLEFT et BOTTOMRIGHT. | Oui | Non applicable |
Index | L'occurrence de la chaîne. Par exemple, une valeur de 1 sautera le premier événement et utilisera la deuxième instance pour calculer la position. | N° | 0 |
Indice de caractères | L'index du caractère dans le texte d'ancrage qui sera utilisé pour calculer la position. | N° | 0 |
Décalage gauche | Le décalage s'appliquait à la x-coordinate finale. | N° | 0 |
Meilleur décalage | Le décalage s'appliquait à la co-coordonnées finale. | N° | 0 |
Hauteur | La hauteur du champ ou de la signature. | N° | 50 |
Largeur | La largeur du champ ou de la signature. | N° | 200 |
Le code
Comme je l'ai mentionné ci-dessus, je vais vous montrer comment utiliser l'ancre texte avec le Java SDK, .NET SDK, et l'API REST. Allez-y et passez à la section qui s'applique à votre technologie. Je vais couvrir les mêmes informations dans chaque segment. Code d'exemple complet pour ce blog peut être trouvé dans le développeur Community Code Share: Java, .NET, et REST.
Java SDK
Commençons par le Java SDK. Dans mon exemple, j'ai utilisé l'ancre de texte pour ajouter une signature, la date de signature et le nom du signataire pour chaque signataire. Le code de l'échantillon ci-dessous vous montre comment modifier le bloc de document pour l'ancre de texte. Si vous avez besoin d'une comparaison avec la création d'objet de document de base ou si c'est la première fois que vous créez un package avec le Java SDK, consultez ce blog.
.withDocument(newDocumentWithName("Contrat d'échantillon") .fromFile ("PATH_TO_YOUR_FILE") .enableExtraction() .withSignature(signaturePour("[email protected]") .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Signature du client") .atPosition(TextAnchorPosition.TOPLEFT) .withSize(150, 40) .avecOffset(0, -50) .avecCharacter(0) .withOccurence(0)) .withField (FieldBuilder.signerName() .withPositionAnchor(TextAnchorBuilder.newTextAnchor("(ici après appelé") .atPosition(TextAnchorPosition.TOPRIGHT) .withSize(150, 20) .avecOffset(-175, -5) .avecCharacter(0) .withOccurence(0))) .withField (FieldBuilder.signatureDate() .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Date") .atPosition(TextAnchorPosition.TOPRIGHT) .withSize(75, 40) .avecCharacter(4) .avecOffset(10, -30) .withOccurence(0)))) .withSignature(signaturePour("[email protected]") .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Signature de l'entrepreneur") .atPosition(TextAnchorPosition.TOPLEFT) .withSize(150, 40) .avecOffset(0, -50) .avecCharacter(0) .withOccurence(0)) .withField (FieldBuilder.signerName() .withPositionAnchor(TextAnchorBuilder.newTextAnchor("(ici après appelé") .atPosition(TextAnchorPosition.TOPLEFT) .withSize(150, 20) .avecOffset(-175, -5) .avecCharacter(0) .withOccurence(1))) .withField (FieldBuilder.signatureDate() .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Date") .atPosition(TextAnchorPosition.TOPRIGHT) .withSize(75, 40) .avecOffset(10, -30) .avecCharacter(4) .withOccurence(1)))
SDK .NET
Ensuite, je vais passer en plus de la SDK .NET. Dans mon exemple, j'ai utilisé l'ancre de texte pour ajouter une signature, la date de signature et le nom du signataire pour chaque signataire. Le code de l'échantillon ci-dessous vous montre comment modifier le bloc de document pour l'ancre de texte. Si vous avez besoin d'une comparaison avec la création d'objet document de base ou si c'est la première fois que vous créez un package avec le .NET SDK, voir ce blog.
. WithDocument (DocumentBuilder.NewDocumentNamed("Contrat d'échantillon") . FromStream(fs, DocumentType.PDF) . ActiverL'extraction() . WithSignature (SignatureBuilder.SignatureFor("[email protected]") . WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Signature du client") . AtPosition(TextAnchorPosition.TOPLEFT) . WithSize(150, 40) . WithOffset(0, -50) . AvecCharacter(0) . AvecOccurrence(0)) . WithField (FieldBuilder.SignerName() . WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("(ci-après appelé") . AtPosition(TextAnchorPosition.TOPRIGHT) . WithSize(150, 20) . WithOffset(-175, -5) . AvecCharacter(0) . AvecOccurrence(0))) . WithField (FieldBuilder.SignatureDate() . WithPositionAnchor(TextanchorBuilder.NewTextAnchor("Date") . AtPosition(TextAnchorPosition.TOPRIGHT) . WithSize(75, 40) . AvecCharacter(4) . WithOffset(10, -30) . AvecOccurrence(0)))) . WithSignature (SignatureBuilder.SignatureFor("[email protected]") . WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Signature de l'entrepreneur") . AtPosition(TextAnchorPosition.TOPLEFT) . WithSize(150, 40) . WithOffset(0, -50) . AvecCharacter(0) . AvecOccurrence(0)) . WithField (FieldBuilder.SignerName() . WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("(ci-après appelé") . AtPosition(TextAnchorPosition.TOPLEFT) . WithSize(150, 20) . WithOffset(-175, -5) . AvecCharacter(0) . AvecOccurrence(1))) . WithField (FieldBuilder.SignatureDate() . WithPositionAnchor(TextanchorBuilder.NewTextAnchor("Date") . AtPosition(TextAnchorPosition.TOPRIGHT) . WithSize(75, 40) . WithOffset(10, -30) . AvecCharacter(4) . AvecOccurrence(1)))
API REST
Enfin, je couvrirai l'API REST. Dans mon exemple, j'ai utilisé l'ancre de texte pour ajouter une signature, la date de signature et le nom du signataire pour chaque signataire. J'ai inclus le JSON qui créera votre paquet de documents avec l'ancre de texte pour plus de commodité. Veuillez noter que la convention API de OneSpan Sign n'autorise qu'un seul champ de signature (c.-à-d. « type » : « SIGNATURE ») par approbation dans l'objet d'approbation. Une deuxième signature pour un rôle donné devrait être ajoutée à titre d'approbation distincte. Si vous avez besoin d'une comparaison avec la création d'objets de document de base ou si c'est la première fois que vous créez un package avec l'API REST, consultez ce blog.
|
Exécution de votre code
Une fois que vous avez exécuté votre code, si vous vous connectez à OneSpan Sign, vous devez trouver les signatures et les champs appropriés dans le document dans votre paquet de documents OneSpan Sign, comme vous l'avez vu ci-dessous.
Et voilà. Vous avez créé avec succès un nouveau paquet avec des ancres de texte.
Si vous avez des questions concernant ce blog ou toute autre chose concernant l'intégration oneSpan Sign dans votre application, visitez les forums de la communauté des développeurs: https://developer.esignlive.com. C'est moi qui l'ai fait. Merci de lire! Si vous avez trouvé ce message utile, s'il vous plaît le partager sur Facebook, Twitter, ou LinkedIn.
Haris Haidary
Évangéliste technique junior
LinkedIn - France Twitter (en)