Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

If a PDF converter turns a borderless table into a stream of unrelated numbers, the PDF is usually not storing rows and columns as data. It is storing words at page coordinates, so the extractor must infer the table from alignment and whitespace. For a text-based PDF, start with Camelot’s Stream parser; try Network when text alignment is more regular. Restrict the table area and supply column coordinates when automatic guesses fail. If the page is scanned, run OCR first or use Camelot’s optional model-based structure mode. These approaches can be used in a CPU-based workflow, but the available documentation does not promise a particular runtime or accuracy for your processor or file, so every result must be checked against the original page.

Why does a borderless PDF table become loose numbers?

A PDF is a page-description format, not a spreadsheet. A visible grid is only one possible clue; a borderless table may consist of separately positioned text fragments with no embedded row, column, or cell metadata. A converter that expects ruling lines can therefore emit the correct words in the wrong order, merge adjacent cells, or return a single list of values.

The remedy is a structure-detection strategy that uses the text’s coordinates. Stream-style parsers group words that sit on similar baselines into rows, inspect the left and right edges of that text, and infer likely column boundaries from whitespace. Network-style parsing looks for repeated text alignments. Neither method can know the author’s intent with certainty, which is why a visual check remains part of the workflow.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How can I tell whether the PDF is suitable for text-based extraction?

Click and drag over a value in the table with your PDF viewer. If individual words or numbers can be selected and copied, the page has a text layer and you can try Camelot’s built-in parsers. If a click selects the entire page as one image, or nothing can be selected, treat it as a scanned or image-only PDF.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
  1. Open the page at a readable zoom level.
  2. Drag across one complete cell. Confirm that the selection follows the characters rather than drawing a rectangular image selection.
  3. Paste the selection into a plain-text editor. Check that actual letters and digits appear.
  4. Repeat on a second row; some PDFs mix selectable text with image pages.

For an image-only page, text-based extraction alone cannot recover the content. Use an OCR workflow to create a text layer, then parse that layer, or use a structure model that accepts OCR output. OCR can introduce its own errors, especially with decimal points, minus signs, and narrow columns, so compare the recognized text with the scan.

Which extraction method should I try first?

Choose according to the page’s visual design and whether its text is selectable. The following comparison reflects the documented behavior of the relevant modes.

Method Best starting case How it infers structure Useful controls or limits
Camelot Stream Selectable text in a table separated mainly by whitespace Groups words into rows, estimates the table area from text edges, then guesses columns Can be constrained with a table area, column coordinates, and text anchors; heuristic results require checking
Camelot Network Selectable text with repeated horizontal and vertical alignments Builds structure from text-alignment relationships rather than visible ruling lines Useful when alignment is stronger than simple whitespace; still depends on a usable text layer
Camelot Lattice Tables with visible cell borders or ruling lines Uses the drawn lines as structural evidence Usually the wrong first choice for a genuinely borderless table
Tabula-Py stream mode Text-based tables without ruling lines Uses stream-style spacing and text positions Documents explicit area and column options for narrowing the extraction
OCR plus parsing Scanned or image-only pages OCR supplies text; a parser then infers rows and columns OCR recognition errors must be corrected against the page
Camelot optional model mode Difficult borderless layouts that defeat heuristic parsers A model predicts table structure while cell text comes from the PDF text layer or OCR Optional dependency; no documented CPU speed or accuracy guarantee for a particular file

How does Camelot Stream reconstruct rows and columns?

Stream begins with words and their page coordinates. It groups words whose vertical positions are close enough to represent one line, treating that group as a candidate row. It then examines the horizontal text edges in those rows and estimates where columns begin. Repeated gaps between text blocks become evidence for column boundaries.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This works well when each column has a reasonably consistent left edge and the row baselines are stable. It becomes ambiguous when a cell contains a long wrapped sentence, when numbers are right-aligned at different positions, or when a page places notes and captions close to the table. In those cases, the parser may split one logical cell into several cells or put two neighboring columns together.

Because Stream is inference rather than metadata recovery, inspect at least the first, middle, and last rows. A result that looks correct at the top can drift when a later row has a different number of words.

How do I run a first CPU-based extraction?

Install a supported release of Camelot and its documented dependencies for your operating system, then confirm the installed version before copying examples. Package names and APIs can change between releases. The basic call below illustrates the important choices; it is not a benchmark and should be adjusted to the syntax of your installed release.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
import camelot

tables = camelot.read_pdf(
    "input.pdf",
    pages="1",
    flavor="stream"
)
first_table = tables[0]
print(first_table.df)

Use a page number rather than processing the entire document while tuning the settings. Limiting the first run makes it easier to compare the extracted rows with the source page and avoids confusing a nearby paragraph or a second table with the target.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Stream and Network are software parsing workflows; the reviewed documentation does not establish a required GPU, a guaranteed CPU throughput, or a minimum processor. Runtime will vary with page size, document complexity, number of pages, and optional dependencies. Treat “runs on a CPU” as a deployment possibility, not a promise of a specific completion time.

How do I tell the parser exactly where the table is?

Automatic table-area detection can select too much page content or miss a borderless table whose first row is indented. Constrain the search to the rectangle containing the table. Camelot Stream and Tabula-Py expose table-area controls, and both workflows support supplying column positions where the library allows it.

  1. Open the PDF’s page and note the table’s left, top, right, and bottom coordinates in the coordinate system used by your tool.
  2. Run Stream against that rectangle instead of the full page.
  3. If two columns are merged, provide the x-coordinates of the vertical boundaries between columns.
  4. Re-run and inspect rows that contain wrapped text, blank cells, or unusually large numbers.
tables = camelot.read_pdf(
    "input.pdf",
    pages="1",
    flavor="stream",
    table_areas=["x1,y1,x2,y2"],
    columns=["column_boundary_1,column_boundary_2"]
)

The coordinate order and the exact type expected for table_areas or columns can differ by release, so check the API reference installed with your version. The values in this example are placeholders for your measured coordinates, not coordinates to paste unchanged.

When is Camelot Network a better choice than Stream?

Try Network when the table’s text forms strong, repeated alignments but whitespace alone gives unreliable gaps. Network uses relationships among aligned text elements, which can help with layouts where a column’s contents have different widths but still share a consistent edge or center.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start with the same text-selectability test and page restriction used for Stream. Network cannot reconstruct characters that are absent from the PDF text layer. If alignment is weak because every row uses a different indentation, a carefully constrained Stream run may be easier to control.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

What should I do when rows or columns are still fragmented?

Change one variable at a time and compare the output with the page after each run.

The output includes paragraph text outside the table

Narrow the table area so the parser cannot treat nearby headings, footnotes, or captions as rows. If the table spans several pages, process each page or repeated region separately when the layout changes between pages.

Two logical columns are merged

Supply a column boundary at the whitespace gap that appears consistently down the page. A boundary placed inside a wrapped sentence will create false splits, so inspect several rows before choosing the coordinate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

One logical column is split into several columns

Remove an overly aggressive column coordinate and check whether right-aligned numbers or variable-width text are creating multiple apparent edges. A narrower table area can also remove unrelated text that is being mistaken for a second column.

Wrapped descriptions create extra rows

Look at the baseline spacing of the wrapped lines. If the continuation line is visually part of the same cell, confirm whether your installed parser exposes row-tolerance or text-anchor settings; otherwise, plan a post-extraction merge based on the original page rather than silently joining every short line.

Blank cells disappear

A blank cell has no text edge for a heuristic parser to detect. Use neighboring column boundaries and the row’s other values to preserve the position, then verify that the blank is genuinely blank rather than an OCR omission.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Numbers appear in the wrong order

Check whether the source uses right-to-left text, rotated labels, superscripts, or footnotes. Export a small page sample and compare the reading order row by row; do not repair the whole document by sorting numbers numerically, because that can hide a positional error.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I use Lattice for a borderless table?

Usually no. Lattice is intended for tables whose cell borders or ruling lines are visible in the PDF. A table that only looks aligned through whitespace provides little line evidence, so Stream or Network is the appropriate first test. If a faint or white line is present but invisible at normal zoom, inspect the page rendering before deciding whether the table is truly borderless.

Can Tabula-Py extract a table without ruling lines?

Yes. Tabula-Py documents a stream mode for tables without ruling lines and provides area and column options that let you replace broad automatic detection with coordinates you supply.

The same diagnostic logic applies: use stream only when the page has selectable text, limit the area, define columns when spacing is ambiguous, and validate the resulting rows. Switching libraries does not remove the underlying uncertainty in the PDF’s coordinate layout; it gives you a different implementation of the inference.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When is the optional model-based mode worth trying?

Escalate after you have confirmed that the text layer is usable, selected the right page, tried Stream or Network, and constrained the table area. Camelot’s optional model mode is designed to predict table structure on difficult layouts. The model supplies the structure, while cell text still comes from the PDF text layer or from OCR when the page is scanned.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Because this mode adds an optional dependency, installation and resource requirements depend on the release. The available documentation does not report a measured speedup, accuracy percentage, or CPU runtime for your document. Run it as an experiment on a small page sample, retain the original PDF, and compare every predicted row and cell with the rendered page before accepting the result.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

How do I validate an extracted table before using the data?

Validation is essential because a neatly formatted CSV can still contain positional mistakes.

  • Compare the number of extracted rows with the visible data rows on the page.
  • Check the first, middle, and final rows rather than only the header.
  • Verify that each value remains under the correct heading, especially adjacent dates, percentages, and currency amounts.
  • Look for split decimals, dropped minus signs, duplicated values, and digits that OCR may have confused.
  • Check merged cells, continuation lines, and intentionally blank cells.
  • Compare page totals or subtotals with the source when the document provides them, but do not use a matching total as proof that every row is correctly placed.
  • Keep a copy of the source page and the parser settings so another person can reproduce or audit the extraction.

If a discrepancy remains, return to the page image and determine whether it comes from text recognition, row grouping, column inference, or the selected region. Fixing the correct stage is safer than manually editing a large output without recording what changed.

What does “the fix runs on a CPU” actually mean?

A local parser can be run on a machine without a dedicated graphics processor, but that statement does not predict how quickly it will finish or whether it will recover your specific table. Stream and Network rely on document geometry; OCR and optional model dependencies add other variables. File length, embedded fonts, image resolution, page complexity, and library version all affect resource use.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a CPU-only workflow, begin with one page, restrict the region, and save intermediate output. If the process is slow, reduce the page range while tuning rather than changing the table’s data. If an optional model cannot be installed or is too resource-intensive, the documented fallback is still to improve the text-layer workflow with an explicit area and column boundaries, or to OCR a scan before parsing.

What is the shortest reliable decision path?

  1. Test selection: selectable text means you can use text-based parsers; an image-only page needs OCR or an OCR-aware structure workflow.
  2. Identify the visual cue: use Lattice for visible ruling lines; use Stream or Network when the table relies on whitespace or alignment.
  3. Start small: parse one representative page and inspect the rows.
  4. Constrain detection: set the table area and, if needed, explicit column boundaries or text anchors.
  5. Escalate carefully: try the optional model mode only after heuristic settings fail, and treat its output as a hypothesis to verify.
  6. Approve by comparison: check the extracted structure against the rendered PDF before exporting or feeding the data into another system.

Frequently Asked Questions

Can OCR alone preserve the columns in a scanned borderless table?

OCR creates searchable characters, but it does not automatically guarantee the original row and column structure. After OCR, you still need a layout-aware parser and should inspect recognition of decimal points, signs, and tightly spaced values.

Is Network always more accurate than Stream for borderless tables?

No. Network is useful when repeated text alignments are strong, while Stream can be easier to tune when consistent whitespace separates columns. The better result depends on the page layout, so compare both on a representative page rather than assuming one mode wins.

Can I fix a bad extraction by sorting the exported numbers?

Sorting destroys positional information and can place valid values under the wrong headings. Correct the detected region, row grouping, or column boundaries first, then re-extract and validate against the page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do I need a GPU for Camelot’s optional model mode?

The available documentation does not specify a GPU requirement or promise a CPU runtime for that mode. Check the dependency requirements for your installed release and test a small page before committing to a large batch.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.