Longer post
The answer consists of three parts: emulating a poster creation, splitting up phase of the poster and a reconstruction test verifying our efforts. We can run the codes on all major LaTeX engines, e.g. by running these three lines:
lualatex mal-poster-input.tex
lualatex mal-poster-output.tex
lualatex mal-poster-reconstruction.tex
Step 1: Poster creation (PDF file with one page); notes on mal-poster-input.tex
I've created an A0 poster with the a0poster package. If we change portrait to landscape in \documentclass parameters, we are getting a poster alternative. I've verified the paper size by running the following command:
pdfinfo mal-poster-input.pdf
The paper size is 2379.97 x 3368.13 pts (portrait) and 3368.13 x 2379.97 pts (landscape). I tried to prepare general solution for any input PDF file, so the paper size is not that important. This is the code and a preview of those two posters.
% run: *latex mal-poster-input.tex
% let's use portrait or landscape in the class...
% use any paper size (and change font size accordingly), in this example we use a0...
\documentclass[a0,portrait]{a0poster}
\usepackage{kantlipsum}
\parindent=2cm % indentation of the first line in the paragraph
\begin{document}
\font\malfont=cmr10 at 39pt% setting up a font
\malfont % using the font
\kant[1-10]
\end{document}

Step 2: Splitting up the input PDF file; notes on mal-poster-output.tex
To lines from 7 to 11. In the code we can specify which PDF file will be used, which page and how many parts we want, this example uses 4x4. We can expect 16 pages, the direction of splitting is the same as reading in English - from top to bottom (outer \foreach cycle) and from left to right (inner \foreach cycle). There is also a scale option, for this post I used 0.92, if we set value to 1.00 it means there will be no scaling of the page afterwards.
To lines 26 and 27. We can change the default A4 paper to different paper size. It might be useful for some tasks.
To line 35. We can specify a TikZ style which will be used around the pages in the final stage of this phase. In this example you can see blue rectangles, the recommended value for production is draw=none.
I have used a method to test the input PDF file first before \documentclass is loaded. Therefore I can automatically set the rotation of the paper. It rotates paper (portrait versus landscape) the way that reader can always read the portion of the original PDF file.
I use outer and inner \foreach cycles for separation and the key command is \includegraphics with changing viewport and clip parameters from the graphicx package.
My first experiment was that I used absolute position from the tikz package. However it required two runs of TeX. There are probably methods out there like in the pdfpages package which needs only one run. I wanted that feature too. :-) After many years I finally learned that trick, hurray!: From the actual position I jump to the left upper corner and then to the center of the page. I was missing 2pt in vertical direction for some time, the key step is not to use \baselineskip (12pt) but \the\fontdimen6\font (10pt). The result of this method is that we need only one run of TeX with a help of overlay from TikZ.
We are getting 16 pages and we are informed about the progress in the terminal saying for portrait A0 poster:
Note: It's listing the page number and dimensions used from the original PDF file in points (pt) - x and y coordinates of the left bottom corner and x and y coordinates of the right top corner.
Processing page 1: 0.0, 2535.56119, 597.22202, 3380.74825
Processing page 2: 597.22202, 2535.56119, 1194.44403, 3380.74825
Processing page 3: 1194.44403, 2535.56119, 1791.66605, 3380.74825
Processing page 4: 1791.66605, 2535.56119, 2388.88806, 3380.74825
Processing page 5: 0.0, 1690.37413, 597.22202, 2535.56119
Processing page 6: 597.22202, 1690.37413, 1194.44403, 2535.56119
Processing page 7: 1194.44403, 1690.37413, 1791.66605, 2535.56119
Processing page 8: 1791.66605, 1690.37413, 2388.88806, 2535.56119
Processing page 9: 0.0, 845.18707, 597.22202, 1690.37413
Processing page 10: 597.22202, 845.18707, 1194.44403, 1690.37413
Processing page 11: 1194.44403, 845.18707, 1791.66605, 1690.37413
Processing page 12: 1791.66605, 845.18707, 2388.88806, 1690.37413
Processing page 13: 0.0, 0.00002, 597.22202, 845.18707
Processing page 14: 597.22202, 0.00002, 1194.44403, 845.18707
Processing page 15: 1194.44403, 0.00002, 1791.66605, 845.18707
Processing page 16: 1791.66605, 0.00002, 2388.88806, 845.18707
I enclose the code and a preview of those 16 pages.
% run once: *latex mal-poster-output.tex
\batchmode % Rather silent mode...
% I am a butcher, I'll slice your pdf file into pieces... ;-)
% ... and we will get a series of A4 papers...
% Basic settings for user...
\def\malfile{mal-poster-input.pdf} % name of the file
\def\malpage{1} % page in pdf file to be cut
\def\xmal{4} % number of cuts (x-axis), >1
\def\ymal{4} % number of cuts (y-axis), >1
\def\malscale{0.92} % postcut scaling (1.0 = no change; 0.92 common change)
% This file will be processed...
% Sort of hacking before \documentclass...
\makeatletter\input{graphicx.sty}\makeatother
\newbox\malbox
\setbox\malbox=\hbox{\includegraphics[page=\malpage]{\malfile}}
\ifnum\wd\malbox<\ht\malbox
\def\malpaper{portrait}
\else
\def\malpaper{landscape}
\fi
\documentclass[a4paper,\malpaper]{article}
\pagestyle{empty}
% Want to change the size? Uncomment and modify the following two lines...
%\paperwidth=21mm%
%\paperheight=29.7mm%
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{tikz}
% I am setting these two parameters right now before I forget to do that.
\tikzset{inner sep=0pt, outer sep=0pt}
\usetikzlibrary{calc}
% For intermediate+ TeXists... we can set a lot of things here...
\tikzset{pagestyle/.style={draw=blue,line width=0.01\paperwidth}}% or draw=none, draw=blue; common setting is draw=none
% opacity=50, it is not needed as rectangle is drawn first
\begin{document}
% ...Setting dimensions part...
% Dimensions related to the x-axis; \paperwidth (in pt)...
\pgfmathparse{\wd\malbox/\xmal}
\let\realx=\pgfmathresult
\pgfmathparse{2*\realx}
\let\secondx=\pgfmathresult
\pgfmathparse{\wd\malbox}
\let\lastinx=\pgfmathresult
% Dimensions related to the y-axis; \paperheight (in pt)...
\pgfmathparse{\ht\malbox/\ymal}
\let\realy=\pgfmathresult
\pgfmathparse{\ht\malbox-\realy}
\let\beforelasty=\pgfmathresult
\pgfmathparse{\ht\malbox}
\let\lastiny=\pgfmathresult
% ...The main part...
% Cycle from top to bottom...
\foreach \y in {\lastiny,\beforelasty,...,\realy} {%
% Cycle from left to right side...
\foreach \x in {\realx,\secondx,...,\lastinx} {%
% The core of this TeX file...
\newpage % One cut shown on one page...
% Computation of the opposite corner...
\pgfmathparse{\x-\realx}
\let\previousx=\pgfmathresult
\pgfmathparse{\y-\realy}
\let\previousy=\pgfmathresult
% Page number is... \thepage, therefore none computation is needed... :-)
% Message to the terminal...
\scrollmode % Write me something...
\message{Processing page \thepage: \previousx, \previousy, \x, \y}%
\batchmode % And go back to the silent mode...
% Show me that part of the pdf file, give me some fancy drawing...
% First: go to the left upper corner and then jump in the center of the page...
\pgfmathparse{1in+\oddsidemargin+\parindent-0.5\paperwidth}% left-right direction
\let\movemex=\pgfmathresult
\pgfmathparse{1in+\topmargin+\headheight+\headsep+\the\fontdimen6\font-0.5\paperheight}%
% up-down direction; or \baselineskip-2pt
\let\movemey=\pgfmathresult
% For more information and experiments of yours, please see the layouts package:
% http://ctan.org/pkg/layouts
% Including a portion of the pdf file into this document...
\begin{tikzpicture}[overlay] %no need for: remember picture ;-)
\node[scale=\malscale,pagestyle] at (-\movemex pt, \movemey pt) {%
\includegraphics[page={\malpage}, viewport={\previousx pt} {\previousy pt} {\x pt} {\y pt}, clip, width=\paperwidth]{\malfile}%
};% End of \node...
\end{tikzpicture}%
}% End of \x...
}% End of \y...
\end{document}


Step 3: Reconstruction of the original PDF file; notes on mal-poster-reconstruction.tex
Now, we'd like to verify our work. It's rather a simple task for the pdfpages package where solution is out-of-box. I've used that method of testing the input PDF file again (\ifnum...\fi statement), so we don't have to manually set portrait or landscape regime, it's selected automagically. I enclose the last file and a preview of the reconstructed poster versions.
% run: *latex mal-poster-reconstruction.tex
\makeatletter\input{graphicx.sty}\makeatother
\def\maloutput{mal-poster-output.pdf}
\newbox\testbox
\setbox\testbox=\hbox{\includegraphics{\maloutput}}
\ifnum\wd\testbox<\ht\testbox
\def\orient{portrait}
\else
\def\orient{landscape}
\fi
% use any paper size here, in this example we use a0...
\documentclass[a0,\orient]{a0poster}
\pdfpagewidth=\paperwidth
\pdfpageheight=\paperheight
\usepackage{pdfpages}
\begin{document}
\includepdf[pages={-},nup=4x4,frame=true]{\maloutput}
\end{document}
