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 reStructuredText is
reStructuredText simple tables underline the header with equals signs and align columns with spaces.
Python documentation, Sphinx projects and anything on Read the Docs.
What changes when you convert PDF to reStructuredText
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.
The equals-sign rule under the header is what tells Sphinx the first row is a header. Without it the table renders as data with no heading.
What carries over from PDF to reStructuredText
One property of the PDF has no home in reStructuredText, and it is worth knowing which before you convert.
reStructuredText 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 reStructuredText 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.