IRONSOFTWAREHOME

Detecting Dotted Border Tables with ReadDocumentAdvanced

Curtis Chau
Curtis Chau
Updated: June 25, 2026

ReadDocumentAdvanced extracts table data cell by cell, but it cannot detect tables whose borders are dotted or dashed (for example, border: 1px dotted black). The text on the page may still be readable, yet accessing the table object fails because the engine never recognizes the table.

When you call ReadDocumentAdvanced on a document with a dotted-border table and then read its cells, it throws:

Unhandled exception. System.InvalidOperationException: Sequence contains no elements
Text

The gaps between the dots break the border into discontinuous segments, so the OCR engine sees no continuous contour to treat as a table boundary. With no Tables detected, Tables.First() has nothing to return.

Solution

Apply the Dilate() filter before processing. Dilation expands the dark pixels in the image, closing the gaps between dots so the border reads as one solid line. The engine can then detect the table object and return its cells.

1. Enable table reading and load the input

Turn on ReadDataTables so the engine builds structured table output, then load your image.

var ocr = new IronTesseract();
ocr.Configuration.ReadDataTables = true;
var input = new OcrInput();
input.Load("image-20250408-144240.png");
C#

Input table with dotted borders that OCR fails to detect

2. Dilate before reading

Call Dilate() on the input to merge the dotted border into a continuous contour, then run ReadDocumentAdvanced.

input.Dilate();
input.SaveAsImages("export.png", AnyBitmap.ImageFormat.Png);
var res = ocr.ReadDocumentAdvanced(input);
Console.WriteLine(res.Tables.First().CellInfos.First().CellText);
C#

Dilate() converts the visual dotted lines into solid borders the engine can trace, so res.Tables is now populated and the cell text reads cleanly. The SaveAsImages call is optional; it lets you inspect the dilated image to confirm the borders closed as expected.

Table after Dilate() with dotted borders merged into solid lines

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

Ready to Get Started?

Nuget Downloads 6,236,385Version:2026.9just released

Get your free 30-day Trial Key instantly.
No credit card or account creation required
C# NuGet Library for PDF
Install with NuGet

Version: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. In Solution Explorer, right-click References, Manage NuGet Packages
  2. Select Browse and search "IronOCR"
  3. Select the package and install
C# PDF DLL
Download DLL

Version: 2026.9

or download Windows Installer here.

  1. Download and unzip IronOCR to a location such as ~/Libs within your Solution directory
  2. In Visual Studio Solution Explorer, right click References. Select Browse, "IronOCR.dll"

Licenses from $999

Key in blue circle

Get your free 30-day Trial Key instantly.

Your trial license will be sent to your email address

No limitations. 100% unlocked. No credit card.

bullet_checkedNo credit card or account creation requiredNo limitations. 100% unlocked. No credit card.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Get Your No-Obligation Consult
Complete the form below or email sales@ironsoftware.com
Your details will always be kept confidential.
Trusted by Millions of Engineers Worldwide
Iron Software's customer logos
Get your free 30-day Trial Key instantly.
No credit card or account creation required