Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Einführung
Zum Konfigurieren von Druckoptionen und zum Aufrufen eines Druckers muss nicht unbedingt die Crystal Reports-Benutzeroberfläche verwendet werden. Sie können auch codegesteuert arbeiten. Sie verwenden hierfür die PrintOptions-Klasse und die PrintToPrinter()-Methode des ReportDocument-Objektmodells.
Sollten Ihre Druckanforderungen mit der Schaltfläche "Drucken" auf der Symbolleiste des CrystalReportViewer-Steuerelements abgedeckt sein, muss kein Code zur Konfiguration zusätzlicher Druckoptionen geschrieben werden.
Dennoch kann die codebasierte Methode zum Drucken von Berichten für bestimmte Szenarien nützlich sein:
- Sie können steuern, wann, wo und wie Druckvorgänge ausgeführt werden. Hierfür deaktivieren Sie die Schaltfläche "Drucken" auf der Symbolleiste des CrystalReportViewer-Steuerelements und verwalten alle Druckvorgänge codegesteuert.
- Sie können einen Bericht im Hintergrund drucken, ohne ihn anzeigen zu lassen. Alle Druckeinstellungen sind im ReportDocument-Modell enthalten, das instantiiert und konfiguriert werden kann, ohne den Bericht mithilfe eines CrystalReportViewer-Steuerelements anzeigen lassen zu müssen.
- Sie können alle Druckvorgänge für einen Webclient zentral auf dem Webserver verwalten. Sie brauchen Druckaufträge nicht an einen lokalen Drucker zu senden, der mit dem Webclient verbunden ist, sondern können die Druckaufträge mithilfe der PrintToPrinter()-Methode an einen Drucker senden, der an den Webserver angeschlossen ist.
AnmerkungDiese Back-End-Druckfunktionalität ist weniger umfangreich als das in Crystal Reports Server oder BusinessObjects Enterprise für die zeitgesteuerte Verarbeitung von Berichten bereitgestellte Framework. Weitere Informationen zu diesen Produkten finden Sie unter Aktualisierungsoptionen.
Zu Beginn dieses Lernprogramms fügen Sie dem Web Form oder Windows Form oberhalb des CrystalReportViewer-Steuerelements mehrere Listensteuerelemente hinzu, um Druckoptionen festzulegen.
Anschließend erstellen Sie in der CodeBehind-Klasse eine CURRENT_PRINTER-Zeichenfolgenkonstante, der Sie den Pfad des zu verwendenden Druckers zuweisen.
Danach binden Sie jedes Listensteuerelement an eine Enumeration, die Druckoptionen für Papierausrichtung, Papiergröße und Druckereinstellungen für beidseitigen Druck (Duplex) enthält. Ein weiteres Listensteuerelement zeigt benutzerdefinierte Einstellungen für die Papierzufuhr des Druckers an, der derzeit in der CURRENT_PRINTER-Konstante festgelegt ist. Für das benutzerdefinierte Papierzufuhr-Steuerelement erstellen Sie eine Hilfsmethode, durch die PrinterSettings instantiiert und dem aktuellen Drucker zugewiesen werden und anschließend ein Array von Papierzufuhroptionen für diesen Drucker zurückgegeben wird.
Anschließend erstellen Sie eine Click-Ereignismethode für die Schaltfläche "Bericht drucken". Bei dieser Ereignismethode ist jeder Eigenschaft der Druckoptionen ein Wert zugewiesen, der auf den in den Listensteuerelementen ausgewählten Optionen basiert. Der Bericht wird dann auf dem Drucker gedruckt, der in der CURRENT_PRINTER-Konstante festgelegt wurde.
Beispielcode
Dieses Lernprogramm enthält Beispielcode, der sowohl in C# als auch in Visual Basic geschrieben wurde und die fertige Projektversion darstellt. Befolgen Sie die Anweisungen in diesem Lernprogramm, um ein neues Projekt zu erstellen. Sie können aber auch das Beispielcodeprojekt öffnen, wenn Sie mit einer fertigen Version arbeiten möchten.
Die Beispielcodes wurden in Ordnern gespeichert, die nach Sprache und Projekttyp kategorisiert wurden. Die Ordnernamen für jede Beispielcodeversion lauten wie folgt:
- C#-Website: CS_Web_RDObjMod_SetPrintOptions
- C#-Windows-Projekt: CS_Win_RDObjMod_SetPrintOptions
- Visual Basic-Website: VB_Web_RDObjMod_SetPrintOptions
- Visual Basic-Windows-Projekt: VB_Win_RDObjMod_SetPrintOptions
Nähere Angaben zum Speicherort der Ordner mit diesen Beispielen finden Sie unter Verzeichnis mit Beispielcode für Lernprogramme.