Como assinar do OneSpan: Extração de documentos (.NET SDK)

Vi recentemente algumas perguntas sobre o uso da extração de documentos, por isso achei que seria bom criar um blog sobre isso. Sempre que eu criar um blog sobre como usar um recurso, o colocarei na série "OneSpan Sign How To".
Configurando os campos do formulário PDF
Primeiramente, você precisará de um PDF com campos de formulário, nomeado como o OneSpan Sign pode reconhecê-los. Você pode ver mais sobre o formato adequado dos nomes dos campos de formulário no diretório documentação . Abaixo está o documento PDF que eu usei. Coloquei os nomes dos campos do formulário nos campos da imagem para mostrar o que chamei de tudo.
Como você pode ver, os dois signatários no documento serão "Signer1" e "Preparer1". Esses serão os IDs personalizados usados na seção de código abaixo, permitindo que o OneSpan Sign saiba quais campos associar a cada assinante.
O código
Assim, com seu documento configurado corretamente, agora você pode escrever seu código. Neste blog, usarei C # e o OneSpan Sign .NET SDK. Abaixo, você encontrará o código que usei para o meu exemplo de PDF, acima.
using System; using System.IO; using Silanis.ESL.SDK; using Silanis.ESL.SDK.Builder; using System.Diagnostics; namespace CreateAndSendPackage { classe CreateAndSendPackage { string estática privada apiUrl = "https://sandbox.esignlive.com/api"; string estática privada apiKey = "YOUR_API_KEY"; public static void Main (string [] args) { EslClient eslClient = novo EslClient (apiKey, apiUrl); FileStream fileStream1 = File.OpenRead ("C: /PATH_TO_FILE/sampleDocumentExtract.pdf"); DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed ("Testar extração de documento") .WithSettings (DocumentPackageSettingsBuilder.NewDocumentPackageSettings ()) .WithSigner (SignerBuilder.NewSignerWithEmail ("signer.email @example .com ") .WithFirstName ("John") .WithLastName ("Smith") .WithCustomId ("Signer1") ) .WithSigner (SignerBuilder.NewSignerWithEmail ("preparer.email @example .com ") .WithFirstName ("Michael") .WithLastName ("Williams") .WithCustomId ("Preparer1") ) .WithDocument (DocumentBuilder.NewDocumentNamed ("testDocumentExtraction") .FromStream (fileStream1, DocumentType.PDF) .EnableExtraction () ) .Construir(); PackageId packageId = eslClient.CreatePackage (superDuperPackage); eslClient.SendPackage (packageId); } } }
O código para este exemplo é bastante simples e a parte associada a esse recurso é ainda mais simples. Em cada chamada "WithSigner", você verá que os IDs personalizados coincidem com os da imagem do formulário PDF mostrado anteriormente no blog. O .WithDocument também tem uma chamada para "EnableExtraction". Como isso é feito, você pode perceber que não precisa definir os locais de assinatura e quem precisa assinar o documento. Isso já foi resolvido com os IDs e os nomes dos campos de formulário associados do PDF.
O que isso parece
Depois de executar esse código, o pacote é criado com os campos apropriados para cada assinante. Isto é o que o Signer1 verá:
Como você vê, os campos obrigatórios são destacados para o usuário preencher. O campo Nome será preenchido automaticamente pelo OneSpan Sign quando a assinatura for concluída. Da mesma forma, o preparador vê isso:
Aí está. O processo de assinatura acontece exatamente como você o definiu em seu pacote. Obrigado pela leitura! Se você tiver alguma dúvida ou houver algum tópico que gostaria de ver coberto no meu blog, fique à vontade para postar na seção de comentários.