I dont think PrintDocument will help. The only option with PrintDocument is use 'PDF xChange' as a printer on Print Dialog which will save the report as PDF.
About the ReportDocument... You can set the printing parameters like PaperSize, Margins etc in
ReportDocument.PrintOptions
I dont think it will be difficult to use ReportDocument instead of PrintDocument. Here's a basic code
ReportDocument reportDocument = new ReportDocument();
reportDocument.Load(< YOur report file name/path >);
reportDocument.SetDataSource( );
reportDocument.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, "C:\Files\Report.pdf");
reportDocument.Close();
reportDocument.Dispose();