La Document Extraction busca firmas y campos con nombres apropiados en un documento PDF cargado, y para cada uno, crea una firma o campo OneSpan Sign. Las posiciones y tamaños de las firmas y campos del PDF se conservan automáticamente en OneSpan Sign.
La información necesaria para crear cada OneSpan Sign firma o campo se toma del nombre de la firma o campo PDF.
Limitaciones de la extracción de documentos
Las siguientes limitaciones afectan la extracción de documentos:
-
La extracción de documentos solo está disponible en la llamada a la API que carga el documento. No está disponible en llamadas posteriores.
-
Los siguientes campos no son compatibles con la extracción de documentos.
-
Botones de radio
-
Campos de lista
-
Campos de fecha
-
Campos personalizados
-
Área de texto
-
Convenciones de nomenclatura
Para crear un campo de firma de OneSpan Sign, el campo PDF debe tener un nombre del formulario [Signer.SigStyle#]
, en el cual:
Signer
: De forma predeterminada, los valores utilizados para el rol de la etiqueta de extracción/fieldName son Signer1, Signer2 y así sucesivamente. Si desea incluir al remitente de la transacción como firmante, utilice la etiqueta Owner. Si especifica un ID de rol personalizado para sus destinatarios, usaría ese valor en sus etiquetas.SigStyle#
: Un estilo de firma (Capture,Initials,Fullname, or Mobile Capture) combinado con un número entero para mayor exclusividad. Por ejemplo: Capture1 o Fullname09.
Si desea que el campo de firma sea opcional, simplemente utilice el siguiente formato: [Signer.SigStyle#.Optional].
Para crear un campo de OneSpan Sign no vinculado, el campo PDF debe tener un nombre del formulario [Signer.SigStyle#.FieldStyle#]
, en el cual:
Signer.SigStyle#
identifica la firma asociada a este campo.FieldStyle#
es un estilo de campo (Textfieldo Checkbox) combinado con un número entero para hacerlo único. Por ejemplo: Textfield2 o Checkbox6.
Para crear un campo vinculado de OneSpan Sign , el campo PDF debe tener un nombre del formulario [Signer.SigStyle#.label#.Binding]
, en el cual:
Signer.SigStyle#
identifica la firma asociada a este campo.label#
es un identificador del campo, que consiste en la palabra label combinada con un número entero para hacerlo único.-
Binding
es un estilo de campo. Los valores posibles son Dateo {approval.signed}, Name o {signer.name}, Titleo {signer.title} y Company o {signer.company}. Ambos miembros de cada par significan el mismo estilo de campo.
Todas las partes de un nombre de campo PDF coinciden utilizando coincidencias que no distinguen entre mayúsculas y minúsculas. Por ejemplo, un campo llamado [Signer1.Fullname1.label1.Date] es el mismo que el campo llamado [Signer1.FULLNAME1.LABEL1.DATE]. Los nombres de los campos son alfanuméricos. No pueden contener caracteres especiales, excepto el guion bajo (_).
Ejemplo
Aquí hay un ejemplo. Supongamos que un paquete tiene dos firmantes cuyos ID personalizados son Signer1
y Owner
. Además, supongamos que la extracción está habilitada y que se carga un PDF que tiene campos con los siguientes nombres:
[Owner.Fullname1] [Owner.Fullname1.label1.Date] [Owner.Fullname1.Textfield1] [Owner.Fullname1.Checkbox1] [Owner.Fullname2.Optional]
[Signer1.Capture1][Signer1.Capture1.label1.Name][Signer1.Capture1.label2.Date][Signer1.Capture1.label3.Title][Signer1.Initials1][Signer1.Initials2]
Antes de firmar, Owner
debe completar dos campos:
[Owner.Fullname1.Textfield1][Owner.Fullname1.Checkbox1]
Una vez que esos campos estén completos, Owner
puede firmar [Owner.Fullname1]
y [Owner.Fullname1.label1.Date]
se completará automáticamente con la fecha de firma.
Signer1
necesita firmar en tres lugares:
[Signer1.Initials1][Signer1.Initials2][Signer1.Capture1]
Una vez que todos estos estén firmados, se rellenarán los campos restantes:
[Signer1.Capture1.label1.Name][Signer1.Capture1.label2.Date][Signer1.Capture1.label3.Title]
Si ha especificado identificadores personalizados para el remitente y el firmante (por ejemplo, Agent1 y Client1), utilice nombres de campo de formulario similares a los siguientes y el flujo de firma seguirá siendo el mismo:
[Agent1.Fullname1] [Client1.Initials1]
Otros métodos de extracción
También pueden interesarle nuestros otros tipos de extracción:
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
La función de extracción de documentos crea automáticamente todas las firmas y campos que existen en un archivo PDF cargado. Las posiciones y los tamaños de las firmas, y los campos en el archivo PDF se conservan automáticamente en OneSpan Sign.
Limitaciones de la extracción de documentos
Las siguientes limitaciones afectan la extracción de documentos:
-
La extracción de documentos solo está disponible en la llamada a la API que carga el documento. No está disponible en llamadas posteriores.
-
Los siguientes campos no son compatibles con la extracción de documentos.
-
Botones de radio
-
Campos de lista
-
Campos de fecha
-
Campos personalizados
-
Área de texto
-
Configurar campos de formulario de PDF
En primer lugar, necesitará un PDF con campos de formulario, nombrados de manera que OneSpan Sign pueda reconocerlos. Para obtener más información sobre el formato adecuado de los nombres de los campos de formulario, consulte la descripción general de la función. Los nombres de los campos de formulario se muestran en la imagen siguiente.
Como puede ver, los dos firmantes del documento serán el Firmante1 y el Propietario. Estos serán los ID personalizados utilizados en la sección de código siguiente para que OneSpan Sign sepa qué campos asociar con cada firmante.
Configuración de la extracción de documentos
El siguiente código de ejemplo muestra cómo configurar su transacción para la extracción de documentos. En cada llamada withSigner, verá que los ID personalizados coinciden con los de la imagen del formulario PDF que se muestra arriba.
Dado que el remitente de la transacción se agregará de forma predeterminada a la lista de firmantes con el nombre del rol de Owner, no tiene que especificar explícitamente la información del remitente en la llamada withSigner.
El .withDocument también tiene una llamada a enableExtraction.
De este modo, no es necesario definir los lugares de firma ni quién debe firmar el documento. Esto ya se soluciona con los ID y los nombres de campo de formulario asociados del PDF.
El siguiente código hará lo siguiente:
DocumentPackage superDuperPackage = PackageBuilder.newPackageNamed("Test Document Extraction") .withSigner(SignerBuilder.newSignerWithEmail("[email protected]" ) .withCustomId("Signer1") .withFirstName("John") .withLastName("Smith")) .withDocument(DocumentBuilder.newDocumentWithName("testDocumentExtraction") .fromFile("path_to_pdf") .enableExtraction()) .build(); PackageId packageId = eslClient.createPackageOneStep(superDuperPackage); eslClient.sendPackage(packageId);
Resultados
Los campos obligatorios están resaltados para que el usuario los complete. El campo Nombre se rellenará automáticamente con OneSpan Sign cuando se complete la firma. Del mismo modo, el propietario también verá sus campos designados resaltados para completar.
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
La función de extracción de documentos crea automáticamente todas las firmas y campos que existen en un archivo PDF cargado. Las posiciones y los tamaños de las firmas, y los campos en el archivo PDF se conservan automáticamente en OneSpan Sign.
Limitaciones de la extracción de documentos
Las siguientes limitaciones afectan la extracción de documentos:
-
La extracción de documentos solo está disponible en la llamada a la API que carga el documento. No está disponible en llamadas posteriores.
-
Los siguientes campos no son compatibles con la extracción de documentos.
-
Botones de radio
-
Campos de lista
-
Campos de fecha
-
Campos personalizados
-
Área de texto
-
Configurar campos de formulario de PDF
En primer lugar, necesitará un PDF con campos de formulario, nombrados de manera que OneSpan Sign pueda reconocerlos. Para obtener más información sobre el formato adecuado de los nombres de los campos de formulario, consulte la descripción general de la función. Los nombres de los campos de formulario se muestran en la imagen siguiente.
Como puede ver, los dos firmantes del documento serán el Firmante1 y el Propietario. Estos serán los ID personalizados utilizados en la sección de código siguiente para que OneSpan Sign sepa qué campos asociar con cada firmante.
Configuración de la extracción de documentos
El siguiente código de ejemplo muestra cómo configurar su transacción para la extracción de documentos. En cada llamada withSigner, verá que los ID personalizados coinciden con los de la imagen del formulario PDF que se muestra arriba. El .withDocument también tiene una llamada a enableExtraction.
De este modo, no es necesario definir los lugares de firma ni quién debe firmar el documento. Esto ya se soluciona con los ID y los nombres de campo de formulario asociados del PDF.
El siguiente código hará lo siguiente:
DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("Test Document Extraction") .WithSigner(SignerBuilder.NewSignerWithEmail("[email protected]") .WithCustomId("Signer1") .WithFirstName("John") .WithLastName("Smith")) .WithDocument(DocumentBuilder.NewDocumentNamed("testDocumentExtraction") .FromFile("C:\\Users\\liangdu1\\Desktop\\work\\documents\\610\\test_document_extraction.pdf") .EnableExtraction()) .Build(); PackageId packageId = eslClient.CreatePackageOneStep(superDuperPackage); eslClient.SendPackage(packageId);
Resultados
Los campos obligatorios están resaltados para que el usuario los complete. El campo Nombre se rellenará automáticamente con OneSpan Sign cuando se complete la firma. Del mismo modo, el propietario también verá sus campos designados resaltados para completar.
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
La función de extracción de documentos crea automáticamente todas las firmas y campos que existen en un archivo PDF cargado. Las posiciones y los tamaños de las firmas, y los campos en el archivo PDF se conservan automáticamente en OneSpan Sign.
Limitaciones de la extracción de documentos
Las siguientes limitaciones afectan la extracción de documentos:
-
La extracción de documentos solo está disponible en la llamada a la API que carga el documento. No está disponible en llamadas posteriores.
-
Los siguientes campos no son compatibles con la extracción de documentos.
-
Botones de radio
-
Campos de lista
-
Campos de fecha
-
Campos personalizados
-
Área de texto
-
Configurar campos de formulario de PDF
En primer lugar, necesitará un PDF con campos de formulario, nombrados de manera que OneSpan Sign pueda reconocerlos. Para obtener más información sobre el formato adecuado de los nombres de los campos de formulario, consulte la descripción general de la función. Los nombres de los campos de formulario se muestran en la imagen siguiente.
Como puede ver, los dos firmantes del documento serán el Firmante1 y el Propietario. Estos serán los ID personalizados utilizados en la sección de código siguiente para que OneSpan Sign sepa qué campos asociar con cada firmante. De forma predeterminada, los valores utilizados para el rol de la etiqueta de extracción/fieldName son Signer1, Signer2 y así sucesivamente. Si desea incluir al remitente de la transacción como firmante, utilice la etiqueta Proprietario.
Configuración de la extracción de documentos
Por lo general, construirá su cadena JSON dinámicamente en lugar de tener una cadena estática gigante como esta. Le permite ofrecer una buena representación de la estructura de JSON que necesitará para crear su paquete correctamente.
El JSON que aparece a continuación está formateado para su legibilidad. En cada objeto de roles, verá que los ID personalizados coinciden con los de la imagen del formulario PDF que se muestra arriba. El objeto de los documentos también tiene extract a true.
De este modo, no es necesario definir los lugares de firma ni quién debe firmar el documento. Esto ya se soluciona con los ID y los nombres de campo de formulario asociados del PDF.
Solicitud HTTP
POST /api/packages
Encabezados HTTP
Accept: application/json Content-Type: multipart/form-data Authorization: Basic api_key
Carga útil de solicitud
------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" { "roles": [ { "id": "Signer1", "type": "SIGNER", "signers": [ { "firstName": "John", "lastName": "Smith", "email": "[email protected]", "id": "Signer1" } ], "name": "Signer1" } ], "documents": [ { "name": "testDocumentExtraction", "extract": true } ], "name": "Test Document Extraction", "type": "PACKAGE", "autoComplete": true, "status": "SENT" } ------WebKitFormBoundary1bNO60n7FqP5WO4t--
Para obtener una descripción completa de cada campo, consulte la tabla Carga útil de solicitud siguiente.
Carga útil de respuesta
{ "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI=" }
Resultados
Los campos obligatorios están resaltados para que el usuario los complete. El campo Nombre se rellenará automáticamente con OneSpan Sign cuando se complete la firma. Del mismo modo, el propietario también verá sus campos designados resaltados para completar.
Tabla de carga útil de solicitud
Propiedad | Tipo | Editable | Obligatorio | Predeterminado | Valores de ejemplo |
---|---|---|---|---|---|
status | string | Sí | No | BORRADOR | BORRADOR / ENVIADO / COMPLETADO / ARCHIVADO / RECHAZADO / ELEGIR NO HACERLO / CADUCÓ |
autoComplete | boolean | Sí | No | true | true / false |
type | string | Sí | No | PAQUETE | PAQUETE / FORMULARIO / FORMATO |
name | string | Sí | Sí | n/a | Extracción de documentos de prueba |
documents | |||||
name | string | Sí | No | n/a | testDocumentExtraction |
extract | boolean | Sí | No | false | true / false |
roles | |||||
id | string | Sí | No | n/a | Preparer1 |
name | string | Sí | No | n/a | Remitente |
type | string | Sí | No | FIRMANTE | FIRMANTE / REMITENTE |
signers | |||||
string | Sí | Sí | n/a | [email protected] | |
firstName | string | Sí | Sí | n/a | Michael |
lastName | string | Sí | Sí | n/a | Williams |
phone | string | Sí | No | n/a | 514-555-8888 |
id | string | Sí | No | n/a | Preparer1 |
delivery | |||||
boolean | Sí | No | false | true / false | |
provider | boolean | Sí | No | false | true / false |
download | boolean | Sí | No | false | true / false |
Para descargar la muestra de código completa, consulte nuestro sitio Code Share. El PDF utilizado en este tema se puede encontrar aquí.
La función de extracción de documentos crea automáticamente todas las firmas y campos que existen en un archivo PDF cargado. Las posiciones y los tamaños de las firmas, y los campos en el archivo PDF se conservan automáticamente en OneSpan Sign.
Limitaciones de la extracción de documentos
Las siguientes limitaciones afectan la extracción de documentos:
-
La extracción de documentos solo está disponible en la llamada a la API que carga el documento. No está disponible en llamadas posteriores.
-
Los siguientes campos no son compatibles con la extracción de documentos.
-
Botones de radio
-
Campos de lista
-
Campos de fecha
-
Campos personalizados
-
Área de texto
-
Configurar campos de formulario de PDF
En primer lugar, necesitará un PDF con campos de formulario, nombrados de manera que OneSpan Sign pueda reconocerlos. Para obtener más información sobre el formato adecuado de los nombres de los campos de formulario, consulte la descripción general de la función. Los nombres de los campos de formulario se muestran en la imagen siguiente.
Como puede ver, los dos firmantes del documento serán el Firmante1 y el Propietario. Estos serán los ID personalizados utilizados en la sección de código siguiente para que OneSpan Sign sepa qué campos asociar con cada firmante.
Configuración de la extracción de documentos
El siguiente código de ejemplo muestra cómo configurar su transacción para la extracción de documentos. En cada objeto Role , verá que los atributos de nombre coinciden con los de la imagen del formulario PDF que se muestra arriba.
Dado que el remitente de la transacción se agregará de forma predeterminada a la lista de firmantes con el nombre del rol de Propietario, no tiene que construir explícitamente el objeto del Role del remitente.
En el objeto Document , el atributo extract también se establece en true.
De este modo, no es necesario definir los lugares de firma ni quién debe firmar el documento. Esto ya se soluciona con los ID y los nombres de campo de formulario asociados del PDF.
ESignLiveSDK sdk = new ESignLiveSDK(); //Create package ESignLiveAPIObjects.Package_x pkg = new ESignLiveAPIObjects.Package_x(); pkg.name = 'Test Document Extraction - ' + Datetime.now().format(); pkg.status = ESignLiveAPIObjects.PackageStatus.DRAFT; //Create Roles String roleId1 = 'Signer1'; ESignLiveAPIObjects.Role role1 = new ESignLiveAPIObjects.Role(); role1.signers = sdk.createRolesSigner('sigenr1_firstname', 'signer1_lastname', '[email protected]', 'CEO', 'ABC Bank'); role1.id = roleId1; role1.name = roleId1; pkg.roles = new List<ESignLiveAPIObjects.Role>{role1}; //add role //Prepare Documents Blob String document1Name = 'Sample_Document_Extraction'; StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'test_document_extraction' LIMIT 1]; Map<String,Blob> documentBlobMap = new Map<String,Blob>(); documentBlobMap.put(document1Name, sr.Body); //Create Document Metadata ESignLiveAPIObjects.Document document1 = new ESignLiveAPIObjects.Document(); document1.name = document1Name; document1.id = document1Name; document1.extract = true; pkg.documents = new List<ESignLiveAPIObjects.Document>{document1}; //add document //Send package One Step String packageId = sdk.createPackage(pkg,documentBlobMap); System.debug('PackageId: ' + packageId);
Resultados
Los campos obligatorios están resaltados para que el usuario los complete. El campo Nombre se rellenará automáticamente con OneSpan Sign cuando se complete la firma. Del mismo modo, el propietario también verá sus campos designados resaltados para completar.