private void createWatermark() { //Adds the watermark with the services down the side of the page //Image imgWatermark = Service_Reader.Properties.Resources.Sidebar; //string watermarkStr = imageToMigradocString(imgWatermark); //var watermarkPrimary = currentSection.Headers.Primary.AddImage(watermarkStr); //watermarkPrimary.Top = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Top; //watermarkPrimary.Left = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Left; //watermarkPrimary.RelativeHorizontal = MigraDoc.DocumentObjectModel.Shapes.RelativeHorizontal.Page; //var watermark = currentSection.Headers.FirstPage.AddImage(watermarkStr); //watermark.Top = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Top; //watermark.Left = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Left; //watermark.RelativeHorizontal = MigraDoc.DocumentObjectModel.Shapes.RelativeHorizontal.Page; //Each watermark is currently the same for all pages Section currentSection = (Section)serviceSheetDoc.Sections.LastObject; MigraDoc.DocumentObjectModel.Shapes.TextFrame tfWatermarkPrimary = currentSection.Headers.Primary.AddTextFrame(); createWatermarkForSection(tfWatermarkPrimary); MigraDoc.DocumentObjectModel.Shapes.TextFrame tfWatermarkSecondary = currentSection.Headers.FirstPage.AddTextFrame(); createWatermarkForSection(tfWatermarkSecondary); }
private void createWatermarkForSection(MigraDoc.DocumentObjectModel.Shapes.TextFrame tfWatermark) { //Creates the text for the side watermark tfWatermark.Orientation = MigraDoc.DocumentObjectModel.Shapes.TextOrientation.Upward; Paragraph lineOne = tfWatermark.AddParagraph(); if (currentSheet.UkServiceSheet == true) { addServiceToWaterMark(lineOne, "BREAKDOWN RESPONSE", true); addServiceToWaterMark(lineOne, "SCHEDULED SERVICING", true); addServiceToWaterMark(lineOne, "MPEOM PROCESS", true); addServiceToWaterMark(lineOne, "RETROFIT & REBUILD", true); addServiceToWaterMark(lineOne, "RELOCATION & INSTALLATION", true); addServiceToWaterMark(lineOne, "MACHINE TOOL CALIBRATION", false); Paragraph lineTwo = tfWatermark.AddParagraph(); addServiceToWaterMark(lineTwo, "VIBRATION ANALYSIS", true); addServiceToWaterMark(lineTwo, "THERMAL ANALYSIS", true); addServiceToWaterMark(lineTwo, "SPINDLE ANALYSIS", true); addServiceToWaterMark(lineTwo, "RESEARCH & DEVELOPMENT", true); addServiceToWaterMark(lineTwo, "CUSTOMER TRAINING", true); addServiceToWaterMark(lineTwo, "CONSULTATION", true); } else if (currentSheet.UkServiceSheet == false) { addServiceToWaterMark(lineOne, "MPEOM PROCESS", true); addServiceToWaterMark(lineOne, "RETROFIT & REBUILD", true); addServiceToWaterMark(lineOne, "RELOCATION & INSTALLATION", true); addServiceToWaterMark(lineOne, "MACHINE TOOL CALIBRATION", true); addServiceToWaterMark(lineOne, "VIBRATION ANALYSIS", true); addServiceToWaterMark(lineOne, "THERMAL ANALYSIS", true); Paragraph lineTwo = tfWatermark.AddParagraph(); addServiceToWaterMark(lineTwo, "SPINDLE ANALYSIS", true); addServiceToWaterMark(lineTwo, "RESEARCH & DEVELOPMENT", true); addServiceToWaterMark(lineTwo, "CUSTOMER TRAINING", true); addServiceToWaterMark(lineTwo, "CONSULTATION", false); } else { Console.WriteLine("UK/US job not identified"); } //tfWatermark.AddParagraph("BREAKDOWN RESPONSE | SCHEDULED SERVICING | MPEOM PROCESS | RETROFIT & REBUILD | RELOCATION & INSTALLATION | MACHINE TOOL CALIBRATION | VIBRATION ANALYSIS"); //tfWatermark.AddParagraph("THERMAL ANALYSIS | SPINDLE ANALYSIS | RESEARCH & DEVELOPMENT | CUSTOMER TRAINING | CONSULTATION"); tfWatermark.Left = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Left; tfWatermark.Top = MigraDoc.DocumentObjectModel.Shapes.ShapePosition.Center; tfWatermark.RelativeHorizontal = MigraDoc.DocumentObjectModel.Shapes.RelativeHorizontal.Page; tfWatermark.MarginLeft = 15; tfWatermark.Height = new Unit(23.5, UnitType.Centimeter); tfWatermark.Width = new Unit(2.5, UnitType.Centimeter); }
private void createFooter() { Section currentSection = (Section)serviceSheetDoc.Sections.LastObject; //RT 18/8/16 - Adding a text frame and setting this to the bottom of the page MigraDoc.DocumentObjectModel.Shapes.TextFrame footerTf = currentSection.Footers.Primary.AddTextFrame(); Table footerTable = footerTf.AddTable(); footerTf.RelativeVertical = MigraDoc.DocumentObjectModel.Shapes.RelativeVertical.Page; //RT - 30/1/17 - Adding US footer if (currentSheet.UkServiceSheet == true) { footerTf.MarginTop = new Unit(28.5, UnitType.Centimeter); } else if (currentSheet.UkServiceSheet == false) { footerTf.MarginTop = new Unit(26.7, UnitType.Centimeter); } else { Console.WriteLine("UK/US job not identified"); } //Table footerTable = currentSection.Footers.Primary.AddTable(); footerTable.AddColumn("4cm"); footerTable.AddColumn("10cm"); footerTable.AddColumn("4cm"); if (currentSheet.UkServiceSheet == true) { footerTf.MarginTop = new Unit(28.5, UnitType.Centimeter); } else if (currentSheet.UkServiceSheet == false) { footerTf.MarginTop = new Unit(26.7, UnitType.Centimeter); } else { Console.WriteLine("UK/US job not identified"); } if (currentSheet.UkServiceSheet == true) { createUkFooterSection(footerTable); } else if (currentSheet.UkServiceSheet == false) { createUsFooterSection(footerTable); } else { Console.WriteLine("UK/US job not identified"); } currentSection.Footers.FirstPage = currentSection.Footers.Primary.Clone(); }
public void CreateCharacterCertificatePDF(string[] CertificateData, string admNo, int admYear) { if (CertificateData.Length != 5) { return; } else { // Generate nmhs-nexap directory in my document folder string containerfolder = this.GenerateDocumentBaseDirectory(); MigraModel.Document doc = new MigraModel.Document(); MigraModel.Section sec = doc.AddSection(); sec.PageSetup = doc.DefaultPageSetup.Clone(); sec.PageSetup.TopMargin = ".7cm"; MigraDoc.DocumentObjectModel.Shapes.TextFrame tframe = sec.AddTextFrame(); tframe.AddImage("nmhs-logo.jpg"); tframe.Left = "-.5cm"; tframe.Top = "0.7cm"; tframe.RelativeVertical = MigraModel.Shapes.RelativeVertical.Page; tframe.RelativeHorizontal = MigraModel.Shapes.RelativeHorizontal.Margin; MigraModel.Paragraph paraSchoolName = sec.AddParagraph(); paraSchoolName.Format.Font.Name = "Times New Roman"; paraSchoolName.Format.Alignment = MigraModel.ParagraphAlignment.Center; paraSchoolName.Format.Font.Size = 25; paraSchoolName.Format.Font.Color = MigraDoc.DocumentObjectModel.Colors.DarkBlue; string schoolName = "NAIMOUZA HIGH SCHOOL"; paraSchoolName.AddFormattedText(schoolName, MigraModel.TextFormat.Bold); MigraModel.Paragraph paraSchoolAddress = sec.AddParagraph(); paraSchoolAddress.Format.Font.Size = 14; paraSchoolAddress.Format.Alignment = MigraModel.ParagraphAlignment.Center; string addrs = "Vill. & P.O. Sujapur, Dist. Malda, 732206"; paraSchoolAddress.AddText(addrs); MigraModel.Paragraph paraSchoolMeta = sec.AddParagraph(); paraSchoolMeta.Format.Font.Size = 10; paraSchoolMeta.Format.Alignment = MigraModel.ParagraphAlignment.Center; string meta = "INDEX NO. - R1-110, CONTACT NO. - 03512-246525"; paraSchoolMeta.AddFormattedText(meta, MigraModel.TextFormat.NotBold); MigraModel.Paragraph paraAdmissionMeta = sec.AddParagraph(); paraAdmissionMeta.Format.Font.Size = 10; paraAdmissionMeta.Format.Alignment = MigraModel.ParagraphAlignment.Right; string admYr = (admYear != 0) ? admYear.ToString() : "0000"; string ameta = "Admission Sl. " + admNo + " of " + admYr; paraAdmissionMeta.AddFormattedText(ameta, MigraModel.TextFormat.Bold); MigraModel.Paragraph paraCertificateType = sec.AddParagraph(); paraCertificateType.Format.Font.Size = 18; paraCertificateType.Format.Alignment = MigraModel.ParagraphAlignment.Center; paraCertificateType.AddLineBreak(); string ctype = "CHARACTER CERTIFICATE"; paraCertificateType.AddFormattedText(ctype, MigraModel.TextFormat.NotBold); MigraModel.Paragraph para_a = sec.AddParagraph(); para_a.Format.Font.Name = "Lucida Handwriting"; para_a.Format.Font.Size = 16; para_a.Format.Font.Color = MigraModel.Colors.DarkBlue; para_a.Format.Alignment = MigraModel.ParagraphAlignment.Justify; para_a.AddLineBreak(); para_a.AddLineBreak(); para_a.AddLineBreak(); para_a.AddLineBreak(); para_a.AddTab(); string para_aText, para_aTextb, paraTextc, paraTextd, stdName; para_aText = CertificateData[0].Trim(); para_aTextb = CertificateData[1].Trim(); paraTextc = CertificateData[2].Trim(); paraTextd = CertificateData[3].Trim(); stdName = CertificateData[4].Trim(); para_a.AddText(para_aText); MigraModel.Paragraph para_b = sec.AddParagraph(); para_b.Format.Font.Name = "Lucida Handwriting"; para_b.Format.Font.Size = 16; para_b.Format.Font.Color = MigraModel.Colors.DarkBlue; para_b.Format.Alignment = MigraModel.ParagraphAlignment.Justify; para_b.AddLineBreak(); para_b.AddTab(); para_b.AddText(para_aTextb); MigraModel.Paragraph para_c = sec.AddParagraph(); para_c.Format.Font.Name = "Lucida Handwriting"; para_c.Format.Font.Size = 16; para_c.Format.Font.Color = MigraModel.Colors.DarkBlue; para_c.Format.Alignment = MigraModel.ParagraphAlignment.Justify; para_c.AddLineBreak(); para_c.AddTab(); para_c.AddText(paraTextc); MigraModel.Paragraph para_d = sec.AddParagraph(); para_d.Format.Font.Name = "Lucida Handwriting"; para_d.Format.Font.Size = 16; para_d.Format.Font.Color = MigraModel.Colors.DarkBlue; para_d.Format.Alignment = MigraModel.ParagraphAlignment.Justify; para_d.AddLineBreak(); para_d.AddTab(); para_d.AddText(paraTextd); MigraDoc.DocumentObjectModel.Shapes.TextFrame tframeHMaster = sec.AddTextFrame(); MigraModel.Paragraph paraHMaster = tframeHMaster.AddParagraph(); paraHMaster.Format.Font.Size = "14"; paraHMaster.Format.Alignment = MigraModel.ParagraphAlignment.Center; string txt1 = "Headmaster"; string txt2 = "Naimuza High School"; string txt3 = "Sujapur, Malda"; paraHMaster.AddText(txt1); paraHMaster.AddLineBreak(); paraHMaster.AddText(txt2); paraHMaster.AddLineBreak(); paraHMaster.AddText(txt3); tframeHMaster.Width = "6cm"; tframeHMaster.Left = "10cm"; tframeHMaster.Top = "19cm"; tframeHMaster.RelativeVertical = MigraModel.Shapes.RelativeVertical.Page; tframeHMaster.RelativeHorizontal = MigraModel.Shapes.RelativeHorizontal.Margin; MigraDoc.Rendering.PdfDocumentRenderer docRend = new MigraDoc.Rendering.PdfDocumentRenderer(false); docRend.Document = doc; try { docRend.RenderDocument(); } catch (Exception e) { System.Windows.MessageBox.Show(e.Message); return; } string fname = "CHR_" + stdName + DateTime.Now.ToString("yyyy-MM-dd HHmmss") + ".pdf"; string pathString = Path.Combine(containerfolder, fname); docRend.PdfDocument.Save(pathString); System.Diagnostics.ProcessStartInfo processInfo = new System.Diagnostics.ProcessStartInfo(); processInfo.FileName = pathString; System.Diagnostics.Process.Start(processInfo); } }