/// <summary> /// Ejecuta el aprendizaje de patrones sobre unos /// metadatos de factura y datos leídos de pdf previos. /// </summary> public void ExecutePatternsLearning() { if (string.IsNullOrEmpty(Pdf.DocID)) { throw new InvalidOperationException("Es necesario un valor Pdf.DocID."); } PdfCompareResult compareResult = PdfCompare.Compare(new BusinessInvoiceHierarchySet(), Pdf, Invoice); PdfTagPatternFactory.Save(compareResult); }
/// <summary> /// Intenta la extracción de datos mediante patrones /// aprendidos. /// </summary> public void Extract() { try { Store = PdfTagPatternFactory.GetStore(Pdf); } catch { } if (Store != null) { ExtractionResult = Store.Extract(Pdf); Invoice = ExtractionResult.Metadata as InvoiceMetadata; } }
/// <summary> /// Intenta la extracción de datos mediante patrones aprendidos. /// Realiza una comparación entre metadata ya revisado y el texto extraído por los patrones. /// </summary> public void ExtractWithCheck(IMetadata metadata) { try { Store = PdfTagPatternFactory.GetStore(Pdf); } catch { } CheckResult = new PdfCheckResult(Pdf, metadata); if (Store != null) { Console.WriteLine("Extrayendo"); CheckResult.ErrorPatterns = Store.ExtractToCheck(CheckResult); Console.WriteLine("Guardando"); PdfTagPatternFactory.SaveCheck(CheckResult); } }