[Tex/LaTex] Import multi-page table from PDF as table

graphicstables

I have a PDF document, which contains a table over multiple pages. I need to include this PDF as a single long/multipage table in the PDF document.

I tried:

\begin{table}[]
    \includegraphics[clip, trim=2cm 2cm 2cm 2cm, page=1, width=\textwidth]{table.pdf} 
    \includegraphics[clip, trim=2cm 2cm 2cm 2cm, page=2, width=\textwidth]{table.pdf} 
    \caption{Example}
\end{table}

The result looks as follows:

Latex table

The 2nd page of the PDF goes into the footer of the page.

A solution for multipage figures can be seen here: https://stackoverflow.com/a/1089881/605890

You can find a mwe here: https://github.com/boldt/latex-table

Best Answer

There are many ways.

\includegraphics with \captionof

The table document is trimmed via pdfcrop table.pdf.

The caption is added by \captionof. The continued caption uses an empty optional argument of \captionof to avoid another entry in the list of tables.

\documentclass{article}
\usepackage{graphicx}
\usepackage{caption}
\begin{document}
\listoftables

\bigskip
\begingroup
  \centering
  \includegraphics[page=1, width=\linewidth]{table-crop.pdf}
  \captionof{table}{Example}
  \newpage
  \includegraphics[page=2, width=\linewidth]{table-crop.pdf}%
  \addtocounter{table}{-1}%
  \captionof{table}[]{Example (cont.)}
  \par
\endgroup
\end{document}

Page 1

Page 2

Package pdfpages

Multiple documents can also be included via package pdfpages:

\includepdf[pages=-]{table.pdf}

But the placement of the caption is not so easy.

CSV data

If you are the creator of the table, then you can save it as .csv file and import it in LaTeX. Example with package csvsimple and longtable:

\documentclass{article}
\usepackage{longtable}
\usepackage{csvsimple}
\begin{document}
\csvreader[
  longtable=lll,
  head,
  table head={%
    \bfseries Name & \bfseries Value & \bfseries Text\\\hline\endhead
    \caption{Example}\endlastfoot
  },
]{test-table.csv}{
  Name=\colname,
  Value=\colvalue,
  Text=\coltext
}{%
  \colname & \colvalue & \coltext
}
\end{document}

And the data file test-table.csv:

Name,Value,Text
Test 1,1,A
Test 2,2,B
Test 3,3,A
Test 4,4,B
Test 5,5,A
Test 6,6,B
Test 7,7,A
Test 8,8,B
Test 9,9,A
Test 10,10,B
Test 11,11,A
Test 12,12,B
Test 13,13,A
Test 14,14,B
Test 15,15,A
Test 16,16,B
Test 17,17,A
Test 18,18,B
Test 19,19,A
Test 20,20,B

Result

Advantages are more control over the table layout, page breaks, ...