I think you can use any external program to do the print. Export the PGN, and import in your preferred chess program (ChessBase, ChessBase Light, Bookup, etc.), and use the "print" features of it.
But it would be nice if you can take a PGN, add some pseudo-commentaries to it, submit it to an app, and get a formatted version of the PGN, with diagrams in every pseudo-commentary. Suposse that everytime the program finds (!#!) in the PGN, it will generate the diagramm.