Hallo,
ich habe einen CrystalReportViewer in ein Formular eingebunden. Nun möchte ich gerne dem Viewer Schon Druckereinstellungen zuweisen, wie z.B. der Drucker, Anzahl der Kopien, und das Papierformat.
Doch wenn ich auf den Drucken Button Klicke kommt immer der Standarddrucker von Windows.
Wie/Wo kann ich das zuweisen, bzw geht das überhaupt??
Gruß Simon
Hallo,
das könnte so aussehen:
CrystalReport1 MyReport = new CrystalReport1();
MyReport.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Landscape;
MyReport.PrintOptions.PrinterName = "HP LasterJet510";
MyReport.PrintToPrinter(1, false, 0, 0);
So wird der Ausdruck aber direkt gedruckt, ich möchte allerdings nur die Druckereinstellungen im Grunde schon zuweisen. bzw. Welcher Drucker.
Reports01 Report = new Report();
Report.PrintOptions.PrinterName = "FreePDF"
Report.PrintToPrinter(1, false, 1, 1);
edit: zu spät ggg
Software für Selbstständige
(ob das Update von Firebird 2.0 auf Firebird 2.1 mich an den Rand des Wahnsinns bringt?}
Druck das PrintToPrinter sende ich den Ausdruck aber direkt an den Drucker. Das will ich nicht, habe ich schon drin, ich möchte nur die Standardvorgaben des CrystalReportsViewer anpassen
Den Fall mit Print to Printer habe ich schon genutzt
Was hindert dich daran, das PrintToPrinter erst später auszuführen ?
Ich habe in dem ReportViewer den Print Button drin. und den will ich auch für das Drucken nutzen, wenn ich einen Ausdruck habe, zu dem ich mir vorher die Vorschau anzeigen lassen will.
du kannst doch alle diese einstellungen im report vornehmen.
"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."
Mache ich jetzt auch, doch leider wird immer etwas anderes Gewählt/Vorgegeben, als ich im Report angegeben habe.
Wenn ich den Report mittel ReportObjekt.PrintToPrinter() den Ausdruck starte, dann wird der Report korrekt gedruckt.
Wenn ich allerdings den Button des CrystalReports benutze, dann werden nicht meine Einstellungen verwendet.
Kann ich den Button vll irgendwie mit meine seperaten Code hinterlegen?
Gruß Simon
Die Vorschau wird auch anders ausgedruckt, als wenn ich den Report direkt ausdrucke.
z.B. höhenversetzt, und bei jeden Drucker den ich auswähle bekomme ich das Papierformat Letter vorgegeben. Obwohl ich in den Drucker einstellungen dieses Format garnicht benutze.
Morgen,
ich habe mich nun mit dem Thema nochmals befasst, und festgestellt, das dieses Problem bei VS2017 und CrystalReports (glaube Version 13.??) nun behoben ist. Dort kann ich per Code den Drucker (welcher nach dem klicken auf den Drucker Button angezeigt wird) verändern.
Bei VS2005 scheint das nicht zu funktionieren.
crViewer.ReportSource = crReport;
if (ReportFileName.StartsWith("Stat"))
crReport.PrintOptions.PrinterName = Program.oUserSetup.GetString("StatPrinterName");
else
crReport.PrintOptions.PrinterName = Program.oUserSetup.GetString("LfsPrinterName");
if (Program.oUserSetup.LfsPaperId > 0)
crReport.PrintOptions.PaperSize = (CrystalDecisions.Shared.PaperSize)Program.oUserSetup.LfsPaperId;
else
crReport.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperA4;