I need to change printer and tray setting depending on every single page data.
So example if I have that page content type is 1: I have to sent it to the FirstFloor printer.
But if page content type is 2: I must be go to the printer SecondFloor printer.
3: must be go to the other printer.
Can I manage it on the before print every page?
I have StiPrintProvider.QueryPageSettings += StiPrintProvider_QueryPageSettings;
With this event I can manage Printer Tray settings and it is ok.
But in this method I have only Page Settings, Paper Source and PaperSize properties.
I dont have target printer settings.
Also I dont have print data for decision of target print.
I need to set target printer. On every different page. Not for whole of report.
Can you help me?
I need to change printer and tray setting depending on every single page data.
Re: I need to change printer and tray setting depending on every single page data.
I found a solution. Im using this way but I'm not sure is it best practice :
So I'm printing pages one by one from datasource not from printpreview. I'm not sure.
So I'm printing pages one by one from datasource not from printpreview. I'm not sure.
Code: Select all
var pageNumber = 1;
foreach (DataRow dataRow in myTable.Rows)
{
PageSettings printerSettings =((PageSettings)GetSettings[dataRow[DataRowTemplateIdColumnName]]);
stiViewerCertificates.Report.Print(false, new PrinterSettings()
{
PrinterName = printerSettings.PrinterSettings.PrinterName,
Copies = 1,
PrintRange = PrintRange.SomePages,
FromPage = pageNumber,
ToPage = pageNumber,
PaperSources = { printerSettings.PaperSource},
DefaultPageSettings = { PaperSource = printerSettings.PaperSource},
});
pageNumber++;
}
-
- Posts: 6252
- Joined: Tue Mar 20, 2018 5:34 am
Re: I need to change printer and tray setting depending on every single page data.
Hello,
Thank you for the provided solution.
Thank you for the provided solution.