What is ByteScout Document Parser SDK? It is the robost offline data extraction platform for template based data extraction and processing. Supports high load with millions of documents as input. Templates can be quickly created and updated with no special technical knowledge required.
On-demand (REST Web API) version:
Web API (on-demand version)
On-premise offline SDK for Windows:
60 Day Free Trial (on-premise)
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.27703.2026
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "LifeAndAnnuityQuoteRequest", "LifeAndAnnuityQuoteRequest.vbproj", "{A5FA1293-C15B-4249-A771-ED4301658454}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A5FA1293-C15B-4249-A771-ED4301658454}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A5FA1293-C15B-4249-A771-ED4301658454}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5FA1293-C15B-4249-A771-ED4301658454}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A5FA1293-C15B-4249-A771-ED4301658454}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {DCA85560-1523-40E0-917A-5BB3AA7E031F}
EndGlobalSection
EndGlobal
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{A5FA1293-C15B-4249-A771-ED4301658454}</ProjectGuid>
<OutputType>Exe</OutputType>
<StartupObject>LifeAndAnnuityQuoteRequest.Module1</StartupObject>
<RootNamespace>LifeAndAnnuityQuoteRequest</RootNamespace>
<AssemblyName>LifeAndAnnuityQuoteRequest</AssemblyName>
<FileAlignment>512</FileAlignment>
<MyType>Console</MyType>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\Debug\</OutputPath>
<DocumentationFile>LifeAndAnnuityQuoteRequest.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DefineDebug>false</DefineDebug>
<DefineTrace>true</DefineTrace>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DocumentationFile>LifeAndAnnuityQuoteRequest.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
</PropertyGroup>
<PropertyGroup>
<OptionExplicit>On</OptionExplicit>
</PropertyGroup>
<PropertyGroup>
<OptionCompare>Binary</OptionCompare>
</PropertyGroup>
<PropertyGroup>
<OptionStrict>Off</OptionStrict>
</PropertyGroup>
<PropertyGroup>
<OptionInfer>On</OptionInfer>
</PropertyGroup>
<ItemGroup>
<Reference Include="ByteScout.DocumentParser, Version=1.0.0.100, Culture=neutral, PublicKeyToken=f7dd1bd9d40a50eb, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>c:\Program Files\ByteScout Document Parser SDK\net40\ByteScout.DocumentParser.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Import Include="Microsoft.VisualBasic" />
<Import Include="System" />
<Import Include="System.Collections" />
<Import Include="System.Collections.Generic" />
<Import Include="System.Data" />
<Import Include="System.Diagnostics" />
<Import Include="System.Linq" />
<Import Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Compile Include="Module1.vb" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\SampleGroupDisabilityForm.pdf">
<Link>SampleGroupDisabilityForm.pdf</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="SampleGroupDisabilityForm.yml">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
</Project>
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
Imports System.IO
Imports System.Text
Imports ByteScout.DocumentParser
Imports Newtonsoft.Json.Linq
Module Module1
Sub Main()
' Sample document containing life and annuity quote request form
Dim sampleDocument As String = ".\SampleGroupDisabilityForm.pdf"
' Sample template
Dim sampleTemplate As String = ".\SampleGroupDisabilityForm.yml"
' Create DocumentParser instance
Using documentParser As New DocumentParser("demo", "demo")
' Add sample template
documentParser.AddTemplate(sampleTemplate)
' Parse document data in JSON format
Dim jsonString As String = documentParser.ParseDocument(sampleDocument, OutputFormat.JSON)
' Parse to Json Fields
Dim oRet = ParseJsonFields(jsonString)
' Display some of data to console
Console.WriteLine({code}quot;Parsing Details:{Environment.NewLine}------------------------")
Console.WriteLine({code}quot;Contact Person: {oRet.ContactPerson}")
Console.WriteLine({code}quot;Business Name: {oRet.BusinessName}")
Console.WriteLine({code}quot;Business Address: {oRet.BusinessAddress}")
Console.WriteLine({code}quot;Business Type: {oRet.BusinessType}")
Console.WriteLine({code}quot;Phone: {oRet.Phone}")
Console.WriteLine({code}quot;Email: {oRet.Email}")
' Export list of census to csv format
Dim csvOutputFile As String = "result.csv"
Dim csvString = ConvertToCsv(oRet.lstCensusTable)
File.WriteAllText(csvOutputFile, csvString)
Console.WriteLine({code}quot;{Environment.NewLine}{csvOutputFile} generated successfully!")
End Using
Console.WriteLine()
Console.WriteLine("Press any key to continue...")
Console.ReadLine()
End Sub
''' <summary>
''' Parse Json Fields
''' </summary>
Function ParseJsonFields(ByVal jsonInput As String) As FormVM
Dim jsonObj As JObject = JObject.Parse(jsonInput)
Dim oRet As New FormVM()
oRet.ContactPerson = CStr(jsonObj("fields")("contactPerson")("value"))
oRet.BusinessName = CStr(jsonObj("fields")("businessName")("value"))
oRet.BusinessAddress = CStr(jsonObj("fields")("businessAddress")("value"))
oRet.BusinessType = CStr(jsonObj("fields")("businessType")("value"))
oRet.Phone = CStr(jsonObj("fields")("phone")("value"))
oRet.Email = CStr(jsonObj("fields")("email")("value"))
Dim censusTable = jsonObj("tables").Where(Function(p) p.Value(Of String)("name") = "CencusTable")
If Not censusTable Is Nothing Then
Dim rows = censusTable.Values("rows").First()
If Not rows Is Nothing And rows.Count() > 0 Then
For i As Int32 = 1 To rows.Count() - 1
Dim oCensus As New CensusTableVm()
' Parse individual data
oCensus.SrNo = rows.ElementAt(i).ElementAt(0).ElementAt(0).Value(Of String)("value")
oCensus.DOB = rows.ElementAt(i).ElementAt(1).ElementAt(0).Value(Of String)("value")
oCensus.Gender = rows.ElementAt(i).ElementAt(2).ElementAt(0).Value(Of String)("value")
oCensus.Occupation = rows.ElementAt(i).ElementAt(3).ElementAt(0).Value(Of String)("value")
oCensus.Salary = rows.ElementAt(i).ElementAt(4).ElementAt(0).Value(Of String)("value")
oCensus.IsShortTermDisability = rows.ElementAt(i).ElementAt(5).ElementAt(0).Value(Of String)("value")
oCensus.IsLongTernDisability = rows.ElementAt(i).ElementAt(6).ElementAt(0).Value(Of String)("value")
oCensus.LifeInsuCoverAmt = rows.ElementAt(i).ElementAt(7).ElementAt(0).Value(Of String)("value")
oRet.lstCensusTable.Add(oCensus)
Next
End If
End If
Return oRet
End Function
''' <summary>
''' Convert to Csv Format
''' </summary>
Function ConvertToCsv(ByVal lstCensusTable As List(Of CensusTableVm)) As String
Dim oRet As New StringBuilder(String.Empty)
' Get Header Row
oRet.AppendLine(getCsvTitleRow())
' Put Child Rows
For Each item In lstCensusTable
oRet.AppendLine(item.ToString())
Next
Return oRet.ToString()
End Function
Class FormVM
Public Property ContactPerson As String
Public Property BusinessName As String
Public Property BusinessAddress As String
Public Property BusinessType As String
Public Property Phone As String
Public Property Email As String
Public Property lstCensusTable As List(Of CensusTableVm) = New List(Of CensusTableVm)()
End Class
Class CensusTableVm
Public Property SrNo As String
Public Property DOB As String
Public Property Gender As String
Public Property Occupation As String
Public Property Salary As String
Public Property IsShortTermDisability As String
Public Property IsLongTernDisability As String
Public Property LifeInsuCoverAmt As String
Public Overrides Function ToString() As String
Return {code}quot;{SrNo},{DOB},{Gender},{Occupation},{Salary},{IsShortTermDisability},{IsLongTernDisability},{LifeInsuCoverAmt}"
End Function
End Class
Public Function getCsvTitleRow() As String
Return "SrNo,DOB,Gender,Occupation,Salary,IsShortTermDisability,IsLongTermDisability,LifeInsuCoverAmt"
End Function
End Module
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
templateVersion: 3
templatePriority: 0
sourceId: Untitled document kind
detectionRules:
keywords: []
fields:
CencusTable:
type: rectangle
dataType: table
rectangle:
- 27
- 324.75
- 554.25
- 358.5
pageIndex: 0
rowMergingRule: byBorders
ContactPerson:
type: rectangle
rectangle:
- 178.5
- 111
- 76.5
- 15
pageIndex: 0
BusinessName:
type: rectangle
rectangle:
- 177.75
- 126
- 105
- 17.25
pageIndex: 0
BusinessAddress:
type: rectangle
rectangle:
- 183
- 144.75
- 187.5
- 24
pageIndex: 0
BusinessType:
type: rectangle
rectangle:
- 183.75
- 206.25
- 77.25
- 19.5
pageIndex: 0
Phone:
type: rectangle
rectangle:
- 181.5
- 236.25
- 86.25
- 15
pageIndex: 0
Email:
type: rectangle
rectangle:
- 182.25
- 250.5
- 112.5
- 17.25
pageIndex: 0
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
</packages>
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
60 Day Free Trial or Visit ByteScout Document Parser SDK Home Page
Explore ByteScout Document Parser SDK Documentation
Explore Samples
Sign Up for ByteScout Document Parser SDK Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples