ps-print-buffer-with-faces prints an Emacs buffer. Is
there a way to print a frame with more than one buffer in it? I would
like to print an Emacs calc frame both with the RPN stack and the
frameshot by tarsius? I haven't tried it myself, but it seems to do what you want. According to its release history on GitHub, the package was born into this world on February 26, 2018 — later than the most recent update to this post.
Give it a shot! ;)
You can use
hfyview from https://github.com/jwiegley/nxhtml/blob/master/util/hfyview.el. It constructs a html facsimile of the Emacs frame that you can print from your web browser.