ByteScout Data Extraction Suite - VB.NET - Pdf invoice parsing with pdf extractor sdk - ByteScout

ByteScout Data Extraction Suite – VB.NET – Pdf invoice parsing with pdf extractor sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Data Extraction Suite – VB.NET – Pdf invoice parsing with pdf extractor sdk

pdf invoice parsing with pdf extractor sdk in VB.NET and ByteScout Data Extraction Suite

pdf invoice parsing with pdf extractor sdk in VB.NET

The documentation is crafted to assist you to apply the features on your side easily. Pdf invoice parsing with pdf extractor sdk in VB.NET can be applied with ByteScout Data Extraction Suite. ByteScout Data Extraction Suite is the set that includes 3 SDK products for data extraction from PDF, scans, images and from spreadsheets: PDF Extractor SDK, Data Extraction SDK, Barcode Reader SDK.

VB.NET code snippet like this for ByteScout Data Extraction Suite works best when you need to quickly implement pdf invoice parsing with pdf extractor sdk in your VB.NET application. To use pdf invoice parsing with pdf extractor sdk in your VB.NET project or application just copy & paste the code and then run your app! These VB.NET sample examples can be used in one or many applications.

On our website you may get trial version of ByteScout Data Extraction Suite for free. Source code samples are included to help you with your VB.NET application.

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

Module1.vb
      
Imports System.Drawing Imports Bytescout.PDFExtractor Module Module1 Sub Main() ' Create TextExtractor instance Dim textExtractor = New TextExtractor("demo", "demo") textExtractor.WordMatchingMode = WordMatchingMode.ExactMatch ' Set exact search (default is SmartSearch that works like in Adobe Reader) ' Create XMLExtractor instance Dim xmlExtractor = New XMLExtractor("demo", "demo") ' Load document textExtractor.LoadDocumentFromFile("Invoice.pdf") xmlExtractor.LoadDocumentFromFile("Invoice.pdf") ' Results Dim invoiceNo = String.Empty Dim invoiceDate = String.Empty Dim total = String.Empty Dim tableData = String.Empty ' Iterate pages For i As Integer = 0 To textExtractor.GetPageCount() - 1 Dim pageRectangle = textExtractor.GetPageRectangle(i) Dim tableRect = New RectangleF(0, 0, pageRectangle.Width, 0) ' Search for "Invoice No." If textExtractor.Find(i, "Invoice No.", False) Then ' Get the found text rectangle Dim textRect = textExtractor.FoundText.Bounds ' Assume the text at right is the invoice number. ' Shift the rectangle to the right: textRect.X = textRect.Right textRect.Width = pageRectangle.Right - textRect.Left ' Set the extraction region and extract the text textExtractor.SetExtractionArea(textRect) invoiceNo = textExtractor.GetTextFromPage(i).Trim() End If ' Search for "Invoice Date" and extract text at right If textExtractor.Find(i, "Invoice Date", False) Then Dim textRect = textExtractor.FoundText.Bounds textRect.X = textRect.Right textRect.Width = pageRectangle.Right - textRect.Left textExtractor.SetExtractionArea(textRect) invoiceDate = textExtractor.GetTextFromPage(i).Trim() End If ' Search for "Quantity" keyword to detect the top of the tabular data rectangle If textExtractor.Find(i, "Quantity", False) Then ' Keep the top table coordinate tableRect.Y = textExtractor.FoundText.Bounds.Top ' use textRect.Bottom if you want to skip column headers End If ' Search and extract "TOTAL" (it will be also the bottom of tabular data rectangle) If textExtractor.Find(i, "TOTAL", True) Then ' case sensitive! Dim textRect = textExtractor.FoundText.Bounds textRect.X = textRect.Right textRect.Width = pageRectangle.Right - textRect.Left textExtractor.SetExtractionArea(textRect) total = textExtractor.GetTextFromPage(i).Trim() ' Calculate the table height tableRect.Height = textRect.Top - tableRect.Top End If ' Extract tabular data using XMLExtractor If tableRect.Height > 0 Then xmlExtractor.SetExtractionArea(tableRect) tableData = xmlExtractor.GetXMLFromPage(i) End If Next ' Display extracted data Console.WriteLine("Invoice No.: " + invoiceNo) Console.WriteLine("Invoice Date: " + invoiceDate) Console.WriteLine("TOTAL: " + total) Console.WriteLine("Table Data: ") Console.WriteLine(tableData) ' Cleanup textExtractor.Dispose() xmlExtractor.Dispose() Console.WriteLine() Console.WriteLine("Press any key...") Console.ReadKey() End Sub End Module

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Data Extraction Suite Home Page

Explore ByteScout Data Extraction Suite Documentation

Explore Samples

Sign Up for ByteScout Data Extraction Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Data Extraction Suite Home Page

Explore ByteScout Data Extraction Suite Documentation

Explore Samples

Sign Up for ByteScout Data Extraction Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next