Я бы начал буферизацию вывода php, а затем просто сгенерировал бы код LaTeX, как если бы вы генерировали HTML-код. После этого получите буфер и загрузите им генератор LaTeX. Пример:
<?php ob_start(); ?>
\documentclass{article}
\begin{document}
\section{Title}
\subsection{Subtitle}
Plain text.
\subsection{Another subtitle}
More plain text. :-P
\end{document}
<?php
$latex = ob_get_clean();
$file = tmpnam('/tmp');
file_put_contents($file, $latex);
exec('latex --output /path/to/your/result.pdf '.escapeshellarg($file));
unlink($file);
?>
Обратите внимание, что приведенный выше код имеет состояние псевдокода. Я просто писал вещи по памяти и образованным догадкам, ничего не проверяя. Но принцип должен работать.