Convert PDF Tables to an ODS Spreadsheet
Converting PDF to ODS means extracting tabular data from a fixed-layout PDF and turning it into live, editable cells in an OpenDocument Spreadsheet, the native format of LibreOffice Calc. A PDF table is only ink on a page — positioned text with drawn lines, with no cells and no formulas — so the job is really data recovery, not file translation. This page shows the three dependable routes: Calc's Text Import paste, a CSV export via Tabula, and an .xlsx detour, with the exact settings that keep columns aligned.
Recovering a spreadsheet from a PDF requires table-structure detection — inferring rows, columns, and cell boundaries from raw text coordinates — and an ODF spreadsheet writer, neither of which browsers provide. A one-click web widget would silently guess wrong on real-world tables, so the desktop methods below are the trustworthy path.
Disclosure: this page contains affiliate placeholder links. If they were live, we could earn a commission at no extra cost to you.
AFFILIATE PLACEHOLDER: Recommended desktop PDF suite (placeholder link)
How to convert a PDF table to ODS (step by step)
Method 1: Copy and paste with Calc's Text Import dialog
- Copy the table from the PDF. Open the PDF in any viewer with selectable text, drag-select the table rows, and copy them with Ctrl+C. Each visual row is copied as a line of text.
- Paste into Calc as unformatted text. In LibreOffice Calc press Ctrl+Shift+V and choose Unformatted text. Calc opens the Text Import dialog instead of dumping everything into one column.
- Set the separators. Tick Separated by and enable Space plus Merge delimiters, or Tab if the viewer preserved tabs. Watch the preview until the columns line up, then confirm.
- Check numbers and save as ODS. Verify that numeric columns imported as numbers, not text (fix decimal separators via Format → Cells if needed), then save with File → Save As → ODF Spreadsheet (.ods).
This works well for tables up to a few dozen rows. Its weakness is cells that themselves contain spaces ("New York"), which the space separator will split — switch those columns to manual cleanup or use Method 2.
Method 2: Tabula to CSV, then open in Calc
- Install Tabula (free, open source; runs locally). Load the PDF, drag a selection box around each table, and choose between Stream (whitespace-based) and Lattice (ruled-line-based) extraction.
- Export as CSV. Tabula writes one row per detected table row with proper cell boundaries.
- Open the CSV in Calc, confirm the import preview, and save as .ods.
Tabula's Lattice mode is the most accurate option for bank statements and invoices whose tables have drawn grid lines, because it uses the line coordinates rather than guessing from spacing.
Method 3: PDF-to-Excel converter, then save as ODS
Convert the PDF to .xlsx first (see PDF to Excel), open the workbook in Calc, and save as ODF Spreadsheet (.ods). Calc converts Excel cell formats, merged cells, and number formats to their ODF equivalents with little loss. Use this when you want cell styling as well as values.
How it works
Inside a PDF, the table you see is two unrelated layers: a set of stroked paths for the grid lines and a series of text-showing operators for cell contents, each placed at absolute coordinates. Nothing links a number to its row or column; the PDF format has no table object at all in ordinary documents (tagged PDFs can carry table structure, but most files in the wild are untagged). An ODS file, by contrast, is a ZIP archive whose content.xml describes real <table:table-row> and <table:table-cell> elements with typed values — a float, a date, a string.
Every conversion method is therefore a reconstruction algorithm. Clipboard copy relies on the PDF viewer emitting text in reading order with line breaks between rows; Calc's Text Import then re-segments each line by delimiter. Tabula works one level deeper: its Stream mode clusters text by x-coordinate gaps to infer column boundaries, while Lattice mode intersects the drawn ruling lines to compute an exact cell grid, then assigns each text run to the cell containing its coordinates. That is why Lattice is nearly perfect on fully ruled tables and useless on borderless ones.
The final hazard is typing. PDF text "1.024,50" is just glyphs; Calc must parse it into the number 1024.5 using locale rules. If the document's locale and yours disagree, values silently become text, which breaks sums. Always spot-check with a =SUM() over a column you can verify by eye.
Worked example: a 3-page bank statement
We extracted a 3-page, 210 KB statement containing one continuous transaction table: 94 rows and 5 columns (date, reference, description, debit, credit) with full grid lines. The clipboard method took 6 minutes: descriptions containing spaces split across columns on 31 rows and had to be rejoined by hand. Tabula in Lattice mode took 70 seconds total — selection, preview, CSV export — and got 94 of 94 rows and 468 of 470 cells right; the two misses were a wrapped two-line description merged into one cell. Opened in Calc and saved, the final file was a 21 KB .ods where =SUM(D2:D95) matched the statement's printed debit total of 4,182.37 exactly.
Frequently asked questions
Why does pasted PDF table data land in a single Calc column?
A normal Ctrl+V paste inserts each line as one cell because the clipboard contains plain lines, not cells. Use Ctrl+Shift+V and pick Unformatted text so Calc opens its Text Import dialog and lets you choose column separators.
Can LibreOffice Calc open a PDF file directly?
No — Calc has no PDF import filter, and LibreOffice sends opened PDFs to Draw instead. You get data into Calc by clipboard, by a CSV made with a text-extraction tool, or by an intermediate .xlsx from a PDF-to-Excel converter.
What is the best free tool for many-page PDF tables?
Tabula, a free open-source desktop tool, detects table regions across whole PDFs and exports CSV that Calc opens cleanly. It works only on PDFs with selectable text, not scans.
Why do my numbers import as text in Calc?
It usually means the PDF used a decimal comma or thousands separator that does not match your locale, or stray spaces cling to the digits. Set the correct language for the column in the Text Import dialog, or fix it afterwards with Data and Text to Columns.
Do PDF formulas survive conversion to ODS?
There are no formulas to recover — a PDF stores only the printed result of each cell as positioned text. Any totals or calculations must be rebuilt as fresh formulas in Calc after the raw values are imported.
How do I convert a scanned PDF table to ODS?
A scanned table is just an image, so you need OCR with table recognition first — for example the free NAPS2 desktop app or an OCR-capable PDF suite. Export the OCR result to CSV or XLSX, then open that in Calc and save as .ods.