Exemple #1
0
        public void InsertFistDefaultHeaders()
        {
            using (var memStream = new MemoryStream())
            {
                var byteArray = File.ReadAllBytes(TemplateHFPath);
                memStream.Write(byteArray, 0, byteArray.Length);
                using (var doc = WordprocessingDocument.Open(memStream, true, new OpenSettings {
                    AutoSave = false
                }))
                //using (var doc = WordprocessingDocument.Open(TemplateHFPath, true, new OpenSettings { AutoSave = true }))

                {
                    var headers        = new WordDocumentHeaders(doc);
                    var pageEnumerator = new WordDocumentPageEnumerator();

                    headers.Create((int)HeadersFootersType.FirstDefault);
                    var fh = headers.Item(1);
                    fh.XmlElement.Append(new Paragraph(new Run(new Text {
                        Text = "First"
                    })));
                    var printHeader = (IPrintObject)headers.Item(2);
                    pageEnumerator.CopyTo(printHeader);
                    var block = headers.Item(2).XmlElement.GetFirstChild <SdtBlock>();
                    var para  = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>();

                    Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE");
                }
            }
        }
Exemple #2
0
        public void InsertHeadersWhenExistsFooters()
        {
            using (var doc = WordprocessingDocument.Open(TemplatePFPath, true, new OpenSettings {
                AutoSave = false
            }))
            {
                var headers        = new WordDocumentHeaders(doc);
                var pageEnumerator = new WordDocumentPageEnumerator();
                var footers        = new WordDocumentFooters(doc);
                var footerTable    = footers.Item(1).Tables.Item(1);
                footerTable.Cell(1, 1).Text = "составил";
                footerTable.Cell(1, 2).Text = "продукт";

                Assert.AreEqual(footerTable.Cell(1, 1).Text, "составил");

                headers.Create((int)HeadersFootersType.FirstDefault);
                var fh = headers.ItemByType((int)HeaderFooterValues.First);
                fh.XmlElement.Append(new Paragraph(new Run(new Text {
                    Text = "First"
                })));
                var printHeader = (IPrintObject)headers.ItemByType((int)HeaderFooterValues.Default);
                pageEnumerator.CopyTo(printHeader);
                var block = printHeader.XmlElement.GetFirstChild <SdtBlock>();
                var para  = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>();

                Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE");
            }
        }
Exemple #3
0
        public void InsertPageEnumerator()
        {
            using (var memStream = new MemoryStream())
            {
                var byteArray = File.ReadAllBytes(TemplatePath);
                memStream.Write(byteArray, 0, byteArray.Length);
                using (var doc = WordprocessingDocument.Open(memStream, true, new OpenSettings {
                    AutoSave = false
                }))
                // using (var doc = WordprocessingDocument.Open(TemplatePath, true, new OpenSettings { AutoSave = true }))
                {
                    var headers        = new WordDocumentHeaders(doc);
                    var pageEnumerator = new WordDocumentPageEnumerator();
                    var cnt            = headers.Count;

                    Assert.AreEqual(cnt, 0);

                    headers.Create((int)HeadersFootersType.Default);
                    cnt = headers.Count;

                    Assert.AreNotEqual(cnt, 0);

                    for (var i = 1; i <= cnt; i++)
                    {
                        var printHeader = (IPrintObject)headers.Item(i);
                        pageEnumerator.CopyTo(printHeader);
                        var block = headers.Item(i).XmlElement.GetFirstChild <SdtBlock>();
                        var para  = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>();

                        Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE");
                    }
                }
            }
        }
Exemple #4
0
 public override void ProcessDocument()
 {
     CheckForInitialization();
     Doc            = WordprocessingDocument.Open(MemStream, true);
     InnerDoc       = (WordprocessingDocument)Doc;
     Bookmarks      = new WordDocumentBookmarks(this);
     Tables         = new WordDocumentTables(this);
     Footers        = new WordDocumentFooters(this);
     Headers        = new WordDocumentHeaders(this);
     PageEnumerator = new WordDocumentPageEnumerator();
 }
Exemple #5
0
        public void InsertPageEnumerator()
        {
            using (var doc = WordprocessingDocument.Open(TemplatePath, true, new OpenSettings {
                AutoSave = false
            }))
            {
                var footers        = new WordDocumentFooters(doc);
                var pageEnumerator = new WordDocumentPageEnumerator();

                Assert.AreNotEqual(footers.Count, 0);

                for (var i = 1; i <= footers.Count; i++)
                {
                    var printFooter = (IPrintObject)footers.Item(i);

                    pageEnumerator.CopyTo(printFooter);
                    var block = footers.Item(i).XmlElement.GetFirstChild <SdtBlock>();
                    var para  = block.GetFirstChild <SdtContentBlock>().GetFirstChild <Paragraph>();

                    Assert.AreEqual(para.ChildElements[3].FirstChild.InnerText, "PAGE");
                }
            }
        }