ByteScout PDF Suite - VB.NET - Pdf invoice parsing with pdf extractor sdk - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

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

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

pdf invoice parsing with pdf extractor sdk in VB.NET with ByteScout PDF Suite

Learn to code in VB.NET to make pdf invoice parsing with pdf extractor sdk with this simple How-To tutorial

Here you may get thousands pre-made source code samples for simple implementation in your own programming VB.NET projects. ByteScout PDF Suite was made to help with pdf invoice parsing with pdf extractor sdk in VB.NET. ByteScout PDF Suite is the bundle that provides six different SDK libraries to work with PDF from generating rich PDF reports to extracting data from PDF documents and converting them to HTML. This bundle includes PDF (Generator) SDK, PDF Renderer SDK, PDF Extractor SDK, PDF to HTML SDK, PDF Viewer SDK and PDF Generator SDK for Javascript.

The below SDK samples describe how to quickly make your application do pdf invoice parsing with pdf extractor sdk in VB.NET with the help of ByteScout PDF Suite. Just copy and paste this VB.NET sample code to your VB.NET application’s code editor, add a reference to ByteScout PDF Suite (if you haven’t added yet) and you are ready to go! Want to see how it works with your data then code testing will allow the function to be tested and work properly.

If you want to try other samples for VB.NET then free trial version of ByteScout PDF Suite is available on our website.

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 PDF Suite Home Page

Explore ByteScout PDF Suite Documentation

Explore Samples

Sign Up for ByteScout PDF 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 PDF Suite Home Page

Explore ByteScout PDF Suite Documentation

Explore Samples

Sign Up for ByteScout PDF Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next