Veröffentlicht 7. Oktober 200816 j Hallo Leute, kann mir jemand verraten, wie man beim Drucker die Papierschächte wechselt? Für die Rechnungsschreibung setzen wir den Reportgenerator von DevExpress ein. Die erste Seite einer Rechnung soll z.B. aus Schacht1 kommen, alle folgenden Seiten aus Schacht2. DevExpress bietet leider nur die Möglichkeit einen Drucker anzugeben. Ich habe die Möglichkeit, den Report zu splitten - Seite 1 ausdrucken und anschließend den Rest. Aber wie kann man vom Standarddrucker den Papierschacht wechseln? Danke schonmal, Holger Der folgende Code druckt zwar, leider werden die Einstellungen des Druckerschachts vollkommen ignoriert. Dim mobjPrintDoc As New PrintDocument Dim OrgDrucker As String = mobjPrintDoc.PrinterSettings.PrinterName 'setzt den default Windowsdrucker Helfer.SetPrinter.ChangePrinter(objDruckerZuordnung.Zuordnung) mobjPrintDoc.PrinterSettings.PrinterName = objDruckerZuordnung.Zuordnung For Each value In mobjPrintDoc.PrinterSettings.PaperSources If value.RawKind = objDruckerZuordnung.Schacht_erste_Seite Then Exit For Next mobjPrintDoc.PrinterSettings.DefaultPageSettings.PaperSource = value repRechnung.Print 'Ausdruck auf default Windowsdrucker ' orginalen Wert wieder herstellen Helfer.SetPrinter.ChangePrinter(OrgDrucker)
8. Oktober 200816 j Hab die Lösung. Man muss einen eigenen Handler zusammen bauen. Private Sub PrintingSystemStartPrint(ByVal sender As Object, _ ByVal e As DevExpress.XtraPrinting.PrintDocumentEventArgs) e.PrintDocument.DefaultPageSettings.PaperSource = aktPaperSource End Sub Friend Function Ausdruck(ByVal strName As String, _ ByVal blnDuplikat As Boolean) As Boolean Dim repRechnung As DXRechnung = New DXRechnung() AddHandler repRechnung.PrintingSystem.StartPrint, AddressOf PrintingSystemStartPrint ...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.