This may help you to use print dialog and access the printing
here[
^]
And for button apply action you can use runtime events control of button here is a sample
here[
^]
for hiding buttons and showing them you can apply show and hide property of buttons.
I hope it helps you a bit