public Document GetPassPdf(string filename, PassSettingDto settings, List <PassCalculator.SatPass> passes) { this.settings = settings; this.passes = passes; // Create a new MigraDoc document this.document = new Document(); this.document.Info.Title = "Satellite pass list"; this.document.Info.Subject = "Simple satellite pass list generated by SatWatcher"; this.document.Info.Author = "Jannes Kaspar-Müller"; DefineStyles(); CreatePage(); AddTableData(); PdfDocumentRenderer renderer = new PdfDocumentRenderer(true, PdfSharp.Pdf.PdfFontEmbedding.Always); renderer.Document = document; renderer.RenderDocument(); // Save the document... renderer.PdfDocument.Save(filename); Process.Start(filename); return(this.document); }
private void btnCalc_Click(object sender, EventArgs e) { var location = _db.GetPosition(); var home = new Coordinate(Decimal.ToDouble(location.lat), Decimal.ToDouble(location.lng)); lviewPasses.Items.Clear(); List <SatPass> satPasses = new List <SatPass>(); foreach (var sat in _satellites.SelectedSatellites) { var passes = SatFunctions.CalculatePasses(home, sat.Tle, new EpochTime(dtpStart.Value), 15, (int)nbxSpanDays.Value, Sgp4.wgsConstant.WGS_84); passes.ForEach(p => satPasses.Add(new SatPass(sat.Name, p))); } satPasses = satPasses .Where(p => p.Pass.getPassDetailOfMaxElevation().elevation >= (double)nbxMinElev.Value) .OrderBy(p => p.Pass.getStartEpoch().getEpoch()) .ToList(); foreach (var pass in satPasses) { string[] arr = new string[4]; arr[0] = pass.Pass.getPassDetailOfMaxElevation().time.toDateTime().ToLocalTime().ToString(); arr[1] = pass.Name; arr[2] = (pass.Pass.getPassDetailsAtEnd().time.toDateTime() - pass.Pass.getPassDetailsAtStart().time.toDateTime()).ToString(); arr[3] = Math.Round(pass.Pass.getPassDetailOfMaxElevation().elevation, 2).ToString(); var itm = new ListViewItem(arr); lviewPasses.Items.Add(itm); } var settings = new PassSettingDto(location, dtpStart.Value, (int)nbxSpanDays.Value, (double)nbxMinElev.Value, _satellites.SelectedSatellites.Select(s => s.Name).ToArray()); btnGenPdf.Enabled = true; lastSettings = settings; lastPasses = satPasses; }