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();
        }
示例#4
0
        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);
            }
        }