Laden...

Crystal Reports schon Druckereinstellungen zuweisen

Erstellt von Grimmbizkit vor 15 Jahren Letzter Beitrag vor 5 Jahren 8.186 Views
G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren
Crystal Reports schon Druckereinstellungen zuweisen

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

726 Beiträge seit 2003
vor 15 Jahren

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);

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren

So wird der Ausdruck aber direkt gedruckt, ich möchte allerdings nur die Druckereinstellungen im Grunde schon zuweisen. bzw. Welcher Drucker.

I
79 Beiträge seit 2007
vor 15 Jahren
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?}

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren

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

726 Beiträge seit 2003
vor 15 Jahren

Was hindert dich daran, das PrintToPrinter erst später auszuführen ?

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren

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.

D
496 Beiträge seit 2005
vor 15 Jahren

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."

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren

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

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 15 Jahren

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.

G
Grimmbizkit Themenstarter:in
308 Beiträge seit 2006
vor 5 Jahren

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;