示例#1
0
        /// <summary>
        /// 添加分页
        /// </summary>
        public void AddPageing(Microsoft.Office.Interop.Word._Document odoc, object bookmark, ref Microsoft.Office.Interop.Word.Range wrdRng, int spaceafter)
        {
            object oPos;
            double dPos = oWord.InchesToPoints(7);

            do
            {
                wrdRng = oDoc.Bookmarks.get_Item(ref bookmark).Range;
                wrdRng.ParagraphFormat.SpaceAfter = spaceafter;
                wrdRng.InsertParagraphAfter();
                oPos = wrdRng.get_Information
                           (Microsoft.Office.Interop.Word.WdInformation.wdVerticalPositionRelativeToPage);
            }while (dPos >= Convert.ToDouble(oPos));

            object oCollapseEnd = Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd;
            object oPageBreak   = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;

            wrdRng.Collapse(ref oCollapseEnd);
            wrdRng.InsertBreak(ref oPageBreak);
            wrdRng.Collapse(ref oCollapseEnd);
            wrdRng.InsertParagraphAfter();
        }
示例#2
0
        private void btnGenerateCV_Click(object sender, RoutedEventArgs e)
        {
            Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();

            word.Documents.Add();
            word.Visible       = false;
            word.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;
            Microsoft.Office.Interop.Word.Document doc = word.ActiveDocument;


            Microsoft.Office.Interop.Word.Paragraph paragraph = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Kamal Ashraf";
            paragraph.Range.Font.Size = 22;
            paragraph.Range.Font.Bold = 1;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Range.InsertParagraphAfter();


            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Gujrat, Pakistan";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();



            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "CNIC:\t\t\t\t31001-1234567-1";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();


            string textToFind = "CNIC:";

            Microsoft.Office.Interop.Word.Range range;
            Microsoft.Office.Interop.Word.Range textFormat;

            range = doc.Range();
            range.Find.Execute(textToFind);
            object start = range.Start;
            object end   = range.Start + textToFind.Length + 1;

            textFormat           = doc.Range(ref start, ref end);
            textFormat.Font.Bold = 1;


            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Date of birth:\t\t\t12th November 1992";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();

            textToFind = "Date of birth:";
            range      = doc.Range();
            range.Find.Execute(textToFind);
            start                = range.Start;
            end                  = range.Start + textToFind.Length + 1;
            textFormat           = doc.Range(ref start, ref end);
            textFormat.Font.Bold = 1;

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Email address:\t\t" + "*****@*****.**";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();

            textToFind = "Email address:";
            range      = doc.Range();
            range.Find.Execute(textToFind);
            start                = range.Start;
            end                  = range.Start + textToFind.Length + 1;
            textFormat           = doc.Range(ref start, ref end);
            textFormat           = doc.Range(ref start, ref end);
            textFormat.Font.Bold = 1;

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Mobile number:\t\t+92-300-1234567";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();

            textToFind = "Mobile number:";
            range      = doc.Range();
            range.Find.Execute(textToFind);
            start                = range.Start;
            end                  = range.Start + textToFind.Length + 1;
            textFormat           = doc.Range(ref start, ref end);
            textFormat           = doc.Range(ref start, ref end);
            textFormat.Font.Bold = 1;

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Landline number:\t\t+92-55-66777";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.InsertParagraphAfter();

            textToFind = "Landline number:";
            range      = doc.Range();
            range.Find.Execute(textToFind);
            start                = range.Start;
            end                  = range.Start + textToFind.Length + 1;
            textFormat           = doc.Range(ref start, ref end);
            textFormat           = doc.Range(ref start, ref end);
            textFormat.Font.Bold = 1;


            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "About me";
            paragraph.Range.Font.Size = 18;
            paragraph.Range.Font.Bold = 1;
            paragraph.Range.Font.Name = "Calibri";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorLightBlue;


            paragraph.Range.InsertParagraphAfter();

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "I am able to handle multiple tasks on a daily basis. I use a creative approach to problem solve. I am a dependable person who is great at time management. I am always energetic and eager to learn new skills. I am flexible in my working hours, being able to work evenings and weekends. I am hardworking and always the last to leave the office in the evening.";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
            paragraph.Range.InsertParagraphAfter();


            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Qualification";
            paragraph.Range.Font.Size = 18;
            paragraph.Range.Font.Bold = 1;
            paragraph.Range.Font.Name = "Calibri";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorLightBlue;
            paragraph.Range.InsertParagraphAfter();


            List <string> qualificationList = new List <string>();

            qualificationList.Add("MPhill: 3.0/4.0 CGPA");
            qualificationList.Add("MSc: 70% marks");
            qualificationList.Add("BSc: 65% marks");
            qualificationList.Add("Inter: 70% marks");
            qualificationList.Add("Matriculation: 75% marks");

            object oEndOfDoc = "\\endofdoc";

            Microsoft.Office.Interop.Word.Range wrdRng = doc.Bookmarks.get_Item(ref oEndOfDoc).Range;
            paragraph.Shading.ForegroundPatternColor = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;


            paragraph = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";

            paragraph.Range.ListFormat.ApplyBulletDefault();

            for (int i = 0; i < qualificationList.Count; i++)
            {
                string bulletItem = qualificationList[i];
                if (i < qualificationList.Count - 1)
                {
                    bulletItem = bulletItem + "\n";
                }
                paragraph.Range.Font.Bold = 0;
                paragraph.Range.InsertBefore(bulletItem);
            }


            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Experience";
            paragraph.Range.Font.Size = 18;
            paragraph.Range.Font.Bold = 1;
            paragraph.Range.Font.Name = "Calibri";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorLightBlue;
            paragraph.Range.InsertParagraphAfter();

            List <string> experienceList = new List <string>();

            experienceList.Add("Worked in Company A: 2014 to 2015");
            experienceList.Add("Worked in Company B: 2015 to 2016");
            experienceList.Add("Worked in Company C: 2016 to 2017");
            experienceList.Add("Worked in Company D: 2017 to 2018");
            experienceList.Add("Worked in Company E: 2018 to 2019");

            oEndOfDoc = "\\endofdoc";



            paragraph = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphLeft;
            paragraph.Range.Font.Name = "Times New Roman (Headings CS)";
            paragraph.Shading.ForegroundPatternColor = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;

            paragraph.Range.ListFormat.ApplyBulletDefault();

            for (int i = 0; i < experienceList.Count; i++)
            {
                string bulletItem = experienceList[i];
                if (i < experienceList.Count - 1)
                {
                    bulletItem = bulletItem + "\n";
                }
                paragraph.Range.Font.Bold = 0;
                paragraph.Range.InsertBefore(bulletItem);
            }

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Interests";
            paragraph.Range.Font.Size = 18;
            paragraph.Range.Font.Bold = 1;
            paragraph.Range.Font.Name = "Calibri";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorLightBlue;
            paragraph.Range.InsertParagraphAfter();

            paragraph                 = doc.Content.Paragraphs.Add(System.Reflection.Missing.Value);
            paragraph.Range.Text      = "Playing video games and cricket";
            paragraph.Range.Font.Size = 12;
            paragraph.Range.Font.Bold = 0;
            paragraph.Range.Font.Name = "Calibri";
            paragraph.Range.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;
            paragraph.Shading.ForegroundPatternColor  = Microsoft.Office.Interop.Word.WdColor.wdColorWhite;
            paragraph.Range.InsertParagraphAfter();


            string imagePath = System.AppDomain.CurrentDomain.BaseDirectory + "../../../person.png";

            Microsoft.Office.Interop.Word.InlineShape inlineShape = doc.InlineShapes.AddPicture(imagePath, Type.Missing, Type.Missing, Type.Missing);
            Microsoft.Office.Interop.Word.Shape       shape       = inlineShape.ConvertToShape();
            shape.HeightRelative  = 10f;
            shape.WidthRelative   = 18f;
            shape.Left            = (float)Microsoft.Office.Interop.Word.WdShapePosition.wdShapeRight;
            shape.Top             = 40F;
            shape.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;


            foreach (Microsoft.Office.Interop.Word.Section wordSection in doc.Sections)
            {
                Microsoft.Office.Interop.Word.Range footerRange = wordSection.Footers[Microsoft.Office.Interop.Word.WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
                footerRange.Collapse(Microsoft.Office.Interop.Word.WdCollapseDirection.wdCollapseEnd);

                footerRange.Fields.Add(footerRange, Microsoft.Office.Interop.Word.WdFieldType.wdFieldNumPages);
                Microsoft.Office.Interop.Word.Paragraph p4 = footerRange.Paragraphs.Add();
                p4.Range.Text = " of ";
                footerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;

                footerRange.Fields.Add(footerRange, Microsoft.Office.Interop.Word.WdFieldType.wdFieldPage);
                Microsoft.Office.Interop.Word.Paragraph p1 = footerRange.Paragraphs.Add();
                p1.Range.Text = "Page ";
                footerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;

                footerRange.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;
            }



            Microsoft.Win32.SaveFileDialog dialogBox = new Microsoft.Win32.SaveFileDialog();
            dialogBox.Title      = "Choose destination to save file";
            dialogBox.DefaultExt = ".pdf";
            dialogBox.Filter     = "Word documents (.docx)|*.docx|PDF documents (.pdf)|*.pdf";
            bool?result = dialogBox.ShowDialog();

            if (result == true)
            {
                string fileName = dialogBox.FileName;
                if (fileName.EndsWith(".docx"))
                {
                    doc.SaveAs(fileName);
                }
                else if (fileName.EndsWith(".pdf"))
                {
                    doc.ExportAsFixedFormat(fileName, Microsoft.Office.Interop.Word.WdExportFormat.wdExportFormatPDF);
                }
                MessageBox.Show("File \"" + fileName + "\"" + " saved.", "Success");
            }

            doc.Close(0);
            word.Quit();
            Marshal.ReleaseComObject(doc);
        }