OneSpan Sign How To:Document Extraction(.NET SDK)

Michael Williams, 2015年8月8日

最近、ドキュメント抽出の使用についていくつか質問があるので、それについてブログを作成するとよいと思いました。機能の使用方法についてブログを書いているときはいつでも、「OneSpan Sign How To」シリーズに入れます。

PDFフォームフィールドの構成

まず最初に、OneSpan Signがそれらをどのように認識できるかという名前のフォームフィールドを持つPDFが必要になります。フォームフィールド名の適切な形式の詳細については、ドキュメンテーション 。以下は、私が使用したPDF文書です。画像のフィールドにフォームのフィールド名を付けて、すべての名前を示しています。

formFieldPDF

ご覧のとおり、ドキュメントの2つの署名者は「Signer1」と「Preparer1」になります。これらは、以下のコードセクションで使用されるカスタムIDであり、OneSpan Signに各署名者に関連付けるフィールドを知らせます。

OneSpan Sign開発者コミュニティ

OneSpan Sign開発者コミュニティ

OneSpan Sign開発者コミュニティに参加してください!フォーラム、ブログ、ドキュメント、SDKダウンロードなど。

今日参加します

コード

したがって、ドキュメントを適切に設定したら、コードを記述できます。このブログでは、C#とOneSpan Sign .NET SDKを使用します。以下に、上記のサンプルPDFに使用したコードを示します。

システムの使用;
System.IOを使用します。
Silanis.ESL.SDKを使用;
Silanis.ESL.SDK.Builderを使用;
System.Diagnosticsを使用します。

名前空間CreateAndSendPackage
{
    クラスCreateAndSendPackage
    {
        プライベート静的文字列apiUrl = "https://sandbox.esignlive.com/api";
        プライベート静的文字列apiKey = "YOUR_API_KEY";

        public static void Main(string [] args)
        {
            EslClient eslClient = new EslClient(apiKey、apiUrl);
            FileStream fileStream1 = File.OpenRead( "C:/PATH_TO_FILE/sampleDocumentExtract.pdf");

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed( "Test Document Extraction")
                .WithSettings(DocumentPackageSettingsBuilder.NewDocumentPackageSettings())
                    .WithSigner(SignerBuilder.NewSignerWithEmail( "signer.email @example .com ")
                                .WithFirstName( "ジョン")
                                .WithLastName( "スミス")
                                .WithCustomId( "Signer1")
                    )
                    .WithSigner(SignerBuilder.NewSignerWithEmail( "preparer.email @example .com ")
                                .WithFirstName( "Michael")
                                .WithLastName( "ウィリアムズ")
                                .WithCustomId( "Preparer1")
                    )
                    .WithDocument(DocumentBuilder.NewDocumentNamed( "testDocumentExtraction")
                                  .FromStream(fileStream1、DocumentType.PDF)
                                  .EnableExtraction()
                                 )
                    .Build();
            PackageId packageId = eslClient.CreatePackage(superDuperPackage);
            eslClient.SendPackage(packageId);
        }
    }
}

この例のコードは非常に単純で、この機能だけに関連付けられている部分はさらに単純です。それぞれの「WithSigner」呼び出しで、カスタムIDが、前にブログで示したPDFフォームの画像のIDと一致することがわかります。.WithDocumentには、"EnableExtraction"への呼び出しもあります。これが行われるため、署名の場所を定義する必要がなく、誰がドキュメントに署名する必要があるかがわかります。これは、PDFのIDと関連するフォームフィールド名ですでに処理されています。

それはどのようなものか

このコードを実行すると、署名者ごとに適切なフィールドを持つパッケージが作成されます。これは、Signer1が表示するものです。

formFieldPDFPackageSignerView

ご覧のとおり、ユーザーが入力できるように必須フィールドが強調表示されています。名前フィールドは、署名が完了するとOneSpan Signによって自動的に入力されます。同様に、作成者はこれを確認します。

formFieldPDFPackagePreparerView

そこにあります。署名プロセスは、パッケージで定義したとおりに行われます。読んでくれてありがとう!質問がある場合や、ブログで取り上げてもらいたいトピックがある場合は、コメントセクションに投稿してください。

–マイケル・ウィリアムズツイッター | フェイスブック | LinkedIn