How to tell LaTeX to place all figures at the end of pdf file?

For the first (risky (see link below)) possibility (force all figures to appear exactly where they are declared in the code, suppressing flotation), you can use the float package and its \floatplacement command together with the H specifier:

\documentclass{article}
\usepackage{float}
\floatplacement{figure}{H}

\begin{document}
<contents>
\end{document}

Of course, this has some drawbacks: Drawbacks of the `H` specifier.

For the second one (moving all figures to the end of the document), the endfloat package can be used. For example, the following:

\documentclass{article}
\usepackage[nomarkers,figuresonly]{endfloat}

\begin{document}
<contents>
\end{document}

will cause just figure environments (nor table or other user-defined floats) to be placed at the end of the document and won't produce any marker in the place where the figures originally were.

Refer to the package documentation to see all the other options it offers.


There is also the figcaps package, which has two simple switches to forward all floats to the end in \figcapson (enabled by default) and \figcapsoff.

\documentclass{article}
\usepackage[printfigures]{figcaps} % printfigures to display figure floats
%\figcapsoff % enable to keep floats in their positions 

\begin{document}
<contents>
\end{document}

Do note that figcaps comes with far fewer options than endfloat and there seems to be no (easy) way to prevent it from printing the figure captions in addition to the figures themselves if you don't want them.