private void fileprintStart(Model.Printer printer, FinishedEventArgs e) { try { fileprintPrintFinished = false; foreach (var fileprint in printer.Fileprints) { if (fileprintCheck(e.Einsatz, fileprint)) { Logger.WriteDebug(MethodBase.GetCurrentMethod(), "Printer[" + printer.PrinterName + "] Fileprint -> " + fileprint.File); if (!PdfPrinterHelper.Print(printer.PrinterName, fileprint.File)) { return; } } } } catch (Exception ex) { Logger.WriteError(MethodBase.GetCurrentMethod(), ex); } finally { fileprintPrintFinished = true; } }
private bool reportDataOn(Model.Printer printer) { if (printer.ReportDataSchlagwortOn) { return(true); } if (printer.ReportDataStichwortOn) { return(true); } if (printer.ReportDataOrtOn) { return(true); } if (printer.ReportDataStraßeOn) { return(true); } if (printer.ReportDataObjektOn) { return(true); } if (printer.ReportDataStationOn) { return(true); } if (printer.ReportDataKreuzungOn) { return(true); } if (printer.ReportDataAbschnittOn) { return(true); } if (printer.ReportDataBemerkungOn) { return(true); } return(false); }
private void faxStart(Model.Printer printer, FinishedEventArgs e) { try { faxPrintFinished = false; faxPageIndex = 0; var printDoc = new PrintDocument(); if (Path.GetExtension(e.Einsatz.FaxPath).ToLower() == ".txt") { faxText = new List <string>(); using (var _streamReader = new StreamReader(e.Einsatz.FaxPath, Encoding.GetEncoding(1252))) { while (_streamReader.Peek() >= 0) { faxText.Add(_streamReader.ReadLine()); } } printDoc.PrintPage += faxPrinter_PrintPageText; } else { faxImages = TiffConverter.TiffToBitmapList(e.Einsatz.FaxPath); printDoc.PrintPage += faxPrinter_PrintPageImages; } printDoc.PrinterSettings.PrinterName = printer.PrinterName; printDoc.EndPrint += faxPrinter_StreamDispose; printDoc.Print(); } catch (Exception ex) { Logger.WriteError(MethodBase.GetCurrentMethod(), ex); faxPrintFinished = true; } }
private void reportStart(Model.Printer printer, FinishedEventArgs e) { try { reportPrintFinished = false; reportPageIndex = 0; var report = new LocalReport(); report.ReportEmbeddedResource = "RIS.Report.rdlc"; report.EnableExternalImages = true; //ReportParameter festlegen var reportParammeters = new List <ReportParameter>(); //Allgemein //reportParammeters.Add(new ReportParameter("Organisation", _organisationService.OrganisationName, true)); reportParammeters.Add(new ReportParameter("Alarmzeit", e.Einsatz.AlarmTime.ToString(), true)); //Einsatzdaten if (reportDataOn(printer)) { reportParammeters.Add(new ReportParameter("EinsatzdatenOn", "True")); } else { reportParammeters.Add(new ReportParameter("EinsatzdatenOn", "False")); } if ((string.IsNullOrEmpty(e.Einsatz.Schlagwort) || !printer.ReportDataSchlagwortOn) && (string.IsNullOrEmpty(e.Einsatz.Stichwort) || !printer.ReportDataStichwortOn)) { reportParammeters.Add(new ReportParameter("Ereignis", "", false)); } else if (string.IsNullOrEmpty(e.Einsatz.Schlagwort) || !printer.ReportDataSchlagwortOn) { reportParammeters.Add(new ReportParameter("Ereignis", e.Einsatz.Stichwort)); } else if (string.IsNullOrEmpty(e.Einsatz.Stichwort) || !printer.ReportDataStichwortOn) { reportParammeters.Add(new ReportParameter("Ereignis", e.Einsatz.Schlagwort)); } else { reportParammeters.Add(new ReportParameter("Ereignis", e.Einsatz.Stichwort + " - " + e.Einsatz.Schlagwort)); } reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Ort) || !printer.ReportDataOrtOn ? new ReportParameter("Ort", "", false) : new ReportParameter("Ort", e.Einsatz.Ort)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Straße) || !printer.ReportDataStraßeOn ? new ReportParameter("Straße", "", false) : new ReportParameter("Straße", e.Einsatz.Straße + " " + e.Einsatz.Hausnummer)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Objekt) || !printer.ReportDataObjektOn ? new ReportParameter("Objekt", "", false) : new ReportParameter("Objekt", e.Einsatz.Objekt)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Ort) || !printer.ReportDataOrtOn ? new ReportParameter("Station", "", false) : new ReportParameter("Station", e.Einsatz.Station)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Straße) || !printer.ReportDataStraßeOn ? new ReportParameter("Kreuzung", "", false) : new ReportParameter("Kreuzung", e.Einsatz.Kreuzung)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Objekt) || !printer.ReportDataObjektOn ? new ReportParameter("Abschnitt", "", false) : new ReportParameter("Abschnitt", e.Einsatz.Abschnitt)); reportParammeters.Add(string.IsNullOrEmpty(e.Einsatz.Bemerkung) || !printer.ReportDataBemerkungOn ? new ReportParameter("Bemerkung", "", false) : new ReportParameter("Bemerkung", e.Einsatz.Bemerkung)); //Fahrzeuge if (printer.ReportVehiclesOn && e.Einsatz.Einsatzmittel != null) { var einsatzmittelString = ""; foreach (var vehicle in e.Einsatz.Einsatzmittel) { einsatzmittelString += vehicle.Name; //Add new line if not last vehicle if (vehicle != e.Einsatz.Einsatzmittel.Last()) { einsatzmittelString += "\n"; } } reportParammeters.Add(new ReportParameter("EinsatzmittelOn", "True")); reportParammeters.Add(new ReportParameter("Einsatzmittel", einsatzmittelString)); } else { reportParammeters.Add(new ReportParameter("EinsatzmittelOn", "False")); reportParammeters.Add(new ReportParameter("Einsatzmittel", "", false)); } //Routenimage if (printer.ReportRouteImageOn && e.ImageReport != null && e.ImageReport.Count() > 0) { reportParammeters.Add(new ReportParameter("MapImageOn", "True")); reportParammeters.Add(new ReportParameter("MapImage", Convert.ToBase64String(e.ImageReport))); } else { reportParammeters.Add(new ReportParameter("MapImageOn", "False")); reportParammeters.Add(new ReportParameter("MapImage", "", false)); } //Routendescription if (printer.ReportRouteDescriptionOn && e.Description != null) { reportParammeters.Add(new ReportParameter("MapDescriptionOn", "True")); reportParammeters.Add(new ReportParameter("MapDescription", e.Description)); } else { reportParammeters.Add(new ReportParameter("MapDescriptionOn", "False")); reportParammeters.Add(new ReportParameter("MapDescription", "", false)); } //Parameter an Bericht übertragen report.SetParameters(reportParammeters); report.Refresh(); //Exportieren des Reports zu EMF file Warning[] warnings; reportFiles = new List <string>(); reportStreams = new List <Stream>(); report.Render("Image", @"<DeviceInfo><OutputFormat>EMF</OutputFormat></DeviceInfo>", reportPrinter_StreamCreate, out warnings); foreach (var stream in reportStreams) { stream.Position = 0; } //Start to print report var printDoc = new PrintDocument(); printDoc.PrintPage += reportPrinter_PrintPage; printDoc.EndPrint += reportPrinter_StreamDispose; printDoc.PrinterSettings.PrinterName = printer.PrinterName; printDoc.Print(); } catch (Exception ex) { Logger.WriteError(MethodBase.GetCurrentMethod(), ex); reportPrintFinished = true; } }