We are not doing anything as far as we know to the print options that would cause this. We have a standard set of code that we print these reports through and it has always worked properly for a few years. Here's the code that we use to actually print the pdfs:
public void PrintAllPdf()
{
try
{
ceTe.DynamicPDF.Printing.InputPdf _pdfDoc2 = new ceTe.DynamicPDF.Printing.InputPdf(_printConfig.PDFContent);//contains our PDF byte array.
_pageCount = _pdfDoc2.Pages.Count;
ceTe.DynamicPDF.Printing.PrintJob _printJob;
var printer = new Printer(_printConfig.CheckPrinterName);
var checkPaperSource = printer.PaperSources.FirstOrDefault(x => x.Name == _printConfig.CheckPaperSource.SourceName);
//Printing first page
ceTe.DynamicPDF.Printing.Printer _checkPrinter = new ceTe.DynamicPDF.Printing.Printer(_printConfig.CheckPrinterName);
_printJob = new ceTe.DynamicPDF.Printing.PrintJob(_checkPrinter, _pdfDoc2, 1, 1);//we allow printing the first page to a different printer/tray than the rest of the report (checks and the first page always contains the check data which prints on check stock).
var page1 = _printJob.Pages[0];
page1.PrintOptions.Inherit = false;
page1.PrintOptions.PaperSource = checkPaperSource;
_printJob.Print();
_printJob.Dispose();
//Printing rest of the pages
if(_pageCount>1)
{
printer = new Printer(_printConfig.PaperPrinterName == null ? _printConfig.CheckPrinterName : _printConfig.PaperPrinterName);
var tailpaperSource = printer.PaperSources.FirstOrDefault(x => x.Name == _printConfig.TailPaperSource.SourceName);
ceTe.DynamicPDF.Printing.Printer _pagePrinter = new ceTe.DynamicPDF.Printing.Printer(_printConfig.PaperPrinterName);
_printJob = new ceTe.DynamicPDF.Printing.PrintJob(_pagePrinter, _pdfDoc2, 2, _pageCount - 1);
foreach(var page in _printJob.Pages)
{
//this is a recent update. We were using SetPaperSourceByName, but we found that it was still always using the Automatically Selected paper source, so we switched to setting it manually on all pages of the report.
//_printJob.PrintOptions.SetPaperSourceByName(_printConfig.PaperSource.ToString());
page.PrintOptions.Inherit = false;
page.PrintOptions.PaperSource = tailpaperSource;
}
_printJob.Print();
_printJob.Dispose();
}
}
catch (Exception e)
{
throw;
}
}