hose63de Geschrieben 7. Oktober 2008 Geschrieben 7. Oktober 2008 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) Zitieren
hose63de Geschrieben 8. Oktober 2008 Autor Geschrieben 8. Oktober 2008 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 ... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.