|Perl: the Markov chain saw|
Excellent. Welcome aboard! (And, congratulations!)
Definitely spend some time here: http://search.cpan.org
The reason why I say that is anchored in a bit of wisdom that I first encountered in a completely-unrelated book that I read many dozens of years ago:
Actum Ne Agas: Do Not Do A Thing Already Done.
“Extracting data from txt files and pdf files,” and “compiling them into a new pdf file,” all more-or-less fall into the purview of “a thing already done,” albeit not-quite. Any (and every) problem that you are likely to encounter on-the-job will actually turn out to be “slightly a brand-new application or twist on mostly what has been done before.” There are no Brownie-points to be earned from reinventing the wheel. Put this URL onto the bookmarks-bar of your web browser, and refer to it constantly.
For example, this particular requirement could be broken-down in this way, by our intrepid Perl programmer who knows that “laziness is a virtue” ...
You will have plenty of challenges in front of you. Just make sure that you do not find yourself unnecessarily reinventing wheels. As a matter of instinct, to the greatest extent possible, leverage “prior art.”
Also: Be sure to make full use of this resource! (perlmonks) If you stumble into a stumbling-block ... ask. You have a great many sympathetic friends here. All things considered, ’tis better that you ask sooner rather than later. All of us have clients to be served. All of us are beholden to them all.