Your VI... ummm.... ok.... let's skip that for now.
I put a disable structure around all of the subVIs and disconnected type defs. I ran your VI and when I pressed the print button I received an error due to an invalid VI refnum. That's when I saw that you were passing in a VI refnum. Why? Are you trying to print the panel of another VI? If you're trying to print the panel of that VI you don't need to pass the VI refnum. If you leave the reference input disconnected it assumes the VI the node is in if the class is VI, or the application it's in if the class is Application. If you really want to you can use the VI Server Reference constant and select "This VI. After making that change I was able to get a printout.