What does "not print or save correctly" mean. What is not correct?
Instead of depending on default printer setting to save as PDF, use DoCmd.OutputTo method.
Leave the printer as default and DoCmd.PrintOut form or report.
Both commands can be behind one button.