Servus Zusammen,
ich verwende einen Server Report, den ich über die Printer settings duplex drucken möchte. Dabei werden die Seiten in meinem Report in Images gerendert und in einem Stream weg gespeichert. Im Druck- Event (s.u.) werden dann die einzelne Pages gelesen und gedruckt. Der normale Ausdruck funktioniert, jedoch der duplex Druck nicht. Der Drucker erkennt, dass er duplex drucken soll ( zieht Papier wieder ein), gibt aber eine leere Seite aus. Ich vermute, dass hier bereits beim rendern falsche Informationen vorhanden sind, mit denen der Drucker nicht umgehen kann.
Hat jemand Erfahrung mit Duplex Druck von Server Reports und kann mir hier helfen?
PrintDocument printDok = new PrintDocument();
printDok.PrintPage += new PrintPageEventHandler(printDok_PrintPage);
printDok.PrinterSettings.Duplex = Duplex.Horizontal;
m_nCurrentPageIndex = 0;
printDok.Print();
// feuert für jede einzelne Seite, sobald printDok.Print() aufgerufen wird.
void printDok_PrintPage(object sender, PrintPageEventArgs e)
{
s_streams[m_nCurrentPageIndex].Position = 0;
Metafile pageImage = new Metafile(s_streams[m_nCurrentPageIndex]);
e.Graphics.DrawImage(pageImage, e.PageBounds);
m_nCurrentPageIndex++;
e.HasMorePages = (m_nCurrentPageIndex < s_streams.Count);
}
ich verwende einen Server Report, den ich über die Printer settings duplex drucken möchte. Dabei werden die Seiten in meinem Report in Images gerendert und in einem Stream weg gespeichert. Im Druck- Event (s.u.) werden dann die einzelne Pages gelesen und gedruckt. Der normale Ausdruck funktioniert, jedoch der duplex Druck nicht. Der Drucker erkennt, dass er duplex drucken soll ( zieht Papier wieder ein), gibt aber eine leere Seite aus. Ich vermute, dass hier bereits beim rendern falsche Informationen vorhanden sind, mit denen der Drucker nicht umgehen kann.
Hat jemand Erfahrung mit Duplex Druck von Server Reports und kann mir hier helfen?
PrintDocument printDok = new PrintDocument();
printDok.PrintPage += new PrintPageEventHandler(printDok_PrintPage);
printDok.PrinterSettings.Duplex = Duplex.Horizontal;
m_nCurrentPageIndex = 0;
printDok.Print();
// feuert für jede einzelne Seite, sobald printDok.Print() aufgerufen wird.
void printDok_PrintPage(object sender, PrintPageEventArgs e)
{
s_streams[m_nCurrentPageIndex].Position = 0;
Metafile pageImage = new Metafile(s_streams[m_nCurrentPageIndex]);
e.Graphics.DrawImage(pageImage, e.PageBounds);
m_nCurrentPageIndex++;
e.HasMorePages = (m_nCurrentPageIndex < s_streams.Count);
}