What PDF is
PDF describes a page: glyphs at coordinates, not rows and columns. A table in a PDF is a visual arrangement, not a data structure.
Reports, invoices, statements and anything sent to be read rather than processed.
What MATLAB is
MATLAB cell arrays combined into a table with the table() function.
Engineering and research code.
What changes when you convert PDF to MATLAB
Every character in a text-based PDF carries its position on the page. Characters sharing a baseline are one row. Columns are found from the vertical strips no character ever occupies, which is why extraction works cleanly on a document laid out with spacing and badly on one laid out with ruled lines. A header repeated at the top of each page is detected and dropped rather than landing in the middle of the data.
One cell array per column, then a single table() call. Column names are sanitised to valid variable names.
What carries over from PDF to MATLAB
PDF records 2 things about a table that MATLAB has no way to hold.
MATLAB wants a type for each column, and PDF does not record one, so each column is typed from what its values look like. A column of digits that should stay text - a zip code, a phone number, a leading-zero id - is the usual thing to check afterwards.
A line break inside a cell ends the row in MATLAB, so line breaks are replaced rather than carried through.
MATLAB marks its header cells differently from its data cells, so the first row is written with that marker.
Anything visual in the PDF - weight, alignment, colour, column widths - has no counterpart in MATLAB and is dropped. The values are what survives.
This is the direction that recovers structure: PDF has no table in it to read, only an arrangement that looks like one, so the rows and columns are inferred rather than read.