ByteScout Premium Suite - C# - Split pdf document by found barcode with barcode reader 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 Premium Suite – C# – Split pdf document by found barcode with barcode reader sdk

  • Home
  • /
  • Articles
  • /
  • ByteScout Premium Suite – C# – Split pdf document by found barcode with barcode reader sdk

How to split pdf document by found barcode with barcode reader sdk in C# using ByteScout Premium Suite

Learn to code in C# to split pdf document by found barcode with barcode reader sdk with this step-by-step tutorial

Quickly learn how to split pdf document by found barcode with barcode reader sdk in C# with this sample source code. ByteScout Premium Suite is the set that includes 12 SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording. It can be applied to split pdf document by found barcode with barcode reader sdk using C#.

The following code snippet for ByteScout Premium Suite works best when you need to quickly split pdf document by found barcode with barcode reader sdk in your C# application. This C# sample code is all you need for your app. Just copy and paste the code, add references (if needs to) and you are all set! Complete and detailed tutorials and documentation are available along with installed ByteScout Premium Suite if you’d like to learn more about the topic and the details of the API.

ByteScout Premium Suite free trial version is available on our website. C# and other programming languages are supported.

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

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

Program.cs
      
using System; using System.IO; using System.Text; using Bytescout.BarCodeReader; namespace SplitDocumentByFoundBarcode { class Program { const string InputFIle = "Barcodes.pdf"; static void Main() { Console.WriteLine("Reading barcode(s) from PDF document {0}", Path.GetFullPath(InputFIle)); // Create Bytescout.BarCodeReader.Reader instance Reader reader = 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 reader.ReadFrom(InputFIle); // 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. StringBuilder pageRanges = 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 (int i = 0; i < reader.FoundBarcodes.Length; i++) { FoundBarcode barcode = reader.FoundBarcodes[i]; // Add pages before the first barcode found if (i == 0 && barcode.Page > 0) { pageRanges.Append("1"); if (barcode.Page > 1) { pageRanges.Append("-"); pageRanges.Append(barcode.Page); } pageRanges.Append(","); } // 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) { if (reader.FoundBarcodes[i + 1].Page - barcode.Page > 1) { pageRanges.Append("-"); pageRanges.Append(reader.FoundBarcodes[i + 1].Page); } pageRanges.Append(","); } else // for the last found barcode add ending "-" meaning "to the last page" { pageRanges.Append("-"); } } // Split document string[] splittedParts = reader.SplitDocument(@"barcodes.pdf", pageRanges.ToString()); // The method returns array of file names. Rename files as desired. foreach (var fileName in splittedParts) { Console.WriteLine(fileName); } // Cleanup reader.Dispose(); Console.Read(); Console.WriteLine("Press enter key to exit..."); } } }

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Premium Suite Home Page

Explore ByteScout Premium Suite Documentation

Explore Samples

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

Explore ByteScout Premium Suite Documentation

Explore Samples

Sign Up for ByteScout Premium Suite Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next