- 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
- ContentValidationData Class
- EvaluatedBusinessRulesForFieldValue Class
- EvaluatedBusinessRuleDetails Class
- Clase
- Clase
- Clase ExtractorDocumentType
- Clase ExtractorDocumentTypeCapabilities
- Clase ExtractorFieldCapability
- Clase
- Clase ExtractorResult
- FieldValue Class
- FieldValueResult Class
- 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
- Rule Class
- RuleResult Class
- RuleSet Class
- RuleSetResult Class
- 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
- FieldValueDetails Class
- 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
- Clase BasicDataPoint: vista previa
- Clase ExtractionResultHandler: vista previa
- Document Understanding ML
- Servidor local de OCR de Document Understanding
- Document Understanding
- Notas relacionadas
- Acerca del paquete de actividades Document Understanding
- Compatibilidad de proyectos
- Configurar la conexión externa
- 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
- 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
- Crear artefactos de validación de documentos
- Recuperar artefactos de validació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
- Entrenador del extractor de proyectos de Document Understanding
- Extractor basado en regex
- Extractor de forma
- Extractor inteligente de formularios
- Redactar documento
- 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
- Extractor con aprendizaje automático
- Entrenador de extractor con aprendizaje automático
- Clasificador de aprendizaje automático
- Entrenador del clasificador de aprendizaje automático
- Clasificador generativo
- Extractor generativo
- Configurar autenticación
- Validar documentos con acciones de la aplicació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
- Actividades generativas: buenas prácticas
- Extractor generativo: buenas prácticas
- Clasificador generativo: buenas prácticas
- 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
Actividades de Document Understanding
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 datos o Extractor inteligente de formularios. Puedes encontrar estas actividades en el paquete UiPath.IntelligentOCR.Activities .
Crear el flujo de trabajo
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.
-
Añade un contenedor Secuencia en el Diseñador de flujo de trabajo, nómbralo Secuencia1 y crea las variables mostradas en la siguiente tabla:
Tabla 1. Variables que se crearán
Tipo de variable Valor predeterminado itemCadena N/D classificationResultClassificationResult[] N/D outputFileNameValorGenérico N/D -
Añade otro contenedor Secuencia en el Diseñador de flujo de trabajo, después del primero, nómbralo Secuencia2 y crea las variables mostradas en la siguiente tabla:
Tabla 2. Variables que se crearán
Tipo de variable Valor predeterminado textCadena N/D taxonomyDocumentTaxonomy N/D domDocumento N/D documentPathCadena N/D classificationResult2ClassificationResult[] N/D outputFileName2ValorGenérico N/D -
Add a Message Box activity inside the sequence.
- En el panel Propiedades , selecciona la opción Aceptar en el menú desplegable Botones . Añade el siguiente mensaje en el campo Texto : "Seleccionar un archivo PDF".
-
Selecciona la casilla de verificación de la opción EncimaDelTodo. Esto trae el cuadro de mensaje al primer plano.
-
Añade una actividad Seleccionar archivo después de la actividad Cuadro de mensaje.
- En el panel Propiedades , añade el siguiente texto en el campo Filtro :
Pdf files (*.pdf)|*.pdf - Add the
documentPathvariable in the SelectedFile field.
- En el panel Propiedades , añade el siguiente texto en el campo Filtro :
-
Añade una actividad Asignar después de la actividad Seleccionar archivo.
- Add the
outputFileName2variable in the To field. - Agrega la expresión
".temp/" + Path.GetFileName(documentPath)en el campo Valor.
- Add the
-
Añade una actividad Deserializar JSON después de la actividad Asignar.
- Add the expression
File.ReadAllText("DocumentProcessing axonomy.json")in the JSON String field. - In the Properties panel, select the UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy option from the TypeArgument dropdown list.
- Add the
taxonomyvariable in the JsonObject field.
- Add the expression
-
Añade una actividad Digitalizar documento después de la actividad Deserializar JSON.
- In the Properties panel, add the value
1in the DegreeOfParallelism field. - Add the
documentPathvariable in the DocumentPath field. - Add the
domvariable in the DocumentObjectModel field. - Add the
textvariable in the DocumentText field. - Añade el motor UiPath® Document OCR dentro de la actividad.
- Add your API Key inside the ApiKey field.
- Add the
"https://du.uipath.com/ocr"expression in the Endpoint field.
- In the Properties panel, add the value
-
Añade una actividad Escribir archivo de texto después de la actividad Digitalizar documento.
- Add the
JsonConvert.SerializeObject(dom)expression in the Text field. - Add the
outputFileName2 + ".dom.json"expression in the FileName field.
- Add the
-
Añade otra actividad Escribir archivo de texto después de la actividad Escribir archivo de texto.
- Add the
textvariable in the Text field. - Add the
outputFileName2 + ".text.txt"expression in the FileName field.
- Add the
-
Arrastra otro contenedor Secuencia en el Diseñador de flujo de trabajo, nómbralo Secuencia3 y crea las variables mostradas en la siguiente tabla:
Tabla 3. Variables que se crearán
Tipo de variable Valor predeterminado extractionResultResultadoDeExtracción N/D validatedResultsResultadoDeExtracción N/D doubleValidatedResultsResultadoDeExtracción N/D datasetConjuntoDeDatos N/D iInt32 N/D -
Add a Data Extraction Scope activity inside the Sequence3.
- In the Properties panel, add the
domvariable in the DocumentObjectModel field. - Add the
documentPathvariable in the DocumentPath field. - Add the
textvariable in the DocumentText field. - Add the
"All.Benchmarks.Invoice"expression in the DocumentTypeId field. - Add the
taxonomyvariable in the Taxonomy field. - Add the
extractionResultvariable in the ExtractionResults field.
- In the Properties panel, add the
-
Add an Intelligent Form Extractor activity inside the Data Extraction Scope activity.
- Add your API Key in the ApiKey field.
-
Añade una actividad Escribir archivo de texto después de la actividad Ámbito de extracción de datos.
- Add the
JsonConvert.SerializeObject(extractionResult)expression in the Text field. - Add the
outputFileName2 + ".results.json"expression in the FileName field.
- Add the
-
Añade una actividad Estación de validación presente después de la actividad Escribir archivo de texto.
- Add the
extractionResultvariable in the AutomaticExtractionResults field. - Add the
domvariable in the DocumentObjectModel field. - Add the
documentPathvariable in the DocumentPath field. - Add the
textvariable in the DocumentText field. - Add the
taxonomyvariable in the Taxonomy field. - Add the
validatedResultsvariable in the ValidatedExtractionResults field.
- Add the
-
Añade una actividad Escribir archivo de texto después de la actividad Estación de validación presente.
- Add the
JsonConvert.SerializeObject(validatedResults)expression in the Text field. - Add the
outputFileName2 + ".savedinVS.results.json"expression in the FileName field.
- Add the
-
Añade otra actividad Escribir archivo de texto después de la actividad Escribir archivo de texto.
- Add the
JsonConvert.SerializeObject(doubleValidatedResults)expression in the Text field. - Add the
outputFileName2 + ".doubleSavedinVS.results.json"expression in the FileName field.
- Add the
-
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.
Visita el siguiente enlace para descargar el ejemplo en formato ZIP : Ejemplo.
Definiendo su taxonomía
Ha creado su flujo de trabajo, definido todas las variables y personalizado todas las actividades. Ahora es el momento de definir tu taxonomía. Consulta Cargar taxonomía para aprender a definir tu propia taxonomía.
Crea tu taxonomía para poder extraer información de una factura. Debes centrarte en crear un tipo de documento Factura, con los campos mostrados en la siguiente tabla:
Tabla 4. Campos de tipo de documento de factura
| Tipo de campo | |
|---|---|
| FacturaNo | Text |
| Subtotal | Number |
| Impuestos sobre las ventas | Number |
| Total | Number |
Figura 1. Descripción general de la taxonomía terminada con los campos mencionados anteriormente

Crear tu plantilla
Ahora es el momento de crear la plantilla para el proceso de extracción. Consulta Cargar taxonomía para aprender a crear una plantilla.
Para este ejemplo, configura la plantilla utilizando los siguientes valores:
- Tipo de documento: Factura.
- Nombre de la plantilla: Factura-ejemplo.
- Documento de plantilla: selecciona el archivo de destino.
- Motor OCR: Microsoft OCR.
- Idiomas: en.
- Perfil: escanear.
- Escala: 1.
Figura 2. Ejemplo de imagen animada que muestra la configuración de la plantilla

Establecer anclajes en la plantilla
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.
Consulta la siguiente lista para algunos punteros antes de empezar a añadir anclajes a tu plantilla:
- 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.
Continuemos configurando la plantilla y veamos cómo puedes extraer datos utilizando un anclaje.
- Establecer el área de extracción:
-
En el área derecha de la estación de validación, selecciona Modos de selección.
-
Selecciona Anclaje.
-
Comienza a seleccionar el área deseada.
Nota:El anclaje principal debe contener dos o tres palabras para una alta precisión y mejores resultados en el proceso de extracción.
Selecciona varias palabras al etiquetar un anclaje pulsando CTRL y seleccionando las palabras deseadas.
-
- Establece el anclaje principal:
- Mientras aún estás en el modo de selección Anclaje, selecciona el área deseada como tu anclaje principal.
- Selecciona Extraer valor para el campo deseado.
- Establece los anclajes secundarios:
- Asegúrate de estar aún en el modo de selección Anclaje y con las selecciones de anclaje principales activadas.
- Selecciona las nuevas áreas para los anclajes secundarios.
- Selecciona Opciones para el campo deseado y luego selecciona Cambiar valor extraído.
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.