Link Search Menu Expand Document

Extract Text from Foldable Brochure Booklet - VB.NET

Document Parser SDK sample in VB.NET demonstrating ‘Extract Text from Foldable Brochure Booklet’

Module1.vb
Imports System.IO
Imports System.Text
Imports ByteScout.DocumentParser
Imports Newtonsoft.Json.Linq

Module Module1

    Sub Main()

        ' Sample document containing foldable PDF
        Dim sampleDocument As String = ".\SampleFoldable.pdf"

        ' Sample template
        Dim sampleTemplate As String = ".\SampleFoldable.yml"

        ' Output 
        Dim resFile As String = "result.txt"
        Dim sOutput As New StringBuilder(String.Empty)

        ' 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 json to foldable structure
            Dim parsedRes = ParseJsonToFoldableStructure(jsonString)

            ' Append all parts to return output
            sOutput.AppendLine(parsedRes.Part1)
            sOutput.AppendLine(parsedRes.Part2)
            sOutput.AppendLine(parsedRes.Part3)

            ' Write output file
            File.WriteAllText(resFile, sOutput.ToString())

            Console.WriteLine($"Extracted text saved to {resFile}")

            ' Open result file with default application
            Process.Start(resFile)

        End Using

        Console.WriteLine()
        Console.WriteLine("Press any key to continue...")
        Console.ReadLine()

    End Sub

    ''' <summary>
    ''' Parse Json to Foldable Structure
    ''' </summary>
    Function ParseJsonToFoldableStructure(ByVal jsonData As String) As FoldableStructure

        ' Get Object data from input file
        Dim jsonObj As JObject = JObject.Parse(jsonData)

        Dim oRet = New FoldableStructure()
        oRet.Part1 = Convert.ToString(jsonObj("fields")("part1")("value"))
        oRet.Part2 = Convert.ToString(jsonObj("fields")("part2")("value"))
        oRet.Part3 = Convert.ToString(jsonObj("fields")("part3")("value"))

        Return oRet

    End Function

    Class FoldableStructure
        Public Property Part1 As String
        Public Property Part2 As String
        Public Property Part3 As String
    End Class

End Module

Explore SDK documentations here.
SampleFoldable.yml
templateName: Untitled document kind
templateVersion: 4
templatePriority: 0
detectionRules:
  keywords: []
objects:
- name: Part1
  objectType: field
  fieldProperties:
    fieldType: rectangle
    rectangle:
    - 7.5
    - 33.75
    - 244.5
    - 353.25
    pageIndex: 0
- name: Part2
  objectType: field
  fieldProperties:
    fieldType: rectangle
    rectangle:
    - 273.75
    - 201.75
    - 247.5
    - 198
    pageIndex: 0
- name: Part3
  objectType: field
  fieldProperties:
    fieldType: rectangle
    rectangle:
    - 537.75
    - 27
    - 246
    - 268.5
    pageIndex: 0


Explore SDK documentations here.

Download Source Code (.zip)

Return to the previous page Explore Document Parser SDK