using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Drawing.Printing; using System.Diagnostics; using Microsoft.Office; namespace GenesisZeroFlow { public partial class GenesisZeroFlow : 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) //{ // #region CA1062 // if (document == null) // return; // #endregion // #region Definitions and initializations // Section section = document.LastSection; // #endregion // 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) //{ // #region CA1062 // if (document == null) // return; // #endregion // // 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) { 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 = (double)45; GP30Settings.Range.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlack; GP30Settings.Range.Font.Name = "Arial"; GP30Settings.Range.PageSetup.LeftMargin = (double)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 = (double)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 */ } } }