using System; using System.Globalization; using System.Windows.Forms; using System.Diagnostics; using PdfSharp.Pdf; using MigraDoc.DocumentObjectModel; using MigraDoc.DocumentObjectModel.Tables; using MigraDoc.Rendering; namespace GenesisDisplayTool { public partial class GENESIS_DISPLAY_TOOL : Form { static void DefineContentSection(Document document) { Section section = document.AddSection(); section.PageSetup.OddAndEvenPagesHeaderFooter = true; section.PageSetup.StartingNumber = 1; HeaderFooter header = section.Headers.Primary; header.AddParagraph("\tOdd Page Header"); header = section.Headers.EvenPage; header.AddParagraph("Even Page Header"); // Create a paragraph with centered page number. See definition of style "Footer". Paragraph paragraph = new Paragraph(); paragraph.AddTab(); paragraph.AddPageField(); // Add paragraph to footer for odd pages. section.Footers.Primary.Add(paragraph); // Add clone of paragraph to footer for odd pages. Cloning is necessary because an object must // not belong to more than one other object. If you forget cloning an exception is thrown. section.Footers.EvenPage.Add(paragraph.Clone()); } private void MigraDocTitlepage(Document document) { Section section = document.AddSection(); Paragraph paragraph = section.AddParagraph(); paragraph.Format.SpaceAfter = "3cm"; paragraph = section.AddParagraph(rTB_ReportEnterTitle.Text); paragraph.Format.Font.Size = 18; paragraph.Format.Font.Bold = true; paragraph.Format.Alignment = ParagraphAlignment.Center; paragraph.Format.Font.Color = Colors.Black; paragraph.Format.SpaceBefore = "6cm"; paragraph.Format.SpaceAfter = "3cm"; paragraph = section.AddParagraph("by"); paragraph.Format.Font.Size = 12; paragraph.Format.Font.Italic = true; paragraph.Format.Alignment = ParagraphAlignment.Center; paragraph.Format.SpaceAfter = "3cm"; paragraph = section.AddParagraph(rTB_ReportEnterOperator.Text); paragraph.Format.Font.Size = 14; paragraph.Format.Alignment = ParagraphAlignment.Center; paragraph.Format.SpaceAfter = "3cm"; paragraph = section.AddParagraph(rtB_ReportTitlepageIntro.Text); paragraph.Format.Font.Size = 12; // paragraph.Format.Alignment = ParagraphAlignment.Center; paragraph.Format.Alignment = ParagraphAlignment.Justify; paragraph.Format.SpaceAfter = "3cm"; } public static void DefineTableOfContents(Document document) { Section section = document.LastSection; section.AddPageBreak(); Paragraph paragraph = section.AddParagraph("Table of Contents"); paragraph.Format.Font.Size = 14; paragraph.Format.Font.Bold = true; paragraph.Format.SpaceAfter = 24; paragraph.Format.OutlineLevel = OutlineLevel.Level1; paragraph = section.AddParagraph(); paragraph.Style = "TOC"; Hyperlink hyperlink = paragraph.AddHyperlink("GP30 Settings"); hyperlink.AddText("GP30 Settings\t"); hyperlink.AddPageRefField("GP30 Settings"); hyperlink = paragraph.AddHyperlink("Decoded Data"); hyperlink.AddText("Decoded Data\t"); hyperlink.AddPageRefField("Decoded Data"); paragraph = section.AddParagraph(); paragraph.Style = "TOC"; hyperlink = paragraph.AddHyperlink("Tables"); hyperlink.AddText("Tables\t"); hyperlink.AddPageRefField("Tables"); paragraph = section.AddParagraph(); paragraph.Style = "TOC"; hyperlink = paragraph.AddHyperlink("Charts"); hyperlink.AddText("Charts\t"); hyperlink.AddPageRefField("Charts"); } public static void DefineStyles(Document document) { // Get the predefined style Normal. Style style = document.Styles["Normal"]; // Because all styles are derived from Normal, the next line changes the // font of the whole document. Or, more exactly, it changes the font of // all styles and paragraphs that do not redefine the font. style.Font.Name = "Times New Roman"; // Heading1 to Heading9 are predefined styles with an outline level. An outline level // other than OutlineLevel.BodyText automatically creates the outline (or bookmarks) // in PDF. style = document.Styles["Heading1"]; style.Font.Name = "Arial"; style.Font.Size = 14; style.ParagraphFormat.Alignment = ParagraphAlignment.Center; style.Font.Bold = true; style.Font.Color = Colors.Black; style.ParagraphFormat.PageBreakBefore = true; style.ParagraphFormat.SpaceAfter = 10; style = document.Styles["Heading2"]; style.Font.Name = "Arial"; style.Font.Size = 12; style.Font.Bold = true; style.ParagraphFormat.PageBreakBefore = false; style.ParagraphFormat.SpaceBefore = 6; style.ParagraphFormat.SpaceAfter = 6; style = document.Styles["Heading3"]; style.Font.Size = 10; style.Font.Bold = true; style.Font.Italic = true; style.ParagraphFormat.SpaceBefore = 6; style.ParagraphFormat.SpaceAfter = 3; style = document.Styles[StyleNames.Header]; style.ParagraphFormat.AddTabStop("16cm", MigraDoc.DocumentObjectModel.TabAlignment.Right); style = document.Styles[StyleNames.Footer]; style.ParagraphFormat.AddTabStop("8cm", MigraDoc.DocumentObjectModel.TabAlignment.Center); // Create a new style called TextBox based on style Normal style = document.Styles.AddStyle("TextBox", "Normal"); style.ParagraphFormat.Alignment = ParagraphAlignment.Justify; style.ParagraphFormat.Borders.Width = 2.5; style.ParagraphFormat.Borders.Distance = "3pt"; style.ParagraphFormat.Shading.Color = Colors.SkyBlue; // Create a new style called TOC based on style Normal style = document.Styles.AddStyle("TOC", "Normal"); style.ParagraphFormat.AddTabStop("16cm", MigraDoc.DocumentObjectModel.TabAlignment.Right, TabLeader.Dots); style.ParagraphFormat.Font.Color = Colors.Blue; } private void MigraDocDecodedDataPath0(Document report) { string ClockCalibrationValue = string.Empty; string PulsewidthUp = string.Empty; string PulsewidthDown = string.Empty; string AmplitudeUp = string.Empty; string AmplitudeDown = string.Empty; string AmplitudeCalUp = string.Empty; string AmplitudeCalDown = string.Empty; string TofSumOfAllUp = string.Empty; string TofSumOfAllDown = string.Empty; string Tof0Up = string.Empty; string Tof1Up = string.Empty; string Tof2Up = string.Empty; string Tof3Up = string.Empty; string Tof4Up = string.Empty; string Tof5Up = string.Empty; string Tof6Up = string.Empty; string Tof7Up = string.Empty; string Tof0Down = string.Empty; string Tof1Down = string.Empty; string Tof2Down = string.Empty; string Tof3Down = string.Empty; string Tof4Down = string.Empty; string Tof5Down = string.Empty; string Tof6Down = string.Empty; string Tof7Down = string.Empty; string Temperature = string.Empty; string DifTof0 = string.Empty; string DifTof1 = string.Empty; string DifTof2 = string.Empty; string DifTof3 = string.Empty; string DifTof4 = string.Empty; string DifTof5 = string.Empty; string DifTof6 = string.Empty; string DifTof7 = string.Empty; /* if (l_GetFirstLevelUpPath0.Text != "---") FirstHitLevelUpPath0 = l_GetFirstLevelUpPath0.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath0 = "---"; if (l_GetFirstLevelUpPath1.Text != "---") FirstHitLevelUpPath1 = l_GetFirstLevelUpPath1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath1 = "---"; if (l_GetFirstLevelUpPath2.Text != "---") FirstHitLevelUpPath2 = l_GetFirstLevelUpPath2.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath2 = "---"; if (l_GetFirstLevelDownPath0.Text != "---") FirstHitLevelDownPath0 = l_GetFirstLevelDownPath0.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath0 = "---"; if (l_GetFirstLevelDownPath1.Text != "---") FirstHitLevelDownPath1 = l_GetFirstLevelDownPath1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath1 = "---"; if (l_GetFirstLevelDownPath2.Text != "---") FirstHitLevelDownPath2 = l_GetFirstLevelDownPath2.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath2 = "---"; if (l_Gp30GetNumberOfPulses.Text != "---") NumberOfBursts = l_Gp30GetNumberOfPulses.Text; else NumberOfBursts = "---"; if (l_Gp30GetStartHit.Text != "---") StartHit = l_Gp30GetStartHit.Text; else StartHit = "---"; if (l_Gp30GetAmplitude.Text != "---") AmplitudePeak = l_Gp30GetAmplitude.Text; else AmplitudePeak = "---"; if (l_Gp30GetSamplerate.Text != "---") Samplerate = l_Gp30GetSamplerate.Text; else Samplerate = "---"; Section Gp30Settings = Report.AddSection(); Paragraph paragraph = Gp30Settings.AddParagraph("GP30 Settings"); paragraph.Style = "Heading1"; paragraph.Format.SpaceAfter = 50; paragraph.AddBookmark("GP30 Settings"); Table TableGp30Settings = new Table(); TableGp30Settings.Borders.Width = 0.75; TableGp30Settings.Format.Alignment = ParagraphAlignment.Center; Column Parameter = TableGp30Settings.AddColumn(Unit.FromCentimeter(6)); Column Value = TableGp30Settings.AddColumn(Unit.FromCentimeter(6)); Row row = TableGp30Settings.AddRow(); row.Format.Font.Bold = true; Cell cell = row.Cells[0]; cell.AddParagraph("Parameter"); cell = row.Cells[1]; cell.AddParagraph("Value"); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH0"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath0); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH1"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath1); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH2"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath2); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH0"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath0); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH1"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath1); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH2"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath2); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Number of bursts"); cell = row.Cells[1]; cell.AddParagraph(NumberOfBursts); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Starthit"); cell = row.Cells[1]; cell.AddParagraph(StartHit); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Amplitude Peak Detect"); cell = row.Cells[1]; cell.AddParagraph(AmplitudePeak); row = TableGp30Settings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Samplerate"); cell = row.Cells[1]; cell.AddParagraph(Samplerate); Report.LastSection.Add(TableGp30Settings);*/ } private void MigraDocGp30Settings(Document Report) { string FirstHitLevelUpPath0 = string.Empty; string FirstHitLevelUpPath1 = string.Empty; string FirstHitLevelUpPath2 = string.Empty; string FirstHitLevelDownPath0 = string.Empty; string FirstHitLevelDownPath1 = string.Empty; string FirstHitLevelDownPath2 = string.Empty; string NumberOfBursts = string.Empty; string StartHit = string.Empty; string AmplitudePeak = string.Empty; string Samplerate = string.Empty; if (l_GetFirstLevelUpPath0Meter1.Text != "---") FirstHitLevelUpPath0 = l_GetFirstLevelUpPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath0 = "---"; if (l_GetFirstLevelUpPath1Meter1.Text != "---") FirstHitLevelUpPath1 = l_GetFirstLevelUpPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath1 = "---"; if (l_GetFirstLevelUpPath2Meter1.Text != "---") FirstHitLevelUpPath2 = l_GetFirstLevelUpPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelUpPath2 = "---"; if (l_GetFirstLevelDownPath0Meter1.Text != "---") FirstHitLevelDownPath0 = l_GetFirstLevelDownPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath0 = "---"; if (l_GetFirstLevelDownPath1Meter1.Text != "---") FirstHitLevelDownPath1 = l_GetFirstLevelDownPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath1 = "---"; if (l_GetFirstLevelDownPath2Meter1.Text != "---") FirstHitLevelDownPath2 = l_GetFirstLevelDownPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage) + "mV)"; else FirstHitLevelDownPath2 = "---"; if (l_Gp30GetNumberOfPulsesMeter1.Text != "---") NumberOfBursts = l_Gp30GetNumberOfPulsesMeter1.Text; else NumberOfBursts = "---"; if (l_Gp30GetStartHitMeter1.Text != "---") StartHit = l_Gp30GetStartHitMeter1.Text; else StartHit = "---"; if (l_Gp30GetAmplitudeMeter1.Text != "---") AmplitudePeak = l_Gp30GetAmplitudeMeter1.Text; else AmplitudePeak = "---"; if (l_Gp30GetSamplerateMeter1.Text != "---") Samplerate = l_Gp30GetSamplerateMeter1.Text; else Samplerate = "---"; Section Settings = Report.AddSection(); Paragraph paragraph = Settings.AddParagraph("Settings"); paragraph.Style = "Heading1"; paragraph.Format.SpaceAfter = 50; paragraph.AddBookmark("Settings"); Table TableSettings = new Table(); TableSettings.Borders.Width = 0.75; TableSettings.Format.Alignment = ParagraphAlignment.Center; Column Parameter = TableSettings.AddColumn(Unit.FromCentimeter(6)); Column Value = TableSettings.AddColumn(Unit.FromCentimeter(6)); Row row = TableSettings.AddRow(); row.Format.Font.Bold = true; Cell cell = row.Cells[0]; cell.AddParagraph("Parameter"); cell = row.Cells[1]; cell.AddParagraph("Value"); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH1"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath0); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH2"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath1); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level up PATH3"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelUpPath2); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH1"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath0); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH2"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath1); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("First Hit level down PATH3"); cell = row.Cells[1]; cell.AddParagraph(FirstHitLevelDownPath2); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Number of bursts"); cell = row.Cells[1]; cell.AddParagraph(NumberOfBursts); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Starthit"); cell = row.Cells[1]; cell.AddParagraph(StartHit); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Amplitude Peak Detect"); cell = row.Cells[1]; cell.AddParagraph(AmplitudePeak); row = TableSettings.AddRow(); cell = row.Cells[0]; cell.AddParagraph("Samplerate"); cell = row.Cells[1]; cell.AddParagraph(Samplerate); Report.LastSection.Add(TableSettings); } private void GenerateMigraDoc() { Document Report = new Document(); DefineStyles(Report); MigraDocTitlepage(Report); DefineTableOfContents(Report); //DefineContentSection(Report); MigraDocGp30Settings(Report); PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false, PdfFontEmbedding.Always); pdfRenderer.Document = Report; pdfRenderer.RenderDocument(); string filename = "Hello World.pdf"; pdfRenderer.PdfDocument.Save(filename); Process.Start(filename); } /* public static Document CreateDocument() { // Create a new MigraDoc document Document document = new Document(); document.Info.Title = "Hello, MigraDoc"; document.Info.Subject = "Demonstrates an excerpt of the capabilities of MigraDoc."; document.Info.Author = "Stefan Lange"; Styles.DefineStyles(document); Cover.DefineCover(document); TableOfContents.DefineTableOfContents(document); DefineContentSection(document); Paragraphs.DefineParagraphs(document); Tables.DefineTables(document); Charts.DefineCharts(document); return document; }*/ private void GenerateWordReport() { //#region Parameter query check //if (cB_ReportGP30Settings.Checked) //{ // if ((l_GetFirstLevelUpPath0Meter1.Text.Contains("-")) || (l_GetFirstLevelUpPath1Meter1.Text.Contains("-")) || (l_GetFirstLevelUpPath2Meter1.Text.Contains("-")) || // (l_GetFirstLevelDownPath0Meter1.Text.Contains("-")) || (l_GetFirstLevelDownPath1Meter1.Text.Contains("-")) || (l_GetFirstLevelDownPath2Meter1.Text.Contains("-")) || // (l_Gp30GetAmplitudeMeter1.Text.Contains("-")) || (l_Gp30GetNumberOfPulsesMeter1.Text.Contains("-")) || (l_Gp30GetStartHitMeter1.Text.Contains("-"))) // { // MessageBox.Show("Perform parameter readout or deselect\n 'Include GP30 settings'-option", "Form closing", MessageBoxButtons.OK, MessageBoxIcon.Error); // return; // } //} //#endregion //#region Declarations //string FilenameWord = rTB_ReportEnterDate.Text.Replace("-", string.Empty); //string Fullpath = string.Empty; //#region GP30-settings //#region PATH0 up //string TextGp30Settings = string.Empty; //if (l_GetFirstLevelUpPath0Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level up PATH0: " + l_GetFirstLevelUpPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level up PATH0: ---\n"; //#endregion //#region PATH1 up //if (l_GetFirstLevelUpPath1Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level up PATH1: " + l_GetFirstLevelUpPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level up PATH1: ---\n"; //#endregion //#region PATH2 up //if (l_GetFirstLevelUpPath2Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level up PATH2: " + l_GetFirstLevelUpPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelUpPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level up PATH2: ---\n"; //#endregion //#region PATH0 down //if (l_GetFirstLevelDownPath0Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level down PATH0: " + l_GetFirstLevelDownPath0Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath0Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level down PATH0: ---\n"; //#endregion //#region PATH1 down //if (l_GetFirstLevelDownPath1Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level down PATH1: " + l_GetFirstLevelDownPath1Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath1Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level down PATH1: ---\n"; //#endregion //#region PATH2 down //if (l_GetFirstLevelDownPath2Meter1.Text != "---") // TextGp30Settings = TextGp30Settings + "First Hit level down PATH2: " + l_GetFirstLevelDownPath2Meter1.Text + " (" + (Convert.ToDouble(l_GetFirstLevelDownPath2Meter1.Text) * Constants.FirstHitLevelFactor).ToString(Formats.FirstHitLevelVoltage, CultureInfo.InvariantCulture) + "mV)\n"; //else // TextGp30Settings = TextGp30Settings + "First Hit level down PATH2: ---\n"; //#endregion //#region Number of bursts //if (l_Gp30GetNumberOfPulsesMeter1.Text != "---") // TextGp30Settings = TextGp30Settings + "Number of bursts: " + l_Gp30GetNumberOfPulsesMeter1.Text + "\n"; //else // TextGp30Settings = TextGp30Settings + "Number of bursts: ---\n"; //#endregion //#region Start hit //if (l_Gp30GetStartHitMeter1.Text != "---") // TextGp30Settings = TextGp30Settings + "Starthit: " + l_Gp30GetStartHitMeter1.Text + "\n"; //else // TextGp30Settings = TextGp30Settings + "Starthit: ---\n"; //#endregion //#region Amplitude peak detect //if (l_Gp30GetAmplitudeMeter1.Text != "---") // TextGp30Settings = TextGp30Settings + "Amplitude peak detect: " + l_Gp30GetAmplitudeMeter1.Text + "\n"; //else // TextGp30Settings = TextGp30Settings + "Amplitude peak detect: ---\n"; //#endregion //#region Samplerate //if (l_Gp30GetSamplerateMeter1.Text != "---") // TextGp30Settings = TextGp30Settings + "Samplerate: " + l_Gp30GetSamplerateMeter1.Text + "\n"; //else // TextGp30Settings = TextGp30Settings + "Samplerate: ---\n"; //#endregion //#endregion //FilenameWord = FilenameWord + "_" + rTB_ReportEnterOperator.Text + "_" + rTB_ReportEnterTitle.Text + ".docx"; //#endregion //#region Initialisation //Microsoft.Office.Interop.Word.Application winword = new Microsoft.Office.Interop.Word.Application(); //Set status for word application is to be visible or not. //winword.Visible = false; //Create a missing variable for missing value //object missing = System.Reflection.Missing.Value; //Create a new document //Microsoft.Office.Interop.Word.Document document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing); //#endregion //#region Header //foreach (Microsoft.Office.Interop.Word.Section section in document.Sections) //{ // Get the header range and add the header details. // Microsoft.Office.Interop.Word.Range headerRange = section.Headers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range; // headerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight; // string path = System.IO.Directory.GetCurrentDirectory() + "\\XylemLogoSmall.png"; // headerRange.InlineShapes.AddPicture(@path); //} //#endregion //#region Titlepage //Microsoft.Office.Interop.Word.Paragraph Titlepage = document.Paragraphs.Add(ref missing); //Titlepage.Range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlack; //Titlepage.Range.Font.Name = "Arial"; //Titlepage.Range.Text = string.Empty; //Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; //Titlepage.Range.Font.Size = 20; //Titlepage.Range.Font.Bold = 1; //Titlepage.Range.Italic = 0; //Titlepage.Range.Text = "\n\n\n" + rTB_ReportEnterTitle.Text + "\n\n"; //Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; //Titlepage.Range.Font.Size = 14; //Titlepage.Range.Font.Bold = 1; //Titlepage.Range.Italic = 0; //Titlepage.Range.Text = rTB_ReportEnterDate.Text + "\n"; //Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; //Titlepage.Range.Font.Size = 12; //Titlepage.Range.Font.Bold = 1; //Titlepage.Range.Italic = 1; //Titlepage.Range.Text = "by\n"; //Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; //Titlepage.Range.Font.Size = 14; //Titlepage.Range.Font.Bold = 1; //Titlepage.Range.Italic = 0; //Titlepage.Range.Text = rTB_ReportEnterOperator.Text + "\n\n\n\n\n\n"; //Titlepage.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; //Titlepage.Range.Font.Size = 10; //Titlepage.Range.Font.Bold = 0; //Titlepage.Range.Italic = 0; //Titlepage.Range.Text = rtB_ReportTitlepageIntro.Text; //Titlepage.Range.InsertParagraphAfter(); //Titlepage.Range.InsertBreak(); //#endregion //#region Page GP30 settings //if (cB_ReportGP30Settings.Checked) //{ // Microsoft.Office.Interop.Word.Paragraph GP30Settings = document.Paragraphs.Add(ref missing); // GP30Settings.Range.PageSetup.LeftMargin = (float)45; // GP30Settings.Range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlack; // GP30Settings.Range.Font.Name = "Arial"; // GP30Settings.Range.PageSetup.LeftMargin = (float)60; // GP30Settings.Range.Text = string.Empty; // #region Headline1 // GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter; // GP30Settings.Range.Font.Size = 20; // GP30Settings.Range.Font.Bold = 1; // GP30Settings.Range.Italic = 0; // GP30Settings.Range.Text = "GP30-Settings\n"; // #endregion // #region Headline2 // GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; // GP30Settings.Range.PageSetup.LeftMargin = (float)60; // GP30Settings.Range.Font.Size = 12; // GP30Settings.Range.Font.Bold = 1; // GP30Settings.Range.Italic = 1; // GP30Settings.Range.Text = "Values obtained from register readout\n\n"; // #endregion // #region Data // GP30Settings.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft; // GP30Settings.Range.ParagraphFormat.LineSpacing = 8; // GP30Settings.Range.Font.Size = 10; // GP30Settings.Range.Font.Bold = 0; // GP30Settings.Range.Italic = 0; // GP30Settings.Range.Text = TextGp30Settings; // #endregion // GP30Settings.Range.InsertBreak(); //} //#endregion //#region Save files //#region Save file dialog //SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //saveFileDialog1.Filter = "DOCX (*.docx)|*.docx"; //saveFileDialog1.Filter = "DOCX (*.docx)|*.docx"; //saveFileDialog1.FilterIndex = 2; //saveFileDialog1.RestoreDirectory = true; //saveFileDialog1.FileName = FilenameWord; //#endregion //#region Save to file //if (saveFileDialog1.ShowDialog() == DialogResult.OK) //{ // SaveDataPathWord = System.IO.Path.GetFullPath(saveFileDialog1.FileName); // Fullpath = SaveDataPathWord; // object filename = Fullpath; // document.SaveAs2(ref filename); // document.Close(ref missing, ref missing, ref missing); // document = null; // winword.Quit(ref missing, ref missing, ref missing); // winword = null; // MessageBox.Show("Document created successfully !"); //} //#endregion //#endregion } } }