This article demonstrates how to print different pages of a PDF document to different printer trays using Spire.PDF and c#.
Code snippets:
Step 1: Initialize an object of PdfDocument class and Load the PDF document.
PdfDocument doc = new PdfDocument(); doc.LoadFromFile(@"F:\sample.pdf");
Step 2: Set different printer trays for different pages of the document.
doc.PrintSettings.PaperSettings += delegate(object sender, PdfPaperSettingsEventArgs e) { //Set the paper source of page 1-50 as tray 1 if (1 <= e.CurrentPaper && e.CurrentPaper <= 50) { e.CurrentPaperSource = e.PaperSources[0]; } //Set the paper source of the rest of pages as tray 2 else { e.CurrentPaperSource = e.PaperSources[1]; } };
Step 3: Print the document.
doc.Print();
Full code:
using Spire.Pdf; using Spire.Pdf.Print; namespace Print_pages_to_different_printer_trays { class Program { static void Main(string[] args) { //Initialize an object of PdfDocument class PdfDocument doc = new PdfDocument(); //Load the PDF document doc.LoadFromFile(@"F:\sample.pdf"); //Set Paper source doc.PrintSettings.PaperSettings += delegate(object sender, PdfPaperSettingsEventArgs e) { //Set the paper source of page 1-50 as tray 1 if (1 <= e.CurrentPaper && e.CurrentPaper <= 50) { e.CurrentPaperSource = e.PaperSources[0]; } //Set the paper source of the rest of pages as tray 2 else { e.CurrentPaperSource = e.PaperSources[1]; } }; //Print the document doc.Print(); } } }