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

Michael Williams, 8 de Agosto de 2015

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.

formFieldPDF

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.

Comunidade de desenvolvedores OneSpan Sign

Comunidade de desenvolvedores OneSpan Sign

Participe da comunidade de desenvolvedores do OneSpan Sign! Fóruns, blogs, documentação, downloads de SDK e muito mais.

Junte-se hoje

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á:

formFieldPDFPackageSignerView

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:

formFieldPDFPackagePreparerView

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.

- Michael Williams Twitter | Facebook | LinkedIn