- Información general
- Contratos de procesamiento de documentos
- Notas relacionadas
- Acerca de los contratos de procesamiento de documento
- Clase Cuadro
- Interfaz IPersistedActivity
- Clase PrettyBoxConverter
- Interfaz IClassifierActivity
- Interfaz IClasificadorProveedorDeCapacidades
- Clase ClassifierDocumentType
- Clase ClassifierResult
- ClassifierCodeActivity Class
- ClassifierNativeActivity Class
- ClassifierAsyncCodeActivity Class
- Clase ClasificadorCapacidadDeTipoDeDocumento
- Clase
- Clase
- Clase ExtractorDocumentType
- Clase ExtractorDocumentTypeCapabilities
- Clase ExtractorFieldCapability
- Clase
- Clase ExtractorResult
- Interfaz ICapabilitiesProvider
- Interfaz IExtractorActivity
- Clase ExtractorPayload
- Enumeración DocumentActionPriority
- Clase DocumentActionData
- Enumeración DocumentActionStatus
- DocumentActionType Enum
- Clase DocumentClassificationActionData
- Clase DocumentValidationActionData
- Clase UserData
- Clase Documento
- Clase DocumentoDividirResultado
- Clase DomExtensions
- Clase Página
- Clase SecciónDePágina
- Clase de polígono
- Clase PolygonConverter
- Clase de metadatos
- Clase GrupoDeWord
- Clase Word
- Enum FuenteDeProcesamiento
- Clase ResultadosTablaCelda
- Clase ResultadosTablaValor
- Clase ResultadosTablaColumnaInfo
- Clase TablaDeResultados
- Enum Rotación
- Enum TipoDeSección
- Enum TipoDeGrupoDeWord
- Interfaz IDocumentTextProjection
- Clase ResultadoDeClasificación
- Clase ResultadoDeExtracción
- Clase ResultadosDeDocumento
- Clase ResultadosDeLímitesDeDocumento
- Clase ResultadosDePuntoDeDatos
- Clase ResultadosDeValor
- Clase ResultadosDeContenidoDeReferencia
- Clase ResultadosDeValorDeTokens
- Clase ResultadosDeCampoDerivado
- Enum ResultadosDeFuenteDeDatos
- Clase ResultadoDeConstantes
- Clase ValorDeCampoSimple
- Clase ValorDeCampoDeTabla
- Clase GrupoDeDocumento
- Clase TaxonomíaDeDocumento
- Clase TipoDeDocumento
- Clase Campo
- Enum TipoDeCampo
- Clase InformaciónDeLenguaje
- Clase MetadataEntry
- Enumeración de tipo de texto
- Clase TipoDeCampo
- Interfaz de actividad de ITracking
- Interfaz de ITrainableActivity
- Interfaz ITrainableClassifierActivity
- Interfaz ITrainableExtractorActivity
- Clase TrainableClassifierAsyncCodeActivity
- Clase TrainableClassifierCodeActivity
- Clase TrainableClassifierNativeActivity
- Clase TrainableExtractorAsyncCodeActivity
- Clase TrainableExtractorCodeActivity
- Clase TrainableExtractorNativeActivity
- Digitalizador de Document Understanding
- Document Understanding ML
- Servidor local de OCR de Document Understanding
- Document Understanding
- Notas relacionadas
- Acerca del paquete de actividades Document Understanding
- Compatibilidad de proyectos
- Establecer contraseña de PDF
- Fusionar PDF
- Obtener el recuento de páginas del PDF
- Extraer texto en PDF
- Extraer imágenes en PDF
- Extraer rango de página en PDF
- Extraer datos del documento
- Cree una tarea de validación y espere
- Esperar la tarea de validación y continuar
- Crear tarea de validación
- Clasificar documento
- Crear tarea de validación de clasificación
- Crear tarea de validación de clasificación y esperar
- Esperar la tarea de validación de clasificación y reanudar
- OCRInteligente
- Notas relacionadas
- Acerca del paquete de actividades IntelligentOCR
- Compatibilidad de proyectos
- Configurar autenticación
- Cargar taxonomía
- Digitalizar documento
- Clasificar ámbito de documento
- Clasificador basado en palabras clave
- Clasificador de proyectos de Document Understanding
- Clasificador inteligente de palabra clave
- Crear acción de clasificación de documentos
- Esperar la acción de clasificación de documentos y reanudar
- Entrenar el alcance de los clasificadores
- Entrenador del clasificador basado en palabras clave
- Entrenador del clasificador inteligente de palabra clave
- Alcance de la extracción de información
- Extractor de proyectos de Document Understanding
- Extractor basado en regex
- Extractor de forma
- Extractor inteligente de formularios
- Mostrar Estación de Validación
- Crear acción de validación de documentos
- Esperar la acción de validación de documentos y reanudar
- Entrenar el alcance de los Extractores
- Exportar resultados de extracción
- Validación manual para digitalizar documentos
- Extracción de datos basada en anclajes utilizando el extractor inteligente de formularios
- Estación de validación
- Servicios ML
- OCR
- Contratos OCR
- Notas relacionadas
- Acerca de los contratos OCR
- Compatibilidad de proyectos
- IOCRActivity Interface
- OCRAsyncCodeActivity Class
- OCRCodeActivity Class
- OCRNativeActivity Class
- Clase Carácter
- Clase OCRResult
- Clase Word
- FontStyles Enum
- OCRRotation Enum
- Clase OCRCapabilities
- OCRScrapeBase Class
- OCRScrapeFactory Class
- ScrapeControlBase Class
- Enum ScrapeEngineUsages
- ExtraerBaseDelEctor
- Clase ScrapeEngineFactory
- Clase ExtraerEngineProvider
- OmniPage
- PDF
- [No en la lista] Abbyy
- [No en la lista] Abbyy incrustado
Extracción de datos basada en anclajes utilizando el extractor inteligente de formularios
El siguiente ejemplo explica cómo extraer datos de un formulario que también puede incluir texto escrito a mano. El siguiente escenario de caso de uso explica cómo extraer datos de una orden de compra.
Presenta actividades como Digitalizar documento, Ámbito de extracción de datoso Extractor inteligente de formularios. Puedes encontrar estas actividades en el paquete UiPath.IntelligentOCR.Activities .
Los siguientes paquetes deben instalarse antes de crear el siguiente flujo de trabajo:
- UiPath.DocumentProcessing.Contracts.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.WebApi.Activities
Steps:
- Abre Studio y crea un nuevo Proceso.
- Add a Sequence container in the Workflow Designer, name it Sequence1, and create the variables shown in the following table:
Table 1. Variables to be created Nombre de la variable
Tipo de variable
Valor predeterminado
item
Cadena
N/D classificationResult
ClassificationResult[]
N/D outputFileName
ValorGenérico
N/D - Add another Sequence container in the Workflow Designer, after the first one, name it Sequence2, and create the variables shown in the following table:
Table 2. Variables to be created Nombre de la variable
Tipo de variable
Valor predeterminado
text
Cadena
N/D taxonomy
DocumentTaxonomy
N/D dom
Documento
N/D documentPath
Cadena
N/D classificationResult2
ClassificationResult[]
N/D outputFileName2
ValorGenérico
N/D - Añade una actividad de Cuadro de mensajes dentro de la secuencia.
- En el panel de Propiedades , selecciona la opción Aceptar en el menú desplegable Botones . Añade el siguiente mensaje en el campo Texto : "Seleccionar archivo PDF".
- Selecciona la casilla de verificación de la opción EncimaDelTodo. Esto trae el cuadro de mensaje al primer plano.
- Add a Select File activity after the Message Box activity.
- In the Properties panel, add the following text in the Filter field:
Pdf files (*.pdf)|*.pdf
- Añade la variable
documentPath
en el campo ArchivoSeleccionado .
- In the Properties panel, add the following text in the Filter field:
- Add an Assign activity after the Select File activity.
- Añade la variable
outputFileName2
en el campo Para . - Agrega la expresión
".temp/" + Path.GetFileName(documentPath)
en el campo Valor.
- Añade la variable
- Add a Deserialize JSON activity after the Assign activity.
- Añade la expresión
File.ReadAllText("DocumentProcessing axonomy.json")
en el campo Cadena JSON. - En el panel Propiedades , selecciona la opción UiPath.DocumentProcessing.Contracts.Taxonomía.DocumentoTaxonomía en la lista desplegable TypeArgument .
- Añade la variable
taxonomy
en el campo ObjetoJson.
- Añade la expresión
- Add a Digitize Document activity after the Deserialize JSON activity.
- En panel Propiedades añade el valor
1
en el campo GradoDeParalelismo. - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
dom
en el campo ModeloDeObjetoDelDocumento. - Añade la variable
text
en el campo TextoDeDocumento. - Añade el motor UiPath® Document OCR dentro de la actividad.
- Agrega tu clave de API dentro del campo ClaveDeAPI .
- Añade la expresión
"https://du.uipath.com/ocr"
en el campo Punto final .
- En panel Propiedades añade el valor
- Add a Write Text File activity after the Digitize Document activity.
- Añade la expresión
JsonConvert.SerializeObject(dom)
en el campo Texto. - Añade la expresión
outputFileName2 + ".dom.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Add another Write Text File activity after the Write Text File activity.
- Añade la variable
text
en el campo Texto. - Añade la expresión
outputFileName2 + ".text.txt"
en el campo NombreDeArchivo.
- Añade la variable
- Drag another Sequence container in the Workflow Designer, name it Sequence3, and create the variables shown in the following table:
Table 3. Variables to be created Nombre de la variable
Tipo de variable
Valor predeterminado
extractionResult
ResultadoDeExtracción
N/D validatedResults
ResultadoDeExtracción
N/D doubleValidatedResults
ResultadoDeExtracción
N/D dataset
ConjuntoDeDatos
N/D i
Int32
N/D - Añade una actividad Ámbito de extracción dentro de Sequence3.
- En el panel Propiedades , añade la variable
dom
en el campo ModeloDeObjetoDeDocumento . - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
text
en el campo TextoDeDocumento. - Añade la expresión
"All.Benchmarks.Invoice"
en el campo DocumentTypeId . - Añade la variable
taxonomy
en el campo Taxonomía. - Añade la variable
extractionResult
en el campo ResultadosDeExtracción .
- En el panel Propiedades , añade la variable
- Añade una actividad Extractor inteligente de formularios dentro de la actividad Ámbito de extracción de datos .
- Añade tu clave API en el campo ClaveApi.
- Add a Write Text File activity after the Data Extraction Scope activity.
- Añade la expresión
JsonConvert.SerializeObject(extractionResult)
en el campo Texto. - Añade la expresión
outputFileName2 + ".results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Add a Present Validation Station activity after the Write Text File activity.
- Añade la variable
extractionResult
en el campo ResultadosDeExtracciónAutomática. - Añade la variable
dom
en el campo ModeloDeObjetoDelDocumento. - Añade la variable
documentPath
en el campo RutaDelDocumento . - Añade la variable
text
en el campo TextoDeDocumento. - Añade la variable
taxonomy
en el campo Taxonomía. - Añade la variable
validatedResults
en el campo ResultadosDeExtracciónValidados.
- Añade la variable
- Add a Write Text File activity after the Present Validation Station activity.
- Añade la expresión
JsonConvert.SerializeObject(validatedResults)
en el campo Texto. - Añade la expresión
outputFileName2 + ".savedinVS.results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Add another Write Text File activity after the Write Text File activity.
- Añade la expresión
JsonConvert.SerializeObject(doubleValidatedResults)
en el campo Texto. - Añade la expresión
outputFileName2 + ".doubleSavedinVS.results.json"
en el campo NombreDeArchivo.
- Añade la expresión
- Ejecuta el proceso. El proceso de automatización debe abrir la Estación de validación, extraer los datos, validarlos y almacenarlos en la carpeta de Salida.
ZIP
format: Example.
You have created your workflow, defined all variables, and customized all activities. Now it's time to define your taxonomy. Visit Load Taxonomy to learn about defining your own taxonomy.
Create your taxonomy to be able to extract information from an invoice. You should be focused on creating an Invoice document type, with the fields shown in the following table:
Nombre del campo |
Tipo de campo |
---|---|
FacturaNo |
|
Subtotal |
|
Impuestos sobre las ventas |
|
Total |
|
It is now time to create the template for the extraction process. Visit Load Taxonomy to learn how to create a template.
- Document Type: Invoice.
- Template Name: Invoice-example.
- Template Document: Select the target file.
- OCR Engine: Microsoft OCR.
- Languages: en.
- Profile: Scan.
- Scale: 1.
Los anclajes son una característica muy especial y útil que se puede utilizar cuando se necesita extraer información precisa de un documento. Al definir un área de extracción con un anclaje, puede esperar una alta precisión en la extracción de datos.
Una vez definida la taxonomía y creada la plantilla, puedes empezar a configurar la plantilla mediante el uso de anclajes, lo que significa que el área de extracción se define en un cuadro y los anclajes se utilizan para definir la posición del cuadro.
Check the following list for some pointers before starting adding anchors to your template:
- El cuadro de anclaje debe ser lo más grande posible (alto, ancho) para cubrir cualquier tipo de número de factura, fuente larga, corta, grande, etc.
- Un área de extracción puede tener tantos anclajes como sea necesario, pero solo uno definido como principal (el primero).
- Utilice anclajes formados por varias palabras en paralelo.
- El anclaje principal debe estar lo más cerca posible del área de extracción.
- Las posiciones del área de extracción y el anclaje principal se fijan en la plantilla, incluso cuando se aplican a diferentes documentos. Lo único que puede variar es la distancia entre el anclaje principal y los secundarios.
Let's continue configuring the template and see how you can extract data using an anchor.
- Set the extraction area:
- In the right area of the Validation Station, select Selection modes.
- Select Anchor.
- Start selecting the desired area.
Figure 3. Animated image showing how to set the extraction area
Nota:El anclaje principal debe contener dos o tres palabras para una alta precisión y mejores resultados en el proceso de extracción.
Select multiple words when tagging an anchor by pressing CTRL and selecting the desired words.
- Set the main anchor:
- While still in the Anchor selection mode, select the desired area as your main anchor.
- Select Extract value for the desired field.
Figure 4. Animated image example showing how to set the main anchor
- Set the secondary anchors:
- Ensure you're still in the Anchor selection mode, and with the main anchor selections activated.
- Select the new areas for the secondary anchors.
- Select Options for the desired field, and then select Change extracted value.
Figure 5. Animated image example showing how to set secondary anchors
Repite el proceso hasta que hayas terminado de definir todas las áreas de extracción y añadir todos los anclajes. Una vez terminado, guarde la plantilla.