There are three ways to get a PDF to LibreOffice Calc: open the PDF in LibreOffice Draw and copy text out, paste copied text into Calc as unformatted text so the Text Import dialog splits it, or convert the PDF to CSV first and open that. Only the CSV route reliably keeps every column of a table apart.
What happens when you open a PDF in LibreOffice Calc?
When you open a PDF from LibreOffice Calc, LibreOffice hands the file to Draw, its drawing program, rather than to Calc. Draw shows each page as a set of separate text boxes and shapes that you can move. Nothing ends up in spreadsheet cells, because a PDF has no cells to give Calc.
This surprises people because File, then Open accepts the file without complaint. LibreOffice picks its component from the file type, and for a PDF that component is Draw. You will see Draw's toolbars and a page with your statement on it, not a grid.
Draw's view is still useful. It tells you whether the PDF holds real text. Click once on a transaction line:
- If a text box outline appears around a word or line, the PDF has a text layer you can copy.
- If the whole page selects as one picture, the PDF is a scan. There is no text to copy, and you need OCR first. Turning an image of a table into Excel compares the OCR options for that case, and the result opens in Calc the same way an Excel file does.
Copying statement text out of LibreOffice Draw
Copying statement text out of LibreOffice Draw works one text box at a time, and Draw's boxes rarely match the rows you need. The PDF import splits a page into fragments wherever the original file placed them, so one row may be three boxes. Copying is quick for a few lines and slow for a whole statement.
The reverse also happens: one box can span several rows, which makes a single click grab more than you meant to.
To try it:
- Open the PDF so it appears in Draw.
- Click a text box in the transaction area, or drag a selection rectangle around a block of lines.
- Copy with Ctrl+C, or Cmd+C on a Mac.
- Switch to a Calc sheet and paste using the method in the next section.
Expect two problems. First, a drag selection collects boxes in the order Draw stores them, which is not always top to bottom. Second, fonts the PDF uses but your computer lacks are swapped for a substitute, so letter spacing can shift and boxes can overlap on screen. The text inside is still correct even when it looks crowded.
Draw copying makes sense for pulling a handful of values, such as the opening and closing balance from a statement summary. For a full month of transactions, use a route that reads the table rather than individual boxes.
Pasting PDF text into LibreOffice Calc as unformatted text
Pasting PDF text into LibreOffice Calc as unformatted text opens the Text Import dialog, which splits each line into cells. Copy lines from any PDF viewer, click cell A1 in Calc, and choose Edit, then Paste Special, then Paste Unformatted Text. You then pick the separator before anything lands in the sheet.
A normal paste of several lines puts each whole line into one cell of column A. Paste Unformatted Text treats the clipboard like a small text file, which is what brings up the import dialog.
What separator to choose depends on how the PDF viewer copied the columns:
- Tabs between columns. Some viewers put a tab where a column gap was. Select Tab and the columns line up.
- Several spaces between columns. Select Space and also Merge delimiters, which combines consecutive delimiters into one. This splits descriptions too, so a merchant name of three words becomes three cells.
- Single spaces everywhere. Use Fixed width and click the ruler in the preview to place a break at each column edge. This works when every line has the same layout.
Comparing the three routes
| Route | Works on scans? | Keeps columns apart? | Good for |
|---|---|---|---|
| Copy from Draw | No | Rarely | A few values from a summary box |
| Paste unformatted into Calc | No | Sometimes, with fixed width | One page of a simple layout |
| Open a converted CSV | Yes, if the converter runs OCR | Yes | A whole statement, every month |
The paste route fails quietly on statements with separate withdrawal and deposit columns. An empty withdrawal cell leaves no characters behind, so the deposit slides left into the withdrawal column. Check a few deposits against the PDF after any paste.
Text Import settings in LibreOffice Calc for a converted CSV
The Text Import settings that keep a converted CSV's columns apart are the character set, the separator, the string delimiter and the column types. LibreOffice's help page on the Text Import dialog describes each one. Set them before you click OK, because Calc applies them to every row.
Opening a CSV in Calc shows this dialog automatically. Use this checklist for a bank statement CSV:
- Character set. Unicode (UTF-8) for most modern files. If names show garbled accents in the preview, try another character set until they read correctly.
- Language. The language that matches the file's number style. This decides whether "1,250.00" or "1.250,00" reads as a number.
- From row. 1, unless the file has notes above the header row.
- Separated by. Comma for a standard CSV. Leave Tab, Semicolon and Space off unless the file uses them.
- Merge delimiters. Off. Two commas in a row mean an empty field, and merging them shifts every later column left.
- Trim spaces. On, to remove starting and trailing spaces from each field.
- String delimiter. The double quote, so a description containing a comma stays in one cell.
- Format quoted field as text. Off for statements, or quoted amounts will import as text.
- Detect special numbers. On if you want dates recognised.
Importing a CSV into LibreOffice Calc goes through the same dialog option by option for any kind of file, including what each setting does to the preview.
Why do amounts and dates land in LibreOffice Calc as text?
Amounts and dates land in LibreOffice Calc as text when the import language does not match the file, or when Detect special numbers is off. The help page says that with that option off, Calc converts only plain decimal numbers and imports the rest as text. A wrong language makes even decimals fail if the separators differ.
Two mismatches cause most of it.
The language and the decimal mark. Suppose an example CSV holds the amount 1.250,00, written the German way. With the language set to English (USA), Calc cannot read it as a number and keeps it as text. Set the language to German (Germany) in the import dialog and the same field becomes 1250. The language setting in the dialog only affects this import; it does not change Calc's interface.
Dates without detection. With Detect special numbers off, a date such as 03/14/2026 stays text. Turning it on lets Calc recognise it, using the order the language implies. For a file whose date order differs from the language, click the date column in the preview and set its type to Date (MDY), Date (DMY) or Date (YMD) to state the order outright.
Columns that should stay text need the opposite treatment. Account numbers, check numbers and reference codes with leading zeros lose them if Calc reads them as numbers. Click each such column in the preview and set its type to Text. A column you do not need at all can be set to Hide, so it is never imported.
To check the result, select an amount cell and look at the alignment. Numbers sit to the right by default and text sits to the left. A SUM at the bottom of the column that matches the statement total confirms every amount came in as a number.
Keeping the LibreOffice Calc result as ODS or XLSX
Save the LibreOffice Calc result as ODS if you will keep working in LibreOffice, and as XLSX if the file goes to someone who uses Excel. Do not keep working in the CSV. A CSV stores only values, so column types, formats and any formulas you added are lost the next time it opens.
Calc asks which format to keep when you save a file it opened as CSV. Choose Use ODF Format! for ODS, or use File, then Save As, and pick Excel 2007-365 for XLSX. Keep the original CSV next to it as the raw copy you can always re-import.
ODS is LibreOffice's own format and keeps everything Calc can do. XLSX is the safer choice for sharing, though some LibreOffice-specific features may not carry over exactly. ODS versus XLSX sets out what changes between the two and which programs open each one.
The CSV route only works as well as the CSV. FastBankConvert is being built to turn a bank statement PDF into an Excel, CSV or JSON file with dates, descriptions, amounts and balances in their own columns, and to tell you before download if the balances do not add up. It is getting ready to open, and you can join at Get started.