Link Search Menu Expand Document

Split PDF Document By Found Barcode - VB.NET

BarCode Reader SDK sample in VB.NET demonstrating ‘Split PDF Document By Found Barcode’

Imports System.IO
Imports System.Text
Imports Bytescout.BarCodeReader

Module Module1

    Sub Main()

        Const inputFile As String = "Barcodes.pdf"

        Console.WriteLine("Reading barcode(s) from image {0}", Path.GetFullPath(inputFile))

        ' Create Bytescout.BarCodeReader.Reader instance
        Dim reader As New Reader()
        reader.RegistrationName = "demo"
        reader.RegistrationKey = "demo"

        ' Set barcode type to find
        reader.BarcodeTypesToFind.Code39 = True

        ' -----------------------------------------------------------------------
        ' NOTE: We can read barcodes from specific page to increase performance .
        ' For sample please refer to "Decoding barcodes from PDF by pages" program.
        ' ----------------------------------------------------------------------- 

        ' Find barcode in PDF document

        ' Method 1: Split PDF document in two parts by found barcode
        ' NOTE: In Full version of the SDK this method is unlocked in "PRO" license type only

        reader.SplitDocument("barcodes.pdf", "part1.pdf", "part2.pdf", reader.FoundBarcodes(0).Page + 1)

        ' Method 2: Extract page containing the barcode from PDF document
        ' NOTE: In Full version of the SDK this method is unlocked in "PRO" license type only

        reader.ExtractPageFromDocument("barcodes.pdf", "extracted_page.pdf", reader.FoundBarcodes(0).Page + 1)

        ' Method 3: Split PDF document into parts in one pass.
        ' NOTE: In Full version of the SDK this method is unlocked in "PRO" license type only.

        Dim pageRanges As StringBuilder = New StringBuilder()

        ' Create string containing page ranges to extract in the form "1-4,6-8,10-11,12-". Page numbers are 1-based!
        For i As Integer = 0 To reader.FoundBarcodes.Length - 1

            Dim barcode As FoundBarcode = reader.FoundBarcodes(i)

            ' Add pages before the first barcode found
            If i = 0 And barcode.Page > 0 Then
                If barcode.Page > 1 Then
                End If
            End If

            ' Add page with barcode
            pageRanges.Append(barcode.Page + 1) ' +1 because we skip the page with barcode and another +1 because need 1-based page numbers

            ' Add range untill the next barcode
            If i < reader.FoundBarcodes.Length - 1 Then
                If reader.FoundBarcodes(i + 1).Page - barcode.Page > 1 Then
                    pageRanges.Append(reader.FoundBarcodes(i + 1).Page)
                End If
                ' for the last found barcode add ending "-" meaning "to the last page"
            End If

        ' Split document 
        Dim splittedParts As String() = reader.SplitDocument("barcodes.pdf", pageRanges.ToString())
        ' The method returns array of file names. Rename files as desired.

        ' Cleanup

        For Each fileName As String In splittedParts

        Console.WriteLine("Press enter key to exit...")

    End Sub

End Module

Download Source Code (.zip)

Return to the previous page Explore BarCode Reader SDK

Copyright © 2016 - 2023 ByteScout