← All nodes
PDF

PDF Table Extract

Reads tabular data out of PDF files using either the built-in pdf.js engine or Tabula, and turns the detected tables into rows.

When to use it

Use it when the numbers you need are printed in a PDF report, statement or invoice and there is no CSV or database behind it.

In a pipeline

Settings

SettingTypeRequiredDefault or hint
Extraction EngineselectYespdfjs
Page ModeselectYesall
Start Pagenumber—1
End Pagenumber—1
Specific Pagestext—e.g. 1,3,5-7
Table DetectionselectYesall
Table Index (0-based)number—0
Header DetectionselectYesauto
Table Output ModeselectYesall
Selected Table Index (0-based)number—0
Output FormatselectYessingle
On ErrorselectYescontinue

Example

Pulling transactions out of a bank statement

  • Extraction Engine=pdfjs (built-in)
  • Page Mode=Page Range
  • Table Detection=Merge Tables
statement.pdf
PageTables found
10
21
31
Rows reaching the next node
__pageDateDescriptionAmount
22026-08-03Office supplies142.50
22026-08-11Courier38.00
32026-08-19Software licence420.00

Merge Tables joins tables that have the same number of columns, keeping the first table's column names.

Worth knowing

  • Tabula needs a Java runtime on the server; without one the node tells you to switch to the pdf.js engine, which is the default.
  • Every extracted row carries internal columns — __page, __table_index, __table_columns — which exports skip but you can read.
  • Stream and Lattice only mean anything to Tabula; the pdf.js engine ignores them.
  • Header Detection on Auto treats the first row as a header only when it looks like one; otherwise columns come out as Column_1, Column_2.

Others in PDF